ftplinux設置
/etc/init.d/vsftpd start/stop/restart 這樣弄
2. linux中ftp怎麼搭建
1. 為了系統安全,一般會建立一個ftp用戶,此用戶不能登陸系統,且只能訪問自己主目錄下的文件。
useradd -d /var/ftp/test -g ftp -s /sbin/nologin ftpuser
其中,-d命令是指定用戶主目錄,-g是指定用戶分組,-s /sbin/nologin 是禁止用戶登陸系統,最後ftpuser是本次新建用戶的用戶名。
然後設置密碼:passwd fptuser
2. 配置用戶可登陸名單,並將新建用戶添加進入ftp可登陸名單中。
配置用戶名單的方式是:打開配置文件,找到如下兩行行,去掉其注釋符號。
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
這樣就定義了一個用戶名單,只有名單中的用戶可以登陸系統。
3. 創建這個/etc/vsftpd/chroot_list 文件,將可以訪問的用戶名 ftpuser 添加進去。然後重啟ftp服務即可。
操作解釋:
-d /var/ftp/test ---------------------------------- 遠程機器訪問這台ftp伺服器的根目錄,文件列表與這個目錄一致。
useradd/passwd --------------------------------- 本地的用戶名和密碼
/etc/vsftpd/chroot_list --------------------------- 將本地用戶名XX作為ftp用戶名
3. linux怎麼配置ftp伺服器
一. FTP 說明
linux 系統下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 還有一個是proftp(Profession ftp)。 我們這里也是簡單的說明下vsftp的配置。
vsftp提供3種遠程的登錄方式:
(1)匿名登錄方式
就是不需要用戶名,密碼。就能登錄到伺服器電腦裡面
(2)本地用戶方式
需要帳戶名和密碼才能登錄。而且,這個帳戶名和密碼,都是在你linux系統裡面,已經有的用戶。
(3)虛擬用戶方式
同樣需要用戶名和密碼才能登錄。但是和上面的區別就是,這個用戶名和密碼,在你linux系統中是沒有的(沒有該用戶帳號)
二. Vsftp的安裝配置
2.1 安裝
vsftp 的安裝包,可以在安裝里找到。 用yum 安裝過程也很簡單。
安裝命令:yum install vsftpd
2.2. 相關命令
2.2.1 啟動與關閉
[root@singledb ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@singledb ~]# service vsftpd stop
Shutting down vsftpd: [ OK ]
[root@singledb ~]# service vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [ OK ]
[root@singledb ~]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd: [FAILED]
[root@singledb ~]# /etc/init.d/vsftpd stop
Shutting down vsftpd: [ OK ]
[root@singledb ~]# /etc/init.d/vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [ OK ]
[root@singledb ~]# /etc/init.d/vsftpd status
vsftpd (pid 3931) is running...
[root@singledb ~]#
2.2.2. 其他命令
--查看vsftpd 啟動狀態
[root@singledb ~]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@singledb ~]# chkconfig vsftpd on
[root@singledb ~]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
這里看到,默認情況下從2到5設置為on了。2到5是多用戶級別。 這個對應的是linux不同的運行級別。
我們也可以加level 選項來指定:
[root@singledb ~]# chkconfig --level 0 vsftpd on
[root@singledb ~]# chkconfig --list vsftpd
vsftpd 0:on 1:off 2:on 3:on 4:on 5:on 6:off
我們看到0已經設置為on了。
我們可以使用man chkconfig 來查看幫助:
--level levels
Specifies the run levels an operation should pertain to. It is given as a string of numbers from 0 to 7. For example, --level 35 specifies runlevels 3 and 5.
傳統的init 定義了7個運行級(run level),每一個級別都代表系統應該補充運行的某些特定服務:
(1)0級是完全關閉系統的級別
(2)1級或者S級代表單用戶模式
(3)2-5 級 是多用戶級別
(4)6級 是 重新引導的級別
(1)查看防火牆
我一般都是把系統的防火牆關閉了。 因為開了會有很多限制。
[root@singledb ~]# /etc/init.d/iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
3 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED
2 ACCEPT all -- 192.168.122.0/24 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
You have new mail in /var/spool/mail/root
--添加開放21號埠:
[root@singledb ~]# /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
[root@singledb ~]# /etc/init.d/iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
2 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67
5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED
2 ACCEPT all -- 192.168.122.0/24 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
--保存配置
[root@singledb ~]# /etc/rc.d/init.d/iptables save
Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
--重啟防火牆:
[root@singledb ~]# service iptables {start|stop|restart}
(2)查看關閉selinux
[root@singledb ~]# sestatus
SELinux status: disabled
我這里在安裝操作系統的時候就關閉了selinux,如果沒有關閉,可以修改如下文件來關閉:
[root@singledb ~]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
[root@singledb ~]#
保存退出並重啟系統reboot
三. FTP配置文件
FTP 安裝好之後,在/etc/vsftpd/目錄下會有如下文件:
[root@singledb ~]# cd /etc/vsftpd/
[root@singledb vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@singledb vsftpd]#
vsftpd.conf: 主配置文件
ftpusers: 指定哪些用戶不能訪問FTP伺服器
user_list: 指定的用戶是否可以訪問ftp伺服器由vsftpd.conf文件中的userlist_deny的取值來決定。
[root@singledb vsftpd]# cat user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
我們過濾掉#的注釋後,查看一下vsftpd.conf 文件:
[root@singledb ftp]# cat /etc/vsftpd/vsftpd.conf |grep -v '^#';
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=yes
tcp_wrappers=YES
至於這些參數的意思,在注釋里有詳細的說明。
我們可以在vsftpd.conf 文件設置如下參數:
(1)ftpd_banner=welcome to ftp service :設置連接伺服器後的歡迎信息
(2)idle_session_timeout=60 :限制遠程的客戶機連接後,所建立的控制連接,在多長時間沒有做任何的操作就會中斷(秒)
(3)data_connection_timeout=120 :設置客戶機在進行數據傳輸時,設置空閑的數據中斷時間
(4)accept_timeout=60 設置在多長時間後自動建立連接
(5)connect_timeout=60 設置數據連接的最大激活時間,多長時間斷開,為別人所使用;
(6)max_clients=200 指明伺服器總的客戶並發連接數為200
(7)max_per_ip=3 指明每個客戶機的最大連接數為3
(8)local_max_rate=50000(50kbytes/sec) 本地用戶最大傳輸速率限制
(9)anon_max_rate=30000匿名用戶的最大傳輸速率限制
(10)pasv_min_port=埠
(11)pasv-max-prot=埠號 定義最大與最小埠,為0表示任意埠;為客戶端連接指明埠;
(12)listen_address=IP地址 設置ftp服務來監聽的地址,客戶端可以用哪個地址來連接;
(13)listen_port=埠號 設置FTP工作的埠號,默認的為21
(14)chroot_local_user=YES 設置所有的本地用戶可以chroot
(15)chroot_local_user=NO 設置指定用戶能夠chroot
(16)chroot_list_enable=YES
(17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用戶才能執行 )
(18)local_root=path 無論哪個用戶都能登錄的用戶,定義登錄帳號的主目錄, 若沒有指定,則每一個用戶則進入到個人用戶主目錄;
(19)chroot_local_user=yes/no 是否鎖定本地系統帳號用戶主目錄(所有);鎖定後,用戶只能訪問用戶的主目錄/home/user,不能利用cd命令向上轉;只能向下;
(20)chroot_list_enable=yes/no 鎖定指定文件中用戶的主目錄(部分),文件:/chroot_list_file=path 中指定;
(21)userlist_enable=YES/NO 是否載入用戶列表文件;
(22)userlist_deny=YES 表示上面所載入的用戶是否允許拒絕登錄;
(23)userlist_file=/etc/vsftpd/user_list 列表文件
限制IP 訪問FTP:
#vi /etc/hosts.allow
vsftpd:192.168.5.128:DENY 設置該IP地址不可以訪問ftp服務
FTP 訪問時間限制:
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
#vi /etc/xinetd.d/vsftpd/
修改 disable = no
access_time = hour:min-hour:min (添加配置訪問的時間限制(註:與vsftpd.conf中listen=NO相對應)
例: access_time = 8:30-11:30 17:30-21:30 表示只有這兩個時間段可以訪問ftp
ftp的配置基本上只有這些了。
默認情況下,ftp根目錄是/var/ftp。 如果要修改這個目錄位置,可以更改/etc/passwd 文件:
[root@singledb ftp]# cat /etc/passwd | grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
創建一個用戶來訪問FTP,並指定該用戶的FTP 目錄:
[root@singledb u02]# useradd -d /u02/qsftp qs
[root@singledb u02]# passwd qs
Changing password for user qs.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
這里指定的是/u02/qsftp 這個目錄,要注意個目錄的許可權。
更改用戶不能telnet,只能ftp:
usermod -s /sbin/nologin username //用戶只能ftp,不能telnet
usermod -s /sbin/bash username //用戶恢復正常
禁止用戶ssh登陸
useradd username -s /bin/false
更改用戶主目錄:
usermod -d /bbb username //把用戶的主目錄定為/bbb
然後用qs這個用戶就可以訪問了。
以上只是一些簡單的設置。 在用戶許可權這塊還有很多內容可以研究。 比如特定用戶的特定許可權。 安全性等。 以後在研究了。
4. linux ftp 怎麼配置
下面是在虛擬機中的linux的ftp的基本配置(redhat AS 4.0為例): 首先要安裝linux下的vsftp軟體包。 rpm -qa|gerp vsftpd //查找vsftpd有沒有安裝 如果沒有安裝就 vsftpd-2.0.1-5.i386.rpm (在第一張光碟) 在linux中有一個非常重要的一點就是要掛載光碟機 mount /media/cdrom 在這里我們就不用源代碼安裝了。用的是rpm安裝 #rpm -ivh vsftpd-2.0.1-5.i386.rpm 這里就安裝好了。 service vsftpd start 啟動vsftpd服務 如果在不設置任何的情況下,可以以匿名的方式訪問該ftp。 注.如果訪問不了的時候請大家要把linux的防火牆也要關閉: iptables -F 清除防火牆 在安裝好ftp會產生幾個文件: /etc/vsftpd/vsftpd.conf 主配置文件 /etc/vsftpd.ftpusers 指定哪些用戶不能訪問FTP伺服器 /etc/vsftpd.user_list 文件中指定的用戶是否可以訪問ftp伺服器由vsftpd.conf文件中的userlist_deny的取值來決定。 這幾個文件就是整個ftp控制和禁止用戶的許可權配置。。。 下面我們就來設置一個vsftpd的核心文件 # cd /etc/vsftpd/vsftpd.conf 這就是vsftpd的核心配置文件 anonymous_enable=YES/no 是否允許匿名用戶登錄 anonymous_enable=yes/no 是否允許匿名上傳文件 local_enable= YES/no 是否允許本地用戶登錄 write_enable= YES/no 是否允許本地用戶上傳 guest_enable=yes/no 是否允許虛擬用戶登錄; local_mask=022 設置本地用戶的文件生成掩碼為022,默認值為077 dirmessage_enable= YES 設置切換到目錄時顯示.message隱含文件的內容 xferlog_enable= YES 激活上傳和下載日誌 connect_from_port_20=YES 啟用FTP數據埠連接 pam_service_name=vsftpd 設置PAM認證服務的配置文件名稱, 該文件存放在/etc/pam.d目錄下 userlist_enable= YES 允許vsftpd.user_list文件中的用戶訪問伺服器 userlist_deny= YES 拒絕vsftpd.user_list文件中的用戶訪問伺服器 listen= YES/no 是否使用獨占啟動方式(這一項比較重要) tcp_wrappers= YES/no 是否使用tcp_wrappers作為主機訪問控制方式 最主要的就是這些設置了。(這是一般都是默認的不是太懂的不要動) 。《Linux就該這么學》里有相關介紹,建議看看。
5. Linux如何配置ftp
第一個問題:
用root用戶建立一個用戶,比如user1 ,讓user1對/tools有完全控制許可權,其他用戶什麼都不行,執行下列命令:
1.1 chown user:user1 /tools 先讓/tools這個目錄屬於user1用戶
1.2 chmod 700 /tools 因為第一個命令的作用,所以這個命令就是說只讓user1用戶對此目錄擁有完全控制許可權。
(關於許可權,可以參考http://..com/question/244122551.html?oldq=1)
第二個問題:
首先建立一個用戶,並制定一個宿主目錄,這個目錄將作為這個用戶的ftp訪問站點。
useradd -d /tools -s /sbin/nologin user1 為user1指定他的訪問站點,並且不能本地登錄系統,但是不影響登錄ftp.
編輯/etc/vsftpd/vsftpd.conf,最後一行添加:
chroot_local_user=YES 把本地用戶禁錮到自己的訪問站點。
在此例中,user1隻能訪問/ftpsite,即使登陸後執行了切換目錄的命令,但是卻會發現,還是在/ftpsite中。
求採納為滿意回答。
6. linux系統中怎樣配置ftp
Linux下配置VSftp伺服器步驟一、檢查是否安裝了vsftpd, rpm -qa |grep vsftp
Linux下配置VSftp伺服器步驟二、新建用戶
useradd test -g root -d /mpeg -s /sbin/nologin #該用戶僅用來支持FTP服務,因此不必讓他登錄系統
註:改變用戶的shell命令為usermod -s /sbin/nologin coship
Linux下配置VSftp伺服器步驟三、設置密碼
passwd test # 連續輸入兩次密碼
Linux下配置VSftp伺服器步驟四、修改SELinux參數
setsebool ftpd_disable_trans 1
service vsftpd restart
說明:如果不修改,連接時會提示
500 OOPS: cannot change directory:/mpeg
500 OOPS: child died
Linux下配置VSftp伺服器步驟五、修改/mpeg許可權
chmod 775 /mpeg
Linux下配置VSftp伺服器步驟六、設置/etc/vsftpd/vsftpd.conf
將anonymous_enable=NO,這樣可以限制匿名用戶登錄。
local_enable=YES #啟用本地用戶登錄
write_enable=YES #設置可以進行寫操作
local_umask=022 #設定上傳後文件的許可權掩碼
userlist_enable=YES #啟用用戶登錄控制
local_root=/mpeg (路徑自定義)#定義所有本地用戶的根目錄。當本地用戶登入時,將被更換到此目錄下。(注釋則訪問該用戶自己目錄)
否則訪問其它目錄時會提示:550 Failed to change directory.
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #指出被鎖定在自家目錄中的用戶的列表文件。文件格式為一行一用戶。
注意:
當chroot_local_user=NO、chroot_list_enable=YES時,chroot_list中用戶為鎖定用戶,即他們除了自己的目錄,不可以訪問其他目錄。
當chroot_local_user=YES、chroot_list_enable=YES時,chroot_list中用戶為非鎖定用戶,他們可以訪問任何其他目錄。
Linux下配置VSftp伺服器步驟七、設置vsftpd自動啟動
chkconfig vsftpd on 或
運行ntsysv將vsftpd選上 或
echo "/usr/local/sbin/vsftpd &" >>/etc/rc.local
Linux下配置VSftp伺服器步驟八、如果出現不能訪問的現象可以將防火牆和SELinux停用
1、service iptables stop
2、編輯/etc/selinux/config將SELINUX設為disabled,即SELINUX=disabled
或終端里運行system-config-securitylevel-tui
或點擊「system"->"administration"->"security level and firewall對防火牆和SELinux進行設置
7. linux配置ftp伺服器的過程
第一步:打開終端(快捷鍵是Ctrl+Alt+t),如果當前用戶不是root用戶,請輸入命令「su」,然後輸入root賬戶密碼即可;
第二步:輸入命令「apt-get update」,這一步是為了更新下載的數據源,如果不更新可能造成有幾個後面的軟體包無法下載;
第三步:輸入命令「apt-get install vsftpd」完成安裝vsftpd;
第四步:判斷vsftp是否安裝成功,輸入命令「service vsftpd restart」重啟vsftpd服務,如果他在運行狀態說明安裝成功;
第五步:新建「/home/uftp」目錄作為用戶主目錄,輸入命令「mkdir /home/uftp」回車 ,然後輸入命令「ls /home」查看home目錄下有uftp這個目錄嗎,如果有就是創建成功;
第六步:新建用戶uftp並且設置密碼,輸入命令「useradd -d /home/uftp -s /bin/bash uftp」
回車,然後再輸入命令「passwd uftp」回車,然後輸入兩次密碼就設置ok了
第七步:使用vi修改配置文件/etc/vsftpd.conf,輸入命令「vi /etc/vsftpd.conf」回車,
向文件中添加「userlist_deny=NO」」userlist_enable=YES」?, 「userlist_file=/etc/allowed_users」?,
「seccomp_sandbox=NO」,最後把文件中的「local_enable=YES」保存(如果提示無法保存,直接退出來,把讀寫和執行許可權給這個文件,具體操作為:輸入命令: 「chmod 777 /etc/vsftpd.conf」回車就可以了);
第八步:新建文件/etc/allowed_users,輸入命令「vi /etc/allowed_users」,打開後再這個文件內寫入「uftp」保存即可;《Linux就該這么學》
第九步:查看/etc/ftpusers文件(不能訪問ftp服務用戶清單)的內容,輸入命令「vi /etc/ftpusers」回車,如果裡面有uftp,就把他刪除;
第十步:安裝winscp軟體,進行遠程登錄訪問;下載直接在網路下載就行