啓動ftp服務:service vsftpd start
查看ftp服務狀態:service vsftpd status
重啓ftp服務:service vsftpd restart
關閉ftp服務:service vsftpd stop
vsftpd.conf 配置文件:
anonymous_enable=NO #設定不允許匿名訪問
local_enable=YES #設定本地用戶可以訪問。注:如使用虛擬宿主用戶,在該項目設定爲NO的情況下所有虛擬用戶將無法訪問。
chroot_list_enable=YES #使用戶不能離開主目錄
xferlog_file=/var/log/vsftpd.log #設定vsftpd的服務日誌保存路徑。注意,該文件默認不存在。必須要手動touch出來
ascii_upload_enable=YES #允許使用ASCII模式上傳
ascii_download_enable=YES #設定支持ASCII模式的上傳和下載功能。
pam_service_name=vsftpd #PAM認證文件名。PAM將根據/etc/pam.d/vsftpd進行認證
默認vsftpd.conf中不包含以下設定項目,需要自己手動添加,可以添加在配置文件最後。
guest_enable=YES #設定啓用虛擬用戶功能。
guest_username=ftp #指定虛擬用戶的宿主用戶。centos 裏面已經有內置的ftp用戶了(注:此用戶在chroot_list_file=/etc/vsftpd/chroot_list文件裏所指定的用戶)-RHEL/CentOS中已經有內置的ftp用戶了
user_config_dir=/etc/vsftpd/vuser_conf #設定虛擬用戶個人vsftp的RHEL/CentOS FTP服務文件存放路徑。存放虛擬用戶個性的CentOS FTP服務文件(配置文件名=虛擬用戶名)
創建chroot list,將ftp用戶加入其中:
touch /etc/vsftpd/chroot_list
echo ftp>> /etc/vsftpd/chroot_list #指定虛擬用戶的宿主用戶
進行認證:
首先,安裝Berkeley DB工具,很多人找不到db_load的問題就是沒有安裝這個包。
yum install db4 db4-utils 或者 yum install db4*(*表示安裝所有含db4字符的安裝包)
然後,創建用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼。
ftpuser1
ftppass1
ftpuser2
ftppass2
接着,生成虛擬用戶認證的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
編輯認證文件/etc/pam.d/vsftpd,打開這文件,用“#”註釋掉原先的所有內容,然後增加兩行。
32位系統增加以下兩句:auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
64位系統增加以下兩句:auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.sodb=/etc/vsftpd/vuser_passwd
最後,創建虛擬用戶個性服務文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/ftpuser1
內容如下:
local_root=/opt/var/ftp/ftpuser1 #虛擬用戶的根目錄(根據實際修改)
write_enable=YES #可寫
anon_umask=022 #掩碼
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
爲目錄附權限並重啓動vsftp服務:
mkdir /opt/var/ftp/ftpuser1
chmod 777 /opt/var/ftp/ftpuser1
service vsftpd restart
這樣所有配置就完成了,可以用ftp工具登陸試試:
賬戶是:ftpuser1 密碼是:ftppass1; 端口默認:21,ip地址服務器地址。