FTP服务器配置感觉有三点难关
1、允许不允许用户跳出指定主目录
2、修改ftp默认端口
3、分配不同的权限给虚拟用户
4、本地用户和ftp用户同时在线。
接上文,这次修改虚拟用户,以及修改配置让他们同时在线
1、在/etc/vsftpd目录下,创建一个虚拟用户表和密码的文件,一行用户名,一行密码
Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)
2、安装生成虚拟帐号数据库工具db
sudo apt-get install db4.8-util
你可以看一下是否已经安装,怎么看?
yum list installed|grep db 或者rpm -qa|grep db能查出来都行,不会查那就大不了重新再装一遍。

3、创建虚拟账号数据库
db_load -T -t hash -f virtualuser.list vusers.db(生成的库名)
file vusers.db(查看数据库信息)
Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)
4、添加虚拟账号映射账号(此账号为ftp服务器上真实存在的,为了安全此用户一般设置为不可登录)
在这里需要声明一下,不要说我截图里问什么用户名一个是user,一个是ftp,到底哪个是本地用户?这两个都是,当时为了做实验,看看虚拟用户能否更改本地用户,修改后发现可以,也就懒得改截图了。因为干这行的都懂命令的意思,只是缺少点思路,我这个就是抛砖引罢了。
#useradd -d /home/user1 -s /sbin/nologin user1
#passwd user1(123456)(给用户设置密码)
#chmod 755 /home/user1/(设置此用户家目录的权限,若虚拟用户的家目录不打算指定到此目录下,此步可以省略)

Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)
5、.增加pam认证(安全考虑)
#vim /etc/pam.d/vsftpd.vu(添加此文件)
#auth required pam_userdb.so db=/etc/vsftpd/vusers(结尾不带.db)
#account required pam_userdb.so db=/etc/vsftpd/vusers
Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)
在这里要注意,根据Linux系统位数不同,目录也不一样。
32位目录是:lib 64位目录:lib64
在这里要问这个 required和图片上的 sufficient为什么不一样,一会告诉你区别。
6、修改、etc/vsftpd.conf配置文件并重启服务,图片参考啊!
anonymous_enable=NO//配置文件上原来应该有
local_enable=YES//这个应该也有
guest_enable=YES//这个需要自己写
guest_username=本地用户//看着写
pam_service_name=vsftpd.vu//可以新建也可以用原来的
allow_writeable_chroot=YES//有就不写
Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)
创建需要的文件及目录
#mkdir -p /etc/vsftpd/virtual.config(此目录下放置虚拟用户的配置文件)
#touch -p /etc/vsftpd/chroot_list
#echo ‘user1’>chroot_list
7、创建用户家目录virtual.config,并创建虚拟用户的同名配置文件
Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)
#cd /etc/vsftpd/ virtual.config
#touch aaa bbb ccc
#cd /home
#mkdir aaa bbb ccc
修改家目录的属主属组为user1,权限为777
chown user1.user1 aaa
chown user1.user1 bbb
chown user1.user1 ccc
chmod 777 aaa
chmod 777 bbb
chmod 777 ccc
8、给这几个虚拟账号分配不同的权限,在配置文件aaa、bbb、ccc里面修改
Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)
这里是重点
虚拟用户配置成功之后会发现,虚拟用户和本地用户似乎无法共存?经过多个配置文件的修改和反复试错之后,我终于发现问题所在。一个是pam认证,一个是配置文件。
1.PAM认证,如果只有这两行,虚拟用户可用,本地用户用不了,如果使用原来的pam认证文件,本地用户可用,虚拟用户不可用。把这两行修改后加进去才可以同时并存,注意,修改后的新增语句还必须在最上面,最下边还不行。
Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)
上修改后的图片
Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)
2.首先,我们需要让本地用户和虚拟用户都拥有访问权限,修改下配置文件就行。
Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)
然后,在主配置文件/etc/vsftpd/vsftpd.conf文件中,要注意把有关虚拟用户这几行命令给注释掉,他们不应该在这里,而是应该在虚拟用户的配置文件中。
Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)看下虚拟用户的配置文件,这两个命令在这里
Linux下配置FTP服务器三之三(配置一个正常的ftp服务器有多难?)
然后,你就会发现,不会发生冲突了。可以同时使用他们了。
总结下,虽然很费劲,但还是搞完了实验,基本上弄明白了。中间找了好多文章参考,做实验。非常感谢!
参考文章:
https://blog.csdn.net/zhaoyangjian724/article/details/45824913
https://blog.csdn.net/fostudio/article/details/23022779
https://blog.csdn.net/simongeek/article/details/81982920




相关文章: