標籤:asc tar 備份 虛擬 inux selinux 導致 account local
安裝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