Vsftpd 之虚拟用户

Vsftp是一个很不错的ftp服务器软件,号称vs,very security,到底是不是呢,我们一起来看看吧,公司里一般都会有共享文件的需求,而FTP可以很好的解决这个问题,今天我们就vsftp这个服务器软件来说一下,完成此次实验后,我们就应该能够独立的完成FTP服务器的架设与高级配置

首先,我们要安装vsftpd这个软件,我们可以通过各种方式把它装上,我用的是yum install vsftpd -y

clip_image002[6]

上图所示,我们已经安装完了vsftpd这个软件,我们启动一下它的服务,然后尝试登录,看看基本的程序有没有问题service vsftpd start

clip_image004[6]

clip_image006[6]

clip_image008[6]

如果遇到了提示没有ftp这个命令,那我们用yum install ftp来安装一下就可以了

如上图,我们可以确定,基本程序没有问题

vsftp 在安装完成并启动后,默认情况下可以使用匿名用户,但是不能写入内容

clip_image010[6]

我们来修改一下,让匿名用户可以写入,我们把

anon_upload_enable=YES

anon_mkdir_write_enable=YES

这两行前面的#去掉

clip_image012[6]

重新加载一下配置文件后,我们再试试

clip_image014[6]

clip_image016[6]

如上图,我了个去,什么个情况,我不是允许匿名用户写入了吗

看,文件的权限,这说明啊,不是配置文件允许就真的允许的,最后还要看文件的权限,我们可以把目录属主属组改成nobody或ftp,或给其他人写入的权限

clip_image018[6]

clip_image020[6]

然后我们再试试,可以了吧

clip_image022[6]

有时候我们的FTP是不能让匿名用户登录的,怎么办呢,我们直接禁止匿名用户就好了,如下图,我们把搜索到anon开头的值改成NO

clip_image024[6]

clip_image026[6]

上图中,它已经不能登录了

我们试试加个本地用户,看能不能登录FTP

clip_image028[6]

用户登录都是登录到自己的家目录的,为了看的更明白,我在user家目录下建立了文件夹

clip_image030[6]

下图说明本地用户可以登录成功

 

我们想一想,少了的话还好说,我们都用本地用户,多了的话,那我们的系统谈何安全啊,都用本地用户,那密码一泄露,我们的系统岂不是岌岌可危!!所以,下面我们来做一下虚拟用户

首先,我们要建立一下用户列表,如下图,单数为用户用,双数行为密码

clip_image034[6]

安装rpm包:db4-utils,这个可以将我们的用户列表生成数据库,我已经装了,如下图,你们自己装一下

clip_image036[6]

生成虚拟用户数据库

clip_image038[6]

创建本地映射用户,修改用户家目录权限,让其他人可以读取和写入

useradd -d /ftp/virtual -s /sbin/nologin virtual

chmod o+rw /ftp/virtual

clip_image040[6]

修改 pam认证文件,路径是/etc/pam.d/vsftpd,将现有的内容加个#,注释掉,然后加入下面这两行,很多教程上都没有写要注释掉,然后最后的结果都不成功

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_virtual

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_virtual

请注意,/lib这里,64位系统就写成/lib64,笔者就迷糊在了这里,死活就不能登录,一看/lib里就没有.so文件,在/lib64里

clip_image042[6]

修改/etc/vsfptd/vsftp.conf,增加下面这两行,这两行就是说启用guest用户,用户名是virtual

guest_enable=YES

guest_username=virtual

clip_image044[6]

我们重启一下服务,然后用虚拟用户登录试试

如下图,完全正常

clip_image046[8]