Vsftpd虚拟用户登陆配置(Centos7) |
您所在的位置:网站首页 › vsftp搭建后的验证 › Vsftpd虚拟用户登陆配置(Centos7) |
1 安装Vsftpd服务 # yum install vsftpd -y vsftp虚拟用户是为了保证FTP服务器的安全性,由vsftpd服务器提供的非系统用户账号, 相对于FTP的本地用户来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP 服务器所提供的资源。虚拟用户FTP登录后将把指定的目录作为FTP根目录。虚拟用户与本 地用户具有类似的功能,由于虚拟用户账号具有较高的安全性,可以替代本地用户账号使用。 2 创建vsftpd使用的系统用户,主目录为/home/vsftpd,禁止ssh登录, 创建之后所有 虚拟用户使用这个系统用户访问文件 # useradd vsftpd -d /vsftpd -s /bin/false # ls -ld /vsftpd/ drwx------ 2 vsftpd vsftpd 62 Feb 2 15:34 /vsftpd/ 3 创建虚拟用户主目录,比如虚拟用户叫ftp1 # mkdir -p /vsftpd/ftp1/ # mkdir -p /vsftpd/ftp2/ # chown -R vsftpd.vsftpd /vsftpd/* # ls -l /vsftpd/ total 0 drwxr-xr-x 2 vsftpd vsftpd 6 Feb 2 15:35 ftp1 drwxr-xr-x 2 vsftpd vsftpd 6 Feb 2 15:35 ftp2 4 创建虚拟用户 # vi /etc/vsftpd/loginusers.conf ftp1 123456 ftp2 456789 这样就创建了ftp1这个虚拟用户,密码为 123456 这样就创建了ftp2这个虚拟用户,密码为 456789 5 创建数据库文件 # db_load -T -t hash -f /etc/vsftpd/loginusers.conf /etc/vsftpd/loginusers.db # chmod 600 /etc/vsftpd/loginusers.db # chmod 600 /etc/vsftpd/loginusers.conf 6 启用数据库文件 # vi /etc/pam.d/vsftpd # 注释掉所有内容后,增加下面的内容 auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers 7 创建虚拟用户配置文件 # mkdir -p /etc/vsftpd/userconf 这里的文件名称必须与虚拟用户名一致 # vi /etc/vsftpd/userconf/ftp1 local_root=/vsftpd/ftp1 write_enable=YES anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES # vi /etc/vsftpd/userconf/ftp2 local_root=/vsftpd/ftp2 write_enable=YES anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES 8 修改主配置文件 # vi /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器 anonymous_enable=NO #允许本地用户登录FTP服务器 local_enable=YES #可以上传(全局控制) write_enable=YES #允许下载 #download_enable=YES #本地用户上传文件的umask local_umask=022 #设置本地用户登录后所在目录 #local_root=/var/ftp/test #全部用户被限制在主目录 chroot_local_user=YES #允许对FTP根目录执行写入操作 allow_writeable_chroot=YES #是否在进入新目录时显示 message_file 文件中的内容 dirmessage_enable=YES #启用日志 xferlog_enable=YES #vsftpd主动模式下开启的数据端口,在被动模式下不启动 connect_from_port_20=YES #日志是否进行格式化 xferlog_std_format=YES #监听的端口号 listen_port=21 #监听本地所有端口,默认监听本地所有端口 listen_address=0.0.0.0 #独立服务 listen=YES #centos7增加此设置,关闭ipv6本地监听,默认监听ipv4和ipv6地址 listen_ipv6=NO #认证模式 pam_service_name=vsftpd #启用用户列表 userlist_enable=YES #启用tcp_wrappers tcp_wrappers=YES #开启被动模式 pasv_enable=YES #FTP服务器公网IP(也就是当前阿里云服务器的公网 IP) #pasv_address=120.xx.xx.xx #设置被动模式下,建立数据传输可使用port范围的最小值 pasv_min_port=10000 #设置被动模式下,建立数据传输可使用port范围的最大值 pasv_max_port=10088 guest_enable=YES # 启动虚拟用户 guest_username=vsftpd # 虚拟用户使用的系统用户名 user_config_dir=/etc/vsftpd/userconf # 虚拟用户使用的配置文件目录 9 重启服务使配置生效 # systemctl restart vsftpd 10 测试 (1) ftp1用户 (2) ftp2用户 11 补充 (1) 创建用户并指定家目录 [root@slavenode1 ~]# mkdir -p /data/ftproot [root@slavenode1 ~]# useradd -s /sbin/nologin -M virtual [root@slavenode1 ~]# usermod -d /data/ftproot virtual [root@slavenode1 ~]# chown -R virtual.virtual /data/ftproot/ [root@slavenode1 ~]# ls -ld /data/ftproot/ drwxr-xr-x 2 virtual virtual 6 Feb 2 01:27 /data/ftproot/ 等价于 # useradd -d /data/ftproot -s /sbin/nologin virtual # chmod -R 755 /data/ftproot/ # chown -R virtual.virtual /data/ftproot/ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |