存档

文章标签 ‘vsftpd’

Ubuntu 9.10下安装vsftpd,实现不同权限

2011年1月12日 8 条评论

目标:
/home/ftp这个目录底下放东西,两个用户,一个可以上传下载,建立目录,另外一个除了以上功能,还有删除文件和目录的权力,相当于管理员。
过程:
首先参考了wiki上的两篇
http://wiki.ubuntu.org.cn/Vsftpd服务安装设置
http://wiki.ubuntu.org.cn/Vsftpd虚拟用户设置

所以vsftpd的安装及简单配置方法就带过,请直接看以上两篇。

一开始的想法是用一个本地用户当作管理员进行管理,一个虚拟用户上传下载。于是开始的时候就设置了一个虚拟用户,一个本地用户。后来发现出了问题!
在开启虚拟用户功能以后,在/ect/vsftpd.conf添加
guest_enable=YES 之后,就意味着所有非匿名用户登录以后都是guest用户。 guest用户的名字由 guest_username=virtual 决定 ,而virtual也是一个本地用户(详细内容看vsftpd虚拟用户设置那一篇),也就是说只要开启这个功能,本地用户登录后也会映射到另一个本地用户virtual那里,所以我的理解是只要用了虚拟用户,就不可以再用其他本地用户了(我做了实验,建了个和所在文件夹同组同权限的本地用户,是没有办法登录的)。正是基于以上原因,所以我最后改成两个都是虚拟用户,只是权限不同。
按照 http://wiki.ubuntu.org.cn/Vsftpd虚拟用户设置 中的说法,所有的匿名用户都要映射到一个本地用户上,所以在虚拟用户的配置里也要加上 local_enable=YES ;但是这里的允许local_enable用户登录就指的不是其他的本地用户了,单单是虚拟用户要映射的那一个。

附上我的配置文件和详细的安装过程:
$sudo apt-get install vsftpd
9.10下的目录默认不是/home/ftp了,而是/srv/ftp,所以可以自己新建一个目录
sudo mkdir /home/ftp

然后大致都跟虚拟用户设置那篇一样,照葫芦画瓢就行了
注意到新建一个本地用户virtual那里,还要改/ftp那个目录的所有者,网上的教程里面使virtual不能登录系统用的是/bin/nologin ,好像是red hat的方法哈,不适用这里。

虚拟用户test的配置
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
chmod_enable=YES
anon_mkdir_write_enable=YES
local_root=/home/ftp/

拥有删除文件目录权限的admin配置,红色是跟上面不同的地方哈
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/ftp
阅读全文…

分类: 旧档 标签: , , ,