Board logo

标题: CentOS8_vsftpd虚拟用户 [打印本页]

作者: admin    时间: 2020-2-6 15:45     标题: CentOS8_vsftpd虚拟用户

操作系统的版本: [root@centos8 ~]# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core) [root@centos8 ~]# [root@centos8 ~]# uname -r 4.18.0-193.el8.x86_64 安装vsftpd服务:(使用本地光盘YUM源也是可以的) dnf -y install vsftpd 修改vsftpd的主配置文件: echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf 查看vsftpd的主配置文件: [root@centos8 ~]# cat /etc/vsftpd/vsftpd.conf |grep -v '^#' |grep -v '^$' anonymous_enable=NO local_enable=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 userlist_enable=YES allow_writeable_chroot=YES 开启vsftpd服务: systemctl start vsftpd 开机自动开启vsftpd服务: systemctl enable vsftpd 关闭SELinux: setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 防火墙的配置可以参考:CentOS8_vsftpd匿名用户 ### 给vsftpd创建一个系统用户: [root@centos8 ~]# useradd -s /sbin/nologin virtual_ftp_user [root@centos8 ~]# tail -1 /etc/passwd virtual_ftp_user:x:1000:1000::/home/virtual_ftp_user:/sbin/nologin [root@centos8 ~]# tail -1 /etc/group virtual_ftp_user:x:1000: 为虚拟用户建立PAM认证文件: echo "auth required pam_userdb.so db=/etc/vsftpd/vuser" > /etc/pam.d/vsftpd echo "account required pam_userdb.so db=/etc/vsftpd/vuser" >> /etc/pam.d/vsftpd 图片1.png 创建虚拟用户配置文件夹: mkdir -p /home/virtual_ftp_user/vuser_dir 在vsftpd的主配置文件中添加虚拟用户支持: cat >>/etc/vsftpd/vsftpd.conf<< eof anon_umask=022 guest_enable=YES guest_username=virtual_ftp_user user_config_dir=/home/virtual_ftp_user/vuser_dir eof 图片2.png 重启vsftpd服务: [root@centos8 ~]# systemctl restart vsftpd [root@centos8 ~]# [root@centos8 ~]# pgrep -l vsftpd 10061 vsftpd [root@centos8 ~]# echo $? 0 [root@centos8 ~]# ps -ef |grep vsftpd |grep -v grep root 10061 1 0 20:50 ? 00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf [root@centos8 ~]# echo $? 0 ### 添加FTP虚拟用户及其密码:(奇数行为用户名,偶数行为上一行用户的密码) cat >/home/virtual_ftp_user/vuser.txt<< EOF zhuohua 111 funny 222 EOF 指定虚拟用户zhuohua的根目录:( 其实虚拟用户的根目录可以随意指定的 ) echo 'local_root=/ftp' >> /home/virtual_ftp_user/vuser_dir/zhuohua 允许虚拟用户zhuohua上传文件: echo 'anon_upload_enable=YES' >> /home/virtual_ftp_user/vuser_dir/zhuohua 允许虚拟用户zhuohua上传文件夹: echo 'anon_mkdir_write_enable=YES' >> /home/virtual_ftp_user/vuser_dir/zhuohua 允许虚拟用户zhuohua修改和删除文件、文件夹: echo 'anon_other_write_enable=YES' >> /home/virtual_ftp_user/vuser_dir/zhuohua ## 指定虚拟用户funny的根目录:(这样就只能下载文件和文件夹了) echo 'local_root=/ftp' >> /home/virtual_ftp_user/vuser_dir/funny ### 创建数据库文件: [root@centos8 ~]# db_load -T -t hash -f /home/virtual_ftp_user/vuser.txt /etc/vsftpd/vuser.db 创建FTP目录: mkdir -p /ftp chmod -R 777 /ftp/ 实验至此,对于/ftp/里面的所有内容,zhuohua可以下载、上传、修改、删除;funny只可以下载 FTP的操作日志记录:(可以看到不同虚拟用户的操作记录的) [root@centos8 ~]# tail /var/log/xferlog ### 输入(Input)的记录 Sat Oct 10 21:00:28 2020 1 ::ffff:192.168.168.159 1460 /my_private_key.ppk b _ i g zhuohua ftp 0 * c Sat Oct 10 21:00:28 2020 1 ::ffff:192.168.168.159 434 /zabbix.conf.php b _ i g zhuohua ftp 0 * c ### 输出(Output)的记录 Sat Oct 10 21:03:25 2020 1 ::ffff:192.168.168.159 4 /dir1/2.txt b _ o g zhuohua ftp 0 * c Sat Oct 10 21:03:25 2020 1 ::ffff:192.168.168.159 4 /1.txt b _ o g zhuohua ftp 0 * c ### 输出(Output)的记录 Sat Oct 10 21:05:41 2020 1 ::ffff:192.168.168.159 1460 /my_private_key.ppk b _ o g funny ftp 0 * c Sat Oct 10 21:05:41 2020 1 ::ffff:192.168.168.159 434 /zabbix.conf.php b _ o g funny ftp 0 * c ###### 要想再添加FTP用户、目录: ( 假设添加虚拟用户happy,密码888,拥有完全控制的权限,根目录为/ftp2/ ) 创建FTP目录: mkdir -p /ftp2 chmod -R 777 /ftp2/ 追加虚拟用户名和密码: cat >>/home/virtual_ftp_user/vuser.txt<< EOF happy 888 EOF echo 'local_root=/ftp2' >> /home/virtual_ftp_user/vuser_dir/happy echo 'anon_upload_enable=YES' >> /home/virtual_ftp_user/vuser_dir/happy echo 'anon_mkdir_write_enable=YES' >> /home/virtual_ftp_user/vuser_dir/happy echo 'anon_other_write_enable=YES' >> /home/virtual_ftp_user/vuser_dir/happy 重建数据库文件: db_load -T -t hash -f /home/virtual_ftp_user/vuser.txt /etc/vsftpd/vuser.db 备注:无需重启vsftpd服务 ###### 不同FTP虚拟用户创建的文件、文件夹的属主和属组都是 virtual_ftp_user [root@centos8 ~]# ll /ftp/ 总用量 8 -rw-r--r--. 1 virtual_ftp_user virtual_ftp_user 1460 10月 10 21:00 my_private_key.ppk -rw-r--r--. 1 virtual_ftp_user virtual_ftp_user 434 10月 10 21:00 zabbix.conf.php [root@centos8 ~]# ll /ftp2/ 总用量 5420 -rw-r--r--. 1 virtual_ftp_user virtual_ftp_user 3412982 10月 10 21:09 FlashFXP-v3.51.1200H.zip -rw-r--r--. 1 virtual_ftp_user virtual_ftp_user 2133343 10月 10 21:09 lnmp-install.log 相关文章: CentOS6_vsftpd虚拟用户 CentOS8_PureFTPd虚拟用户验证 Windows使用内置模块ftplib

图片附件: 图片1.png (2020-10-10 22:25, 28.22 KB) / 下载次数 155
http://blog.zhuohua.store/attachment.php?aid=11776&k=4ad51e6a19f3cb42dd4753ce6562ae67&t=1714226361&sid=or8C6c



图片附件: 图片2.png (2020-10-10 22:26, 7.64 KB) / 下载次数 160
http://blog.zhuohua.store/attachment.php?aid=11777&k=fec5d1d47c90be8eb88f6668e57fcb54&t=1714226361&sid=or8C6c






欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2