linux FTP安全配置
关闭防火墙,selinux安全机制 service iptables stop setenforce 0
匿名用户
匿名用户只能访问ftp服务器上的/var/ftp/pub目录
ftp普通用户访问的文件在ftp用户的宿主目录
匿名访问:有两个匿名账户ftp和anonymous
ftp的密码为空,anonymous的密码为空或者guest
下图可以看到匿名用户只能访问pub文件夹下的内容,不能访问ftp服务器上其他目录下的内容
本地用户登陆ftp
本地用户登录ftp,会出现信息泄露的问题,本地用户不止可以访问ftp站点的内容,还可以访问ftp服务器上的其他目录,解决办法就是用虚拟用户
虚拟用户
1.创建FTP根目录及虚拟用户映射的系统用户
useradd -d /home/vftpuser -s /sbin/nologin vftpuser
为保证其他用户可以访问,给予rwxr-xr-x权限:chmod 755 /home/vftpuser
2. 建立虚拟FTP用户数据库文件。
db_load -T -t hash -f vuser_login.txt vuser_login.db
3.建立支持虚拟用户的PAM认证文件
4.参数db用于指向刚刚生成的vuser_login文件,但不要写后缀
Find / -name pam_userdb.so找到认证文件的路径
4. 在vsftpd.conf文件中添加支持配置
#以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
guest_enable=YES //设定启用虚拟用户功能
guest_username=vsftpd //指定虚拟用户的宿主用户
user_config_dir=/etc/vsftpd/vuser_conf //设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径
5. 为虚拟用户设置不同的权限
指定用户独立的权限配置文件存放的目录:vim /etc/vsftpd/vsftpd.conf (user_config_dir=/etc/vsftpd/vsftpd_user_conf)
创建用户独立的权限配置文件存放的目录:mkdir /etc/vsftpd/vsftpd_user_conf
切换进入到该目录中:cd /etc/vsftpd/vsftpd_user_conf
创建yuzly1和yuzly2文件
设置权限yuzly1
anon_mkdir_write_enable=YES 允许用户创建文件
anon_world_readable_only=YES 只读
anon_upload_enable=YES 允许wang用户上传文件
验证权限,下图可以看到可以创建文件,可以上传文件,但不能修改,删除
加上anon_other_write_enable=YES这句话,用户就具有修改和删除文件的权限了
yuzly2不添加任何权限,默认是可读权限