12.ftp的vsftpd服務安裝

本文的任務是創建虛擬賬戶,第一個賬戶(likang)擁有可讀寫指定目錄文件、不可登陸系統權限,新建一個虛擬用戶並且合理分配權限、綁定目錄,這和IDC商的虛擬主機效果是一樣的。爲了方便,直接採用的 Root 賬戶操作。

1.安裝 Vsftpd 程序,爲了方便我們採用以下方式進行自動安裝
yum install -y vsftpd

2.創建“likang”賬戶,密碼暫定爲“123456”,其中奇數行表示賬號,偶數行表示密碼。
vi /etc/vsftpd/vm_user.txt
likang
123456
2-1.創建 Vsftpd 認證文件
db_load -T -t hash -f /etc/vsftpd/vm_user.txt /etc/vsftpd/vm_user.db
注: 執行上條命令若提示:“bash: db_load: command not found”,請安裝“db4-utils”,具體操作如下
yum install -y db4 db4-utils
注:如果出現“db_load: unexpected end of input data or key/data pair、db_load: odd number of key/data pairs”提示,請在 vm_user.txt 最後一行添加空行,即回車一下。


3.編輯虛擬用戶需要用到的PAM認證配置文件
rm -f /etc/pam.d/vsftpd
vi /etc/pam.d/vsftpd
3-1、PAM認證配置文件輸入以下內容
auth required pam_userdb.so db=/etc/vsftpd/vm_user
account required pam_userdb.so db=/etc/vsftpd/vm_user

4.給likang這個賬戶增加屬性,控制訪問目錄、權限等,首先創建likang賬戶
mkdir /etc/vsftpd/users
vi /etc/vsftpd/users/likang
4-1.輸入以下內容
local_root=/data/htdocs/likang
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.以下是對上面這步操作的註釋補充
local_root=/data/htdocs/bugxm_admin #根目錄綁定
write_enable=YES #表示擁有可寫權限
anon_umask=022 #上傳文件的權限,022表示文件夾755、文件644權限
anon_world_readable_only=NO #表示用戶具有下載權限
anon_upload_enable=YES #表示用戶有權限上傳文件
anon_mkdir_write_enable=YES #表示用戶具有創建和刪除目錄的權限
anon_other_write_enable=YES #表示用戶具有文件改名和刪除文件的權限

5.用戶創建完成之後,開始配置 Vsftpd。
vi /etc/vsftpd/vsftpd.conf
5-1.爲安全考慮,我們配置不允許匿名訪問。
默認:anonymous_enable=YES
改成:anonymous_enable=NO
5-2.YES 表示用戶不能離開被我們指定的上級的任何目錄。
默認:#chroot_list_enable=YES
改成:chroot_list_enable=YES
5-3.允許用戶使用ASCII上傳文件
默認:#ascii_upload_enable=YES
改成:ascii_upload_enable=YES
5-4.允許用戶使用ASCII下載文件。
默認:#ascii_download_enable=YES
改成:ascii_download_enable=YES
5-5.在末尾添加以下內容
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/users

6.重新啓動 Vsftpd (service vsftpd restart)
出現了 500 OOPS: could not open chroot() list file:/etc/vsftpd/chroot_list 錯誤,執行以下操作就可以解決問題。
touch /etc/vsftpd/chroot_list
service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
6-1.用軟件連接 ftp 服務器時,出現了以下問題,防火牆開啓 21 端口就能得到解決。
狀態: 正在連接 192.168.182.128:21.
錯誤: 連接超時
錯誤: 無法連接到服務器
狀態: 正在等待重試。
6-2.在防火牆中開啓 21 端口
vi /etc/sysconfig/iptables
任意位置添加以下內容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21-j ACCEPT
重啓防火牆
/sbin/service iptables restart
6-3、再次連接時出現了不能切換目錄錯誤“500 OOPS: cannot change directory:/data/htdocs/bugxm_admin”,執行以下操作即可解決。
setsebool -P ftpd_disable_trans 1
service vsftpd restart
或者該目錄沒有創建,手動創建下
6-4.終於連接上了!
狀態: 讀取目錄列表。
命令: PORT 192,168,182,1,38,172
響應: 200 PORT command successful. Consider using PASV.
命令: LIST
響應: 150 Here comes the directory listing.
響應: 226 Directory send OK.
狀態: 列出目錄成功
6-5.登陸 bugxm_admin 賬戶試試能否上傳文件,臭蟲小明這裏上傳文件還存在權限問題。
上傳錯誤:553 Could not create file.
解決方法:
chmod 770 -R /data/htdocs
chown root:ftp -R /data/htdocs
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章