配置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的权限,此文件的优先级高。