配置ftp本地用户登陆
- 修改配置文件
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_enable=YES #允许本地用户访问
write_enable=YES #允许写入
local_umask=022 #本地用户模式创建用户的umask值
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES #开启用户作用名单功能
userlist_deny=YES #启用禁止用户名单 ftpusers 和 user_list
tcp_wrappers=YES - 打开ftpd_full_access端口
setsebool -P ftpd_full_access=on - 解除root禁止用户名单
vi /etc/vsftpd/ftpusers
删除root
vi /etc/vsftpd/user_list
删除root - 登陆测试
ftp 192.168.45.137
配置ftp虚拟用户登陆 - 创建数据库文件(用于认证FTP用户,奇数行为账户名,偶数行为密码)
cd /etc/vsftpd/
vim vuser.list - 生成vsftpd的认证文件。
db_load -T -t hash -f vuser.list vuser.db
file vuser.db - 赋予权限并删除配置文件
chmod 600 vuser.db
rm -f vuser.list - 创建vsftpd服务程序用于储存文件的根目录以及虚拟用户映射的系统本地用户。
useradd -d /var/ftproot -s /sbin/nologln virtual
chmod -Rf 755 /var/ftproot #赋予权限
vim /etc/pam.d/vsftpd.vu
内容:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser - 设置用户权限(共8个文件)
创建目录:
mkdir /etc/vsftpd/vusers_dir
cd /etc/vsftpd/vusers_dir
vi 文件名(有上传、创建、修改、查看、删除文件的权限共建4个)
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
touch 文件名(只有查看文件的权限共建4个) - 修改主配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
allow_writeable_chroot=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vusers_dir #定义两个虚拟用户不同权限的配置文件所存放路径(需要重启生效)。 - systemctl restart vsftpd
systemctl enable vsftpd 开放ftpd_full_access端口
setsebool -P ftpd_full_access=on
查看getsebool -a | grep ftp登陆测试