Vsftp是一个很不错的ftp服务器软件,号称vs,very security,到底是不是呢,我们一起来看看吧,公司里一般都会有共享文件的需求,而FTP可以很好的解决这个问题,今天我们就vsftp这个服务器软件来说一下,完成此次实验后,我们就应该能够独立的完成FTP服务器的架设与高级配置
首先,我们要安装vsftpd这个软件,我们可以通过各种方式把它装上,我用的是yum install vsftpd -y
上图所示,我们已经安装完了vsftpd这个软件,我们启动一下它的服务,然后尝试登录,看看基本的程序有没有问题service vsftpd start
如果遇到了提示没有ftp这个命令,那我们用yum install ftp来安装一下就可以了
如上图,我们可以确定,基本程序没有问题
vsftp 在安装完成并启动后,默认情况下可以使用匿名用户,但是不能写入内容
我们来修改一下,让匿名用户可以写入,我们把
anon_upload_enable=YES
anon_mkdir_write_enable=YES
这两行前面的#去掉
重新加载一下配置文件后,我们再试试
如上图,我了个去,什么个情况,我不是允许匿名用户写入了吗
看,文件的权限,这说明啊,不是配置文件允许就真的允许的,最后还要看文件的权限,我们可以把目录属主属组改成nobody或ftp,或给其他人写入的权限
然后我们再试试,可以了吧
有时候我们的FTP是不能让匿名用户登录的,怎么办呢,我们直接禁止匿名用户就好了,如下图,我们把搜索到anon开头的值改成NO
上图中,它已经不能登录了
我们试试加个本地用户,看能不能登录FTP
用户登录都是登录到自己的家目录的,为了看的更明白,我在user家目录下建立了文件夹
下图说明本地用户可以登录成功
我们想一想,少了的话还好说,我们都用本地用户,多了的话,那我们的系统谈何安全啊,都用本地用户,那密码一泄露,我们的系统岂不是岌岌可危!!所以,下面我们来做一下虚拟用户
首先,我们要建立一下用户列表,如下图,单数为用户用,双数行为密码
安装rpm包:db4-utils,这个可以将我们的用户列表生成数据库,我已经装了,如下图,你们自己装一下
生成虚拟用户数据库
创建本地映射用户,修改用户家目录权限,让其他人可以读取和写入
useradd -d /ftp/virtual -s /sbin/nologin virtual
chmod o+rw /ftp/virtual
修改 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里
修改/etc/vsfptd/vsftp.conf,增加下面这两行,这两行就是说启用guest用户,用户名是virtual
guest_enable=YES
guest_username=virtual
我们重启一下服务,然后用虚拟用户登录试试
如下图,完全正常