深入淺出 Linux Vsftpd創(chuàng)建多虛擬用戶教程
來源:解決方案 2012-07-05
Vsftpd 是一款輕量級并有著安全與簡易等特性的FTP服務(wù)器程序,破受歡迎。在 Linux 中一旦配置好 Vsftpd環(huán)境就可以一勞永逸,任意的遷移到類似的服務(wù)器之上,因此我們對配置過程做個系統(tǒng)的了解也是有必要的。
本文的任務(wù)是創(chuàng)建兩個虛擬賬戶,第一個賬戶(bugxm_admin)擁有可讀寫指定目錄文件、不可登陸系統(tǒng)權(quán)限,第二個(bugxm_general)只擁有只讀被綁定目錄中文件的權(quán)限,依然不能登陸系統(tǒng)。新建一個虛擬用戶并且合理分配權(quán)限、綁定目錄,這和IDC商的虛擬主機(jī)效果是一樣的。為了方便,直接采用的Root 賬戶操作。
1、安裝 Vsftpd 程序,為了方便我們采用以下方式進(jìn)行自動安裝
yum install -y vsftpd
2、創(chuàng)建“bugxm_admin”與“bugxm_general”這兩個賬戶,密碼暫定為“”,其中奇數(shù)行表示賬號,偶數(shù)行表示密碼。
vi /etc/vsftpd/vm_user.txt
bugxm_admin
bugxm_general
2-1、創(chuàng)建 Vsftpd 認(rèn)證文件
db_load -T -t hash -f /etc/vsftpd/vm_user.txt /etc/vsftpd/vm_user.db
注: 執(zhí)行上條命令若提示:“bash: db_load: command not found”,請安裝“db4-utils”,具體操作如下
yum install -y db4 db4-utils
注:如果出現(xiàn)“db_load: unexpected end of input data or key/data pair、db_load: oddnumber of key/data pairs”提示,請?jiān)?vm_user.txt 最后一行添加空行,即回車一下。
3、編輯虛擬用戶需要用到的PAM認(rèn)證配置文件
rm -f /etc/pam.d/vsftpd
vi /etc/pam.d/vsftpd
3-1、PAM認(rèn)證配置文件輸入以下內(nèi)容
auth required pam_userdb.so db=/etc/vsftpd/vm_user
account required pam_userdb.so db=/etc/vsftpd/vm_user
4、給 bugxm_admin、bugxm_general 這兩個賬戶增加屬性,控制訪問目錄、權(quán)限等,首先創(chuàng)建 bugxm_admin 賬戶
mkdir /etc/vsftpd/users
vi /etc/vsftpd/users/bugxm_admin
4-1、輸入以下內(nèi)容
local_root=/data/htdocs/bugxm_admin
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
4-2、以下是對上面這步操作的注釋補(bǔ)充
local_root=/data/htdocs/bugxm_admin #根目錄綁定
write_enable=YES #表示擁有可寫權(quán)限
anon_umask=022 #上傳文件的權(quán)限,022表示文件夾755、文件644權(quán)限
anon_world_readable_only=NO #表示用戶具有下載權(quán)限
anon_upload_enable=YES #表示用戶有權(quán)限上傳文件
anon_mkdir_write_enable=YES #表示用戶具有創(chuàng)建和刪除目錄的權(quán)限
anon_other_write_enable=YES #表示用戶具有文件改名和刪除文件的權(quán)限
4-3、創(chuàng)建 bugxm_general 用戶
vi /etc/vsftpd/users/bugxm_general
4-4、輸入以下內(nèi)容
local_root=/data0/htdocs/bugxm_general
anon_world_readable_only=NO
5、兩個用戶創(chuàng)建完成之后,開始配置 Vsftpd。
vi /etc/vsftpd/vsftpd.conf
5-1、為安全考慮,我們配置不允許匿名訪問。
默認(rèn):anonymous_enable=YES
改成:anonymous_enable=NO
5-2、YES 表示用戶不能離開被我們指定的上級的任何目錄。
默認(rèn):#chroot_list_enable=YES
改成:chroot_list_enable=YES
5-3、允許用戶使用ASCII上傳文件。
默認(rèn):#ascii_upload_enable=YES
改成:ascii_upload_enable=YES
5-4、允許用戶使用ASCII下載文件。
默認(rèn):#ascii_download_enable=YES
改成:ascii_download_enable=YES
5-5、在末尾添加以下內(nèi)容
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/users
6、重新啟動 Vsftpd (service vsftpd restart),出現(xiàn)了 500 OOPS: could not open chroot()list file:/etc/vsftpd/chroot_list 錯誤,執(zhí)行以下操作就可以解決問題。
touch /etc/vsftpd/chroot_list
service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
6-1、用軟件連接 ftp 服務(wù)器時,出現(xiàn)了以下問題,防火墻開啟 21 端口就能得到解決。
狀態(tài): 正在連接 192.168.182.128:21.
錯誤: 連接超時
錯誤: 無法連接到服務(wù)器
狀態(tài): 正在等待重試。
6-2、在防火墻中開啟 21 端口
vi /etc/sysconfig/iptables
任意位置添加以下內(nèi)容
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21-jACCEPT
重啟防火墻
/sbin/service iptables restart
6-3、再次連接時出現(xiàn)了不能切換目錄錯誤“500 OOPS: cannot changedirectory:/data/htdocs/bugxm_admin”,執(zhí)行以下操作即可解決。
setsebool -P ftpd_disable_trans 1
service vsftpd restart
6-4、終于連接上了!
狀態(tài): 讀取目錄列表。
命令: PORT 192,168,182,1,38,172
響應(yīng): 200 PORT command successful. Consider using PASV.
命令: LIST
響應(yīng): 150 Here comes the directory listing.
響應(yīng): 226 Directory send OK.
狀態(tài): 列出目錄成功
6-5、登陸 bugxm_admin 賬戶試試能否上傳文件,臭蟲小明這里上傳文件還存在權(quán)限問題。
4上傳錯誤:553 Could not create file.
解決方法:
chmod 770 -R /data/htdocs
chown root:ftp -R /data/htdocs
1
2
下一頁
文章編輯: 365webcall網(wǎng)站在線客服系統(tǒng)(www.365webcall.com)
我的評論
登錄賬號: | 密碼: | 快速注冊 | 找回密碼 |