Vsftpd完全攻略(六)建立多个虚拟用户支持ftp不同访问权限【2】

注意 :主配置文件是虚拟账号共享的配置,所以主配置文件的设置对于虚拟账号是生效的
 
提示 每行的值都不要有空格 , 否则启动时会出现错误 , 举个例子 , 假如我在 listen=YES 后多了个空格 , 那我启动时就出现如下错误 :500 OOPS: bad bool value in config file for: listen  

2)建立虚拟帐号配置文件


user_config_dir 指定路径下,建立与虚拟帐号同名的配置文件并添加相应的配置字段
[root@red-hat-5 vsftpd]# mkdir /vsftpd_login
[root@red-hat-5 vsftpd]# touch /etc/vsftpd/vsftpd_login/public
[root@red-hat-5 vsftpd]# touch /etc/vsftpd//vsftpd_login/personal

首先建立普通帐号public 的配置文件
 
[root@red-hat-5 vsftpd_login]# echo guest_enable=yes >>public
[root@red-hat-5 vsftpd_login]# echo guest_username=ftp_public >>public
[root@red-hat-5 vsftpd_login]# echo anon_world_readable_only=no >>public
[root@red-hat-5 vsftpd_login]# echo anon_max_rate=50000 >>public
[root@red-hat-5 vsftpd_login]# cat public
guest_enable=yes              
开启虚拟帐号登录
guest_username=ftp_public     
设置 ftp 对应的系统帐号为 ftp_public
anon_world_readable_only=no  
不允许匿名用户浏览器整个服务器的文件系统
anon_max_rate=50000    
限定传输速率为 50KB/s
 
注意
vsftpd
对于文件传输速度限制并不是绝对锁定在一个数值上哈,而是在 80%~120% 之间变化哈 ~ 比如设置 100KB/s 则实际是速度在 80KB/s~120KB/s 之间变化哈 ~
 
接着建立专用帐号的配置文件personal
 
[root@red-hat-5 vsftpd_login]# echo guest_enable=yes >> personal
[root@red-hat-5 vsftpd_login]# echo guest_username=ftp_personal >> personal
[root@red-hat-5 vsftpd_login]# echo anon_world_readable_only=no >> personal
[root@red-hat-5 vsftpd_login]# echo anon_mkdir_write_enable=yes >> personal
[root@red-hat-5 vsftpd_login]# echo anon_upload_enable=yes >> personal
[root@red-hat-5 vsftpd_login]# echo anon_max_rate=50000 >> personal
[root@red-hat-5 vsftpd_login]# cat personal
guest_enable=yes
          
开启虚拟帐号登录
guest_username=ftp_ personal
设置 ftp 对应的系统帐号为 ftp_personal
anon_other_write_enable=YES: 
允许匿名账号具有删除 . 更名权限
anon_mkdir_write_enable=yes
允许创建文件夹
anon_upload_enable=yes     
启匿名帐号的上传功能
anon_world_readable_only=no:
不允许匿名用户浏览整个服务器的文件系统
anon_max_rate=100000     
限定传输速度为 100KB/s
[root@red-hat-5 ~]# service vsftpd restart
关闭 vsftpd                                              [ 确定 ]
vsftpd 启动 vsftpd                                      [ 确定 ]
 
如果还是连不上,建议重新启动一下系统

5.测试权限是否生效

[root@red-hat-5 viong]# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): public
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put hong.txt
550 Permission denied
ftp> del viong.txt
550 Permission denied.
ftp> mkdir hong
550 Permission denied.
ftp> mget viong.txt
mget viong.txt?
227 Entering Passive Mode (127,0,0,1,181,255)
150 Opening BINARY mode data connection for viong.txt (0 bytes).
226 File send OK.
 
通过测试得知 public 这个用户只支持下载权限,说明设置成功
 
C:\Users\Administrator>ftp 192.168.184.129
连接到 192.168.184.129
220 (vsFTPd 2.0.5)
用户 (192.168.184.129:(none)): personal
331 Please specify the password.
密码 :
230 Login successful.
ftp> mput hong.txt
mput hong.txt?
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 File receive OK.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
hong.txt
viong.txt
226 Directory send OK.
ftp: 收到 99 字节,用时 0.00 33.00 千字节 / 秒。
ftp> mkdir viong
257 "/viong" created
ftp> get MAK 密钥激活次数查看器.rar
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for MAK 密钥激活次数查看器 .rar (2000998 bytes).
226 File send OK.
ftp: 收到 2000998 字节,用时 38.71 51.69 千字节 / 秒。
ftp> delete MAK 密钥激活次数查看器.rar
250 Delete operation successful.
ftp> rename hong.txt viong.txt
350 Ready for RNTO.
250 Rename successful.
 
通过测试得知 personal 这个用户支持上传 . 下载 . 删除 . 更改权限,说明设置成功
 
关于把上传数据发布到普通虚拟用户家目录下提供下载!
 
[root@red-hat-5 ~]# cp /var/ftp/personal/* /var/ftp/public/
把上传数据发布到普通虚拟用户家目录下提供下载
[root@red-hat-5 ~]# chown -R ftp_public.ftp_public /var/ftp/public/  
更改public目录的所有者和属组为ftp_public,这样public用户才能下载
 
还有一种方法就是在personal 配置文件加入以下两个参数
 
chown_uploads=YES 激活匿名用户所上传文件的修改所有权
chown_username=root 拥有匿名用户上传文件所有权的用户
 
然后就可以直接拷贝文件到public目录下
 
 

你可能感兴趣的:(职场,休闲,Vsftpd完全攻略)