標籤:
環境:CentOS6.3
ftp的三種使用者模式
匿名使用者:vsftp預設開啟匿名使用者,但只允許下載不允許上傳;匿名使用者anonymous或ftp;匿名使用者目錄/var/ftp,但實際上vsftp對匿名使用者做了chroot
本機使用者:vsftp預設開啟本機使用者登入;本機使用者登入目錄是其主目錄,可以隨意切換目錄(可通過local_root=指定登入目錄);一般通過系統許可權控制使用者訪問
虛擬使用者:需要手工配置,通過本地檔案或資料庫將ftp虛擬使用者映射為一個系統使用者,通過對此系統使用者的控制實現更高的安全性
安裝
yum install vsftpd
vsftp的主設定檔:/etc/vsftpd/vsftpd.conf
啟動vsftp
service vsftpd start
開啟防火牆
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
service iptables restart
修改SELinux //解決本機使用者登入出現500錯誤問題(無法進入使用者主目錄)
setsebool –P ftp_home_dir 1
setsebool –P allow_ftpd_full_access 1
或關閉SELinux
vi /etc/sysconfig/selinux
SELINUX=enforcing改為disable
啟用自啟動
chkconfig --level 35 vsftpd on
常用配置
anonymous_enable=YES //預設開啟了匿名使用者,請注意如果想要關閉匿名使用者,不是簡單的注釋掉此選項(因為預設匿名使用者開啟),而是指定選項值為NO(anonymous_enable=NO)
ftpd_banner= //登入banner,預設未開
xferlog_enable=YES //開啟日誌,預設開啟
xferlog_file=/var/log/xferlog //日誌路徑,預設未開
xferlog_std_format=YES //日誌格式,預設開啟
anon_max_rate=100000 //匿名使用者最大傳輸速率,預設不存在
local_max_rate=1000000 //本機使用者最大傳輸速率,預設不存在
max_clients=xx //伺服器最大並發串連數
max_per_ip=x //每IP最大串連數
pasv_enable=NO //關閉被動模式,用以解決ftp工具和windows串連無法list問題(我並不想在防火牆上開放過多的連接埠提供用戶端的被動串連,如果必須採用被動模式,請參考小僧的部落格文章。需要注意的是採用被動模式時,windows串連時需要把internet option---advaneced--use passive mode取消勾選,否則windows預設採用被動模式串連;一般用戶端工具串連時能夠自動判斷,不需要過多配置)
cmds_allowed=ABOR,CWD,LIST,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SITE,SIZE,STOR,TYPE,USER,CDUP,APPE,MDTM //此選項用以指定可以使用的FTP互動命令,我去掉了DELE(刪除)用以限制使用者刪除遠程檔案,具體命令參數請參http://www.nsftools.com/tips/RawFTP.htm
使用者存取控制
1.指定使用者禁止訪問,其他使用者允許訪問
userlist_enable=YES
userlist_file=/etc/vsftpd/vsftpd.userlist
userlist_deny=YES
2.指定使用者允許訪問,其他使用者禁止訪問
userlist_file=/etc/vsftpd/vsftpd.userlist
userlist_deny=NO
本機使用者chroot
1.指定使用者不受限制,其他使用者受限
chroot_local_user=YES //啟用本機使用者chroot,啟用後本機使用者登入就被限制在其登入目錄中(預設為其主目錄) chroot_list_enable=YES //啟用例外列表 chroot_list_file=/etc/vsftpd/chroot_list //例外列表路徑
2.指定使用者受限,其他使用者不受限
chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
ftp常用命令
open x.x.x.x //開啟到ftp伺服器的串連
user xxx //登入使用者
cd //改變遠程登陸目錄(伺服器端)
lcd //改變本地目錄(用戶端)
bin //以二進位模式傳輸(通常用於程式等)
ascii //asc碼模式傳輸(預設,常用於傳輸文本類檔案)
hash //顯示傳輸進度
bell //傳輸完畢後響鈴
prompt //互動模式開關(多用於mget,mput關閉互動)
status //顯示目前狀態(傳輸模式,是否顯示傳輸進度,是否響鈴,是否互動等)
get //下載
mget //批量下載
put //上傳
mput //批量上傳
本篇文章來源於 Linux公社網站(www.linuxidc.com) 原文連結:http://www.linuxidc.com/Linux/2013-05/84947.htm
CentOS 6.3 下 vsftp搭建