注意:主配置文件是虚拟账号共享的配置,所以主配置文件的设置对于虚拟账号是生效的
提示:每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在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
注意:
vsftpd 对于文件传输速度限制并不是绝对锁定在一个数值上哈,而是在80%~120%之间变化哈~比如设置100KB/s则实际是速度在80KB/s~120KB/s之间变化哈~
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_enable=yes:
开启虚拟帐号登录
guest_username=ftp_ personal :
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目录下