在虚拟机上的FTP FTP访问模式(虚拟用户模式)
虚拟用户模式的帐号口令都不是真实系统中存在的,所以只要配置妥当虚拟用户模式会比本地用户模式更加安全
首先你要有vsftpd服务,可以先去yum中下载(当然你要有本地yum仓库)
输入命令: yum install vsftpd
下载完成之后打开vsftpd服务
输入命令:systemctl start vsftpd
首先下载服务 yum install vsftpd -y
第1步:建立虚拟FTP用户数据库文件。
切换至vsftpd程序目录,接下来修改这个文件 将用户名和密码写进去
输入命令:cd /etc/vsftpd/
创建用于生成FTP用户数据库的原始帐号和密码文件:
输入 vim vuser.list (单数行为帐号,双数行为密码)创建啦三个虚拟用户
使用db_load命令用HASH算法生成FTP用户数据库文件vuser.db:
输入: db_load -T -t hash -f vuser.list vuser.db
查看数据库文件的类型: file vuser.db
FTP用户数据库内容很敏感,所以权限给小一些:chmod 600 vuser.db
删除原始的帐号和密码文件: rm -f vuser.list
第2步:创建FTP根目录及虚拟用户映射的系统用户。
创建用户virtual并设置为不允许登陆系统并定义该用户的家目录:useradd -d /var/ftproot -s /sbin/nologin virtual
查看该用户的家目录权限:ls -ld /var/ftproot/
为保证其他用户可以访问,给予rwxr-xr-x权限:chmod -Rf 755 /var/ftproot/
第3步:建立支持虚拟用户的PAM认证文件:vim /etc/pam.d/vsftpd.vu
//参数db用于指向刚刚生成的vuser.db文件,但不要写后缀。
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
第4步:在vsftpd.conf文件中添加支持配置。
既然要使用虚拟用户模式,而虚拟用户模式确实要比匿名访问模式更加的安全,配置的同时也关闭匿名开放模式。将下列参数都改 输入:vim /etc/vsftpd/vsftpd.conf
第5步:为虚拟用户设置不同的权限
如果希望用户能够完全的管理FTP内的资料,就需要让FTP程序支持独立的用户权限配置文件了
我们来配置一下文件(文件没有的话就加上,有的话就修改)
输入命令: vim /etc/vsftpd/vsftpd.conf
创建用户独立的权限配置文件存放的目录:mkdir /etc/vsftpd/vusers_dir/
切换进入到该目录中:cd /etc/vsftpd/vusers_dir/
创建空白的linuxuser1的配置文件: touch linuxuser1
指定linuxuser1用户的具体权限:输入命令: vi linuxuser1
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
接下来我们重启一下服务 :systemctl restart vsftpd
进入第二台虚拟机(客户机)输入ftp + ip
用户名和密码输入你之前设计好的
当然我们也有建立文件夹的权限
当然啦,我们在windows下也可以进行操作(虚拟用户模式访问ftp)
同样是输入自己设置的用户名和密码(这个文件是刚才在虚拟机建的)
这是一个虚拟用户我们在服务器再设置一个(因为我们在最前面设置了三个)重复上面过程
再去本地机,搜索 ftp://ip
还是显示的 那个文件