centos7 安裝ftp
安裝VSFTPD
1.首先確認系統內無VSFTPD。
rpm -qa|grep vsftpd
若有的話會顯示vsftpd-x.x.x.-x.xxx.x86_64
若沒有的話會空返回
2.安裝VSFTPD
yum -y install vsftpd
3.設置開機啟動
chkconfig vsftpd on
配置VSFTPD
1.打開vsftpd配置文件/etc/vsftpd/vsftpd.conf
cd /etc/vsftpd
vi vsftpd.conf
.
anonymous_enable=NO //設定不允許匿名訪問
local_enable=YES //設定本地用戶可以訪問。註:如使用虛擬宿主用戶,在該項目設定為NO的情況下所有虛擬用戶將無法訪問
chroot_list_enable=YES //使用戶不能離開主目錄
chroot_list_file=/etc/vsftpd/chroot_list ascii_upload_enable=YES
ascii_download_enable=YES //設定支持ASCII模式的上傳和下載功能
pam_service_name=vsftpd //PAM認證文件名。PAM將根據/etc/pam.d/vsftpd進行認證
//已下三個請在配置文件中手動添加
guest_enable=YES //設定啟用虛擬用戶功能
guest_username=ftp //指定虛擬用戶的宿主用戶,CentOS中已經有內置的ftp用戶了
user_config_dir=/etc/vsftpd/vuser_conf //設定虛擬用戶個人vsftp的CentOS
FTP服務文件存放路徑。存放虛擬用戶個性的CentOS FTP服務文件(配置文件名=虛擬用戶名
2.創建用戶密碼文件/etc/vsftpd/vuser_passwd.txt ,註意奇行是用戶名,偶行是密碼
vi vuser_passwd.txt
admin
passwd
3.生成虛擬用戶認證的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt vuser_passwd.db
/etc/vsftpd/vuser_passwd.db
ls 查看有沒有vuser.passwd.db生成
4.編輯認證文件/etc/pam.d/vsftpd
把前面的註釋去掉,然後加上以下幾條
註:db=/etc/vsftpd/vuser_passwd 中的vuser_passwd 是你生成的虛擬用戶的db文件
查看系統版本號: getconf LONG_BIT
系統為32位:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account
required pam_userdb.so db=/etc/vsftpd/vuser_passwd
系統為64位:
auth required /lib64/security/pam_userdb.so
db=/etc/vsftpd/vuser_passwd account required
/lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
5.創建虛擬用戶配置文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/admin
//文件名等於vuser_passwd.txt裏面的賬戶名,否則下面設置無效
6.設置用戶配置文件內容
local_root=/storage/ftp //虛擬用戶根目錄,根據實際情況修改 該目錄必須要有讀寫權限
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
7.設置文件夾權限
chmod -R 777 /storage
8.設置Selinux
setsebool -P ftp_home_dir=1 //設置ftp可以使用home目錄
setsebool -P allow_ftpd_full_access=1 //設置ftp用戶可以有所有權限
9.啟動vsftpd服務
service vsftpd start
連接不上的問題解決:
1./etc/pam.d/vsftpd的腳本沒有引入相應的包,導致驗證用戶失敗
修改前先備份
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
vi /etc/pam.d/vsftpd
先將配置文件中原有的 auth 及 account 的所有配置行均註釋掉
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
如果系統為32位,上面改為lib
centos7 安裝ftp