配置ftp服務
1 用getenforce查看,如果是Enforcing,應該修改/etc/sysconfig/selinux文件。
SELINUX=disabled
然後重啓
---------------------------------------------------
2 安裝ftp、lftp、設置防火牆
yum install vsftpd.x86_64 -y
systemctl start vsftpd
systemctl enable vsftpd
yum install lftp -y
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
---------------------------------------------------
3 匿名用戶服務
vim /etc/vsftpd/vsftpd.conf ##ftp服務配置文件
anonymous_enable=YES|NO##匿名用戶登陸限制
---------------------------------------------------
vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub #<匿名用戶上傳>
---------------------------------------------------
anon_root=/direcotry #<匿名用戶家目錄修改>
---------------------------------------------------
anon_umask=xxx #<匿名用戶上傳文件默認權限修改> 參考chmod預留權限
---------------------------------------------------
anon_mkdir_write_enable=YES|NO #<匿名用戶建立目錄>
---------------------------------------------------
anon_world_readable_only=YES|NO ###<匿名用戶下載>設定參數值爲no表示匿名用戶可以下載
---------------------------------------------------
anon_other_write_enable=YES|NO #<匿名用戶刪除>
---------------------------------------------------
chown_uploads=YES
chown_username=student #<匿名用戶使用的用戶身份修改>
---------------------------------------------------
anon_max_rate=102400 #<最大上傳速率>
---------------------------------------------------
max_clients=2 #<最大鏈接數>
---------------------------------------------------
4 本地用戶配置
local_enable=YES|NO##本地用戶登陸限制
write_enable=YES|NO##本地用戶寫權限限制
---------------------------------------------------
local_root=/directory #<本地用戶家目錄修改>
---------------------------------------------------
local_umask=xxx #<本地用戶上傳文件權限>
---------------------------------------------------
chroot_local_user=YES #<限制本地用戶瀏覽/目錄>
chmod u-w /home/* #所有用戶被鎖定到自己的家目錄中
---------------------------------------------------
chroot_local_user=NO #用戶黑名單建立
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
---------------------------------------------------
chroot_local_user=YES #用戶白名單建立
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
---------------------------------------------------
vim /etc/vsftpd/ftpusers##用戶黑名單
vim /etc/vsftpd/user_list##用戶臨時黑名單
---------------------------------------------------
userlist_deny=NO #用戶白名單設定
/etc/vsftpd/user_list##參數設定,此文件變成用戶白名單,只在名單中出現的用戶可以登陸ftp
---------------------------------------------------
5 虛擬賬戶管理 ###本部分文件可以取任意文件名
vim /etc/vsftpd/loginusers ##用來創建虛擬帳號身份
name1##賬戶1帳號
passwd1##賬戶1密碼
name2##賬戶2帳號
passwd2##賬戶2密碼
name3##賬戶3帳號
passwd3##賬戶3密碼
---------------------------------------------------
db_load -T -t hash -f /etc/vsftpd/loginusers /etc/vsftpd/loginusers.db ##加密帳號文件
---------------------------------------------------
vim /etc/pam.d/ckvsftpd #創建pam文件
account required pam_userdb.so db=/etc/vsftpd/loginusers
auth required pam_userdb.so db=/etc/vsftpd/loginusers
#注意最後的文件不能加.db後綴
---------------------------------------------------
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ckvsftpd
guest_enable=YES
guest_username=ftp
#編輯配置文件,使ftp讀取虛擬帳號及密碼
---------------------------------------------------
mkdir /ftphome
chgrp ftp /ftphome
chmod g+s /ftphome
mkdir /ftphome/user{1..3}
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER
user_sub_token=$USER #####虛擬帳號家目錄獨立設定
---------------------------------------------------
6 虛擬帳號配置獨立
vim /etc/vsftpd/vsftpd.conf
註釋或者刪除所有匿名賬戶設置
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf
vim /etc/vsftpd/userconf/user1 #在此文件中單獨配置user1的權限,此文件的優先級高。