RHEL5.7下的vsftpd服务器配置(2)

vsftpd的登陆方式(三种方法) 
1、 匿名登陆 
使用用户名anonymous或ftp,如之前所示,登陆后的根目录为/var/ftp。 
2、 本地用户登陆 
使用系统账号和口令登陆ftp服务器,登陆后的根目录为用户的宿主目录,并且可以转换到其他系统目录。 
现在测试一下用本地用户登陆,首先创建一个名为userftp的系统账号。 
useradd userftp 
passwd userftp 
在windows下测试,用userftp登陆服务器 

clip_image002[8]

 
我们可以发现登陆后的根目录就是userftp的宿主目录,而且可以改变路径前往其他目录。如图userftp前往到了/home/userftp目录以外的/etc/vsftpd目录下。而且在它自己的根目录下,拥有可读可写可执行的权限,也就是说在/home/userftp目录下可以自由上传和下载。 
我们顺便测试一下.message文件的作用,.message的作用就是在ftp用户访问FTP目录时显示欢迎信息。我们在用户根目录下用vi来创建一个.message文件 
vi .message 
 
保存退出,用windows客户端登录ftp 

clip_image006

 
可以发现多了一行hello world!其实不仅仅是在根目录,在其他目录中也可以使用。 
如果要把系统账号锁定在它自己的根目录下,不让它到处乱跑,该怎么办呢?我们可以在vsftpd.conf中添加一条语句chroot_loacl_user=YES,这样就可以限制系统账号了。 

clip_image008

 
重启vsftpd 
service vsftpd restart 

clip_image002[10]

 
可以发现userftp账号无法改变到其他目录下了。 
3、 虚拟用户登录 
由于本地用户存在一定的方式安全隐患,所以又有了另外一种登录方式,即虚拟用户代替本地用户登录。虚拟用户账户和本地账户没有任何关联,而是保存在一个加密的文件中。下面来看一下虚拟用户的创建和登录过程。 
(1) 建立虚拟用户口令库文件 
在任意目录下创建一个文本文件vu_list.txt 
vi vu_list.txt 
 
其中奇数行代表用户名,偶数行代表密码,注意不要有多余的回车。 
(2) 生成vsftpd的认证文件到/etc/vsftpd目录下 
#db_load–T –t hash –f vu_list.txt /etc/vsftpd/vu_list.db 
注意,如果系统不能识别db_load命令,请把下图的软件包装全 
 
设置认证文件只对用户可读可写 
chmod 600 /etc/vsftpd/vu_list.db 
(3) 建立虚拟用户所需的PAM配置文件 
在/etc/pam.d/目录下,有一个名为vsFTPd的文���,这是使用PAM相关模块时用到的文件,主要用作本地用户身份验证之用。现在我们用的是虚拟用户,自然不能用这个文件了,我们可以在这个目录下新创建一个文件vsftpd.vu,输入以下内容 
vi /etc/pam.d/vsftpd.vu 
 
此时建一个本地用户,但不要创建密码,我们创建的虚拟用户根目录都可以映射到这个本地用户的根目录下。 
现在需要修改vsftpd.conf文件,增加两行命令 
允许虚拟用户访问 
guest_enable=YES 
虚拟用户所映射的本地用户名 
guest_username=virtualuser 
将原有的vsftpd认证文件改为新创建的vsftpd.vu 
pam_service_name=vsftpd.vu 

clip_image010

 
重启vsftpd服务 
service vsftpd restart 
这时就可以用之前创建的usertest1和usertest2登陆了,但是不能再用本地用户登陆。 
然后这时候的虚拟用户权限很低,只有最基本的访问权限。所以我们需要在主配置文件里修改不同虚拟用户的权限。在没有指定虚拟账号根目录的情况下,usertest1和usertest2的根目录都在/home/virtualuser目录下 
创建一个用于包含虚拟用户权限的目录 
mkdir /etc/vsftpd_vu 
进入vsftpd.conf,增加一行,指向刚才创建的目录 
user_config_dir=/etc/vsftpd_vu 
 
对于虚拟用户来说,有下面4个权限可以设置。如果包含了后三个权限的话,就代表这个虚拟用户拥有了所有的权限。 
anon_world_readable_only=NO 用户的只读权限 
anon_upload_enable=YES 允许上传 
anon_mkdir_write_enable=YES 允许创建和删除目录的权限 
anon_other_write_enable=YES 允许其他可写权限(如改名和删除) 
进入/etc/vsftpd_vu目录,创建两个文件usertest1和usertest2 
cd /etc/vsftpd_vu 
vi usertest1 
 
vi usertest2 
 
两个文件权限相反,usertest1拥有所有权限,而usertest2只有可读权限。 
重启vsftpd服务 
service vsftpd restart 
这时对于usertest1来说,可以进行上传、下载、创建、删除等各种操作。 

clip_image017

 
而对于usertest2来说,几乎没有任何权限,什么都做不了。 

clip_image018

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ppdys.html