centos 7.2下搭建vsftp 虚拟用户
虚拟用户搭建vsftp 要求一: 只允许上传 下载 不能删除 不能更换名称 yum install pam* yum install db4* -y yum install vsftpd chkconfig vsftpd on iptables -I INPUT -s 43.243.139.212 -p tcp --dport 21 -j ACCEPT iptables -I INPUT -s 43.243.139.212 -p tcp --dport 20 -j ACCEPT iptables -I INPUT -p tcp --dport 30000:31000 -j ACCEPT useradd duoniu cd /etc/vsftpd [root@wx14 vsftpd]# cat vsftpd.conf allow_writeable_chroot=YES (不能登录的话添加) anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 xferlog_enable=YES xferlog_file=/etc/vsftpd/vsftpd.log xferlog_std_format=YES connect_from_port_20=YES idle_session_timeout=600 listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES pasv_min_port=30000 pasv_max_port=31000 guest_enable=YES guest_username=duoniu user_config_dir=/etc/vsftpd/virtualuser_conf [root@wx14 vsftpd]# mkdir virtualuser_conf [root@wx14 vsftpd]# chmod 755 virtualuser_conf [root@wx14 virtualuser_conf]# cd /etc/vsftpd/virtualuser_conf [root@wx14 virtualuser_conf]# cat dn local_root=/web/www/wx14/cms_html/html write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_umask=022 #上传文件有权限 anon_mkdir_write_enable=YES [root@wx14 vsftpd]# cd /etc/vsftpd [root@wx14 vsftpd]# cat virtualuser_passwd.txt dn m2i3sc [root@wx14 vsftpd]# db_load -T -t hash -f /etc/vsftpd/virtualuser_passwd.txt /etc/vsftpd/virtualuser_passwd.db [root@wx14 vsftpd]# cat /etc/pam.d/vsftpd auth required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd account required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd [root@wx14 vsftpd]# cd /web/www/wx14/cms_html/html [root@wx14 html]# chown duoniu.duoniu . [root@wx14 html]# cat /etc/passwd duoniu:x:500:500::/web/www/wx14/cms_html/html:/bin/bash 要求二: 只允许 只读权限 可以下载 [root@fs156 vsftpd]# cat /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=NO local_umask=022 xferlog_enable=YES xferlog_file=/etc/vsftpd/vsftpd.log xferlog_std_format=YES connect_from_port_20=YES idle_session_timeout=600 listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES pasv_min_port=30000 pasv_max_port=31000 guest_enable=YES guest_username=duoniu user_config_dir=/etc/vsftpd/virtualuser_conf [root@fs156 virtualuser_conf]# pwd /etc/vsftpd/virtualuser_conf [root@fs156 virtualuser_conf]# cat dn local_root=/web/www/wx14/pay.178.com write_enable=NO anon_world_readable_only=NO anon_upload_enable=NO anon_mkdir_write_enable=NO
要求三: 在原本有ftp 的账户下 只允许 读、下载文件 [root@fs154 vsftpd]# pwd /etc/vsftpd [root@fs154 vsftpd]# cat account.txt lianyun stargame2018 dn m2i3sc [root@fs154 users]# pwd /etc/vsftpd/users [root@fs154 users]# ls dn lianyun [root@fs154 users]# cat dn local_root=/web/www/wx17/game.stargame.com write_enable=NO anon_world_readable_only=NO anon_upload_enable=NO anon_mkdir_write_enable=NO 删除原来 accout.db文件,然后重新创建: [root@fs154 vsftpd]# pwd /etc/vsftpd [root@fs154 vsftpd]#db_load -T -t hash -f /etc/vsftpd/account.txt /etc/vsftpd/account.db 要求四: 允许上传,下载,删除 (主要是 anon_other_write_enable=YES) # cat /etc/vsftpd/virtualuser_conf/xxx local_root=/data/public/projects/volume-starcollection/starcollection-php-prod write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_umask=022 anon_mkdir_write_enable=YES anon_other_write_enable=YES