任务内容:
FTP服务器配置
安装FTP服务器所需的软件包vsftpd
方法一(未联网,有镜像):
[root@localhost ~]# mount /dev/cdrom /mnt
[root@localhost ~]#cd Packages
[root@localhost Packages]# ls vsftp*
[root@localhost Packages]# rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm
方法二(联网):
[root@localhost ~]#yum -y install vsftpd
启动FTP服务
[root@localhost Packages]# systemctl start vsftpd.service //启动FTP服务
[root@localhost Packages]# systemctl enable vsftpd.service //将FTP服务设置自启动
测试
ftp://FTP服务器IP地址 //网络模式先改为NAT模式,在地址栏输入IP地址
项目:虚拟用户
虚拟用户认证所使用的账号和密码都不是服务器中真实存在的,其安全性比本地用户更好,即使被抓包获取到账号密码都无法直接登录到服务器。配置虚拟用户的流程如下:
(1)建立虚拟用户数据库文件
(2)创建根目录及虚拟用户映射的系统用户
(3)建立支持虚拟用户的PAM认证文件
(4)在vsftpd.conf中添加支持配置
(5)为虚拟用户设置不同的权限
(1)建立虚拟用户数据库文件
[root@ftp ~]# vim /etc/vsftpd/vuser //格式:一行账号名,一行密码
test1
123456
test2
12345678
[root@ftp ~]# db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db //使用db_load命令生成数据库文件
[root@ftp ~]# chmod 600 /etc/vsftpd/vuser.db
[root@ftp ~]# rm /etc/vsftpd/vuser
(2)创建根目录及虚拟用户映射的系统用户
[root@server ~]# useradd -d /var/vftp -s /sbin/nologin vftp
[root@server ~]# chmod -R 755 /var/vftp
(3)建立支持虚拟用户的PAM认证文件
[root@server ~]#vim /etc/pam.d/vsftpd.virtual
auth required pam_userdb.so db=/etc/vsftpd/vuser //检查账号及密码,数据库不需要写后缀.db
account required pam _userdb.so db=/etc/vsftpd/vuser //检查用户是否在有效期内
(4)在vsftpd.conf中添加支持配置
[root@server ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO //禁止匿名登录
local_enable=YES //允许本地用户模式,由于映射的系统用户为本地用户,因此此项必须开启
guest_enable=YES //开启虚拟用户模式
guest_username=vftp //指定虚拟用户账号映射到本地账号vftp
pam_service_name=vsftpd.virtual //指定pam文件
chroot_local_user=YES //禁锢用户在其家目录
allow_writeable_chroot=YES //允许禁锢的FTP根目录可写
user_config_dir=/etc/vsftpd/vuser_profile //指定虚拟用户的权限配置目录
userlist_enable=YES
userlist_deny=YES
(5)为虚拟用户设置不同的权限
[root@server ~]# mkdir /etc/vsftpd/vuser_profile
[root@server ~]# vim /etc/vsftpd/vuser_profile/test1
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
[root@ftp ~]# chown vftp:vftp /vftp/test1
[root@ftp ~]# systemctl restart vsftpd
配置完成后,能使用虚拟用户登录,相交于使用本地用户登录更加安全