一、vsftpd安裝及基本配置
①檢查本機是否安裝有vsftp
rpm –q vsftp
② 如果沒有安裝
cd /media/Cen*/Cent*
rpm –ivh vsftp*(用TAB鍵補全)
③ 添加用戶
[root@localhost ~]# adduser ftpuser
[root@localhost ~]# passwd ftpuser
Changing password for user ftpuser.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#
④ 修改主配置文件
vi /etc/vsftpd/vsftpd.conf
添加以下項
anonymous_enable=no 是否允許匿名用戶登陸(默認配置中是YES,要不註釋掉,要不改爲no)
local_root=/home/ftpuser 指定用戶訪問的目錄 (需要自己添加)
chroot_list_enable=YES 設置是否啓用chroot_list_file(默認配置文件是註銷了的)
chroot_list_file=/etc/vsftpd/chroot_list 設置用戶列表文件,該文件中的用戶不允許更改目錄。被限制在根目錄之內 (默認配置文件是註銷了的)
⑤ 編輯 chroot_list 文件
vi etc/vsftpd/chroot_list
ftpuser
注意:chroot_local_user=YES 和chroot_list_enable=YES, chroot_list_file=/etc/vsftpd/chroot_list
同時添加和單獨添加的作用是不同的。
當只使用chroot_local_user=YES的時候是限制所有的登錄用戶在自己設置的目錄內
當只是用chroot_list_enable=YES, chroot_list_file=/etc/vsftpd/chroot_list 是限制chroot_list 中的用戶被鎖定在自己設置的目錄內(本例在/home/ftpuser)
當兩者同時使用時chroot_list中的用戶不受目錄限制 其他登錄的用戶會被限制目錄。
⑥ 更改文件的權限
chmod –R 755 /home/ftpuser
重啓服務就可以了 service vsftpd restart
二、配置虛擬用戶和權限
1.添加用戶
Useradd –s /sbin/nologin vuser
mkdir /var/ftp/vftp //創建ftp根目錄爲/var/ftp/vftp
2.創建用戶和密碼文件
創建用戶和密碼文件,然後用db4工具把用戶名和密碼轉換成系統識別的格式。
vi vftpuser.txt //新建文件寫入用戶名和密碼(裝換成vtpuser.db可以刪除)
注:第一行寫用戶名,第二行寫密碼,以此類推,要創建多少虛擬用戶,依次寫下去。
例如:
abc
123
cba
321
創建了兩個用戶abc和cba密碼分別爲123和321
接着使用工具將其轉換,並且存放在適當的位置,如:、
db_load -T -t hash -f vftpuser.txt /etc/vsftpd/vftpuser.db //將密碼文件保存到/etc/vsftpd/
命名爲vftpuser.db。(注意vftpuser.db一定要保存在/etc/vftpd/目錄下)
注意:此時如果沒有安裝db4工具會出現錯誤。
解決方法:安裝rpm的db4、db4-util包
3.配置PAM驗證文件
修改 /etc/pam.d/vsftpd
在下面添加如下兩行,其他全部註釋掉。
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
注意這裏是vftpuser,不是vftpuser.db
4.新建針對虛擬用戶的配置文件
mkdir –p /etc/vsftpd/vuser_conf
vi /etc/vsftpd/vuser_conf/abc //創建名爲abc的控制文件。
local_root=/var/ftp/vftp //abc這個用戶登陸上來的家目錄是/var/ftp/vftp
anon_upload_enable=YES //允許上傳
anon_mkdir_write_enable=YES //允許創建目錄
anon_other_write_enable=YES //允許刪除文件和目錄
同樣創建cba的配置文件。
5.修改vsftpd.conf
啓用和添加修改如下選項:
pam_service_name=vsftpd //用vsftpd裏的腳本做pam驗證
tcp_wrappers=YES //開啓ip控制
chroot_local_user=YES //鎖定用戶根目錄
guest_enable=YES //開啓虛擬賬戶
guest_username=vuser //虛擬賬戶使用vftp(剛纔建的系統賬戶)映射
user_config_dir=etc/vsftpd/vuser_conf //虛擬賬戶的控制文件路徑
6.修改ftproot的權限
Chown –R vuser.vuser /var/ftp/vftp
Chmod –R 755 /var/ftp/vftp
重啓vsftpd服務即可。