vsftpd指定虛擬用戶登錄后,本地用戶就不能登陸了。
建立虛擬用戶
[root@rhel4 opt]# cat << ! >logins.txt 說明:此文本文件的格式是:單數行為用戶名,偶數行為密碼
> upload
> 123456
> download
> 123456
> admin
> 123456
> !
[root@rhel4 opt]# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
[root@rhel4 opt]# chmod 600 /etc/vsftpd_login.db
[root@rhel4 opt]# cd /opt/vsftpd-1.2.1/EXAMPLE/VIRTUAL_USERS (進入解包的源碼目錄,把虛擬用戶的認證文件拷貝到/etc/pam.d/下)
[root@rhel4 VIRTUAL_USERS]# cp vsftpd.pam /etc/pam.d/ftp.vu
(建立虛擬用戶所要訪問的ftp目錄并設置僅virtual用戶訪問的權限和創建一個供下載實驗的文件)
[root@rhel4 VIRTUAL_USERS]# mkdir /var/ftpsite
[root@rhel4 VIRTUAL_USERS]# useradd -d /var/ftpsite virtual;
[root@rhel4 VIRTUAL_USERS]# chmod 700 /var/ftpsite
[root@rhel4 VIRTUAL_USERS]# chown virtual /var/ftpsite
[root@rhel4 VIRTUAL_USERS]# su - virtual -c "echo hello >/var/ftpsite/test.file"
vi /etc/vsftpd.conf在此文件中插入下面的配置語句
guest_enable=YES(啟用虛擬用戶)
guest_username=virtual(將虛擬用戶映射為本地virtual用戶)
pam_service_name=ftp.vu(指定PAM配置文件為ftp.vu)
user_config_dir=/etc/vsftpd_user_conf(指定不同虛擬用戶配置文件的存放路徑)
[root@rhel4 VIRTUAL_USERS]# mkdir /etc/vsftpd_user_conf
h.開放不同用戶的不同權限 echo "anon_world_readable_only=NO"> /etc/vsftpd_user_conf/download(開放download用戶的下載權限——只能下載;注意這個不地方不要寫成YES,否則將不能列出文件和目錄)
cp /etc/vsftpd_user_conf/download /etc/vsftpd_user_conf/upload
vi /etc/vsftpd_user_conf/upload,添加下列行
write_enable=YES (增加寫權限)
anon_upload_enable=YES(增加上傳權限)
anon_mkdir_write_enable=YES (增加創建目錄的權限)
cp /etc/vsftpd_user_conf/upload /etc/vsftpd_user_conf/admin
增加一行:
anon_other_write_enable=YES(增加管理員用戶的刪除/重命名的權限)
i.測試
killall -9 vsftpd;/usr/local/sbin/vsftpd /etc/vsftpd.conf &
ftp 127.0.0.1 2121
以用戶名download和你設置的密碼登錄,ls,可以看到文件,下載,成功!put一個文件,提示
Permission denied。rename test.file同樣權限被拒絕;delete test.file同樣不成功!
輸入quit退出,以upload用戶登錄,OK!可以上傳,下載,mkdir lsf,提示“/lsf" created;rename lsf lsf1提示Permission denied,刪除文件同樣不成功!
輸入quit退出,以admin用戶登錄,可以有上述所有權限,然后rmdir lsf,提示Remove directory o [eration successful;delete test.file提示Delete operation successful!OK,大功告成了!
新聞熱點
疑難解答