vsftpd的登陆方式(三种方法)
1、 匿名登陆
使用用户名anonymous或ftp,如之前所示,登陆后的根目录为/var/ftp。
2、 本地用户登陆
使用系统账号和口令登陆ftp服务器,登陆后的根目录为用户的宿主目录,并且可以转换到其他系统目录。
现在测试一下用本地用户登陆,首先创建一个名为userftp的系统账号。
useradd userftp
passwd userftp
在windows下测试,用userftp登陆服务器
我们可以发现登陆后的根目录就是userftp的宿主目录,而且可以改变路径前往其他目录。如图userftp前往到了/home/userftp目录以外的/etc/vsftpd目录下。而且在它自己的根目录下,拥有可读可写可执行的权限,也就是说在/home/userftp目录下可以自由上传和下载。
我们顺便测试一下.message文件的作用,.message的作用就是在ftp用户访问FTP目录时显示欢迎信息。我们在用户根目录下用vi来创建一个.message文件
vi .message
保存退出,用windows客户端登录ftp
可以发现多了一行hello world!其实不仅仅是在根目录,在其他目录中也可以使用。
如果要把系统账号锁定在它自己的根目录下,不让它到处乱跑,该怎么办呢?我们可以在vsftpd.conf中添加一条语句chroot_loacl_user=YES,这样就可以限制系统账号了。
重启vsftpd
service vsftpd restart
可以发现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
重启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来说,可以进行上传、下载、创建、删除等各种操作。
而对于usertest2来说,几乎没有任何权限,什么都做不了。
RHEL5.7下的vsftpd服务器配置(2)
内容版权声明:除非注明,否则皆为本站原创文章。