昨天晚上也寫了一篇關於centos上ftp的安裝和配置,但發現截的圖沒傳上去,額…重寫一篇,有些原理我可能不知道,但這樣裝確實成功了…望高手指教。html
1. 查看是否安裝vsftpcentos
PS:這個圖是裝好後截得
api
2. yum安裝vsftp服務器
3.基於虛擬用戶的FTP架設工具
所謂虛擬用戶就是沒有使用真實的賬戶,只是經過某種手段達到映射賬戶和設置權限的目的。ui
1) 咱們在/etc/vsftpd/vsftpd.conf中作以下CentOS FTP服務配置:
anonymous_enable=NO 設定不容許匿名訪問
local_enable=YES 設定本地用戶能夠訪問。注:如使用虛擬宿主用戶,在該項目設定爲NO的狀況下全部虛擬用戶將沒法訪問。
chroot_list_enable=YES 使用戶不能離開主目錄
xferlog_file=/var/log/vsftpd.log 設定vsftpd的服務日誌保存路徑。注意,該文件默認不存在。必需要手動touch出來
ascii_upload_enable=YES
ascii_download_enable=YES 設定支持ASCII模式的上傳和下載功能。
pam_service_name=vsftpd PAM認證文件名。PAM將根據/etc/pam.d/vsftpd進行認證
spa
如下這些是關於Vsftpd虛擬用戶支持的重要CentOS FTP服務配置項目。默認vsftpd.conf中不包含這些設定項目,須要本身手動添加CentOS FTP服務配置。 rest
guest_enable=YES 設定啓用虛擬用戶功能。
guest_username=ftp 指定虛擬用戶的宿主用戶。-CentOS中已經有內置的ftp用戶了(可換成其餘本地帳號)
user_config_dir=/etc/vsftpd/vuser_conf 設定虛擬用戶我的vsftp的CentOS FTP服務文件存放路徑。存放虛擬用戶個性的CentOS FTP服務文件(配置文件名=虛擬用戶名)日誌
2)建立chroot list,將用戶ftp加入其中:
touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_listhtm
3)進行認證:
首先,安裝Berkeley DB工具,不少人找不到db_load的問題就是沒有安裝這個包。
yum install db4 db4-utils
而後,建立用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼
yearnfar
123456
huaping
123456
接着,.生成虛擬用戶認證的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
隨後,編輯認證文件/etc/pam.d/vsftpd,所有註釋掉原來語句
再增長如下兩句
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最後,建立虛擬用戶個性CentOS FTP服務文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/yearnfar(注:文件名等於vuser_passwd.txt裏面的帳戶名,不然下面設置無效)
內容以下:
local_root=/var/www/html 虛擬用戶的根目錄(根據實際修改)
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.啓動vsftp服務器
mkdir /var/www/html/ftp
chmod –R 755 /var/www/html
chmod –R 777/var/www/html/ftp
最新的vsftpd要求對主目錄不能有寫的權限因此html爲755 主目錄下面的子目錄再設置777權限
service vsftpd start 開啓命令
service vsftpd restart 重啓
service vsftpd stop 中止