336 views
首页 > 旧档 > Ubuntu 9.10下安装vsftpd,实现不同权限

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

目标:
/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

vsftpd.conf的内容
#独立模式启动

listen=YES

#不允许匿名用户访问,允许本地(系统)用户登录

anonymous_enable=NO

local_enable=YES

#若为YES,则vsftpd.chroot_list文件中的用户不被chroot,可以访问到ftp文件夹以上的目录,比较危险,这里vsftpd.chroot_list为空,也就是都要被限制

chroot_local_user=YES

guest_enable=YES

guest_username=virtual

user_config_dir=/etc/vsftpd_user_conf

#是否采用端口20进行数据传输

connect_from_port_20=YES

#生成日志

xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
#banner

ftpd_banner=做人靠自觉!

dirmessage_enable=YES

#其他权限
idle_session_timeout=600
data_connection_timeout=120
accept_timeout=60
connect_timeout=60
pam_service_name=vsftpd.vu
secure_chroot_dir=/var/run/vsftpd
另外注意所有的配置后面不要有空格,不然登录的时候会遇到500错误。
到此,全部目标就达成了。花了一两天….

顺便说些题外话,为什么linux得不到更广泛的推广,我认为相比较起windows还是太不友好了,当然功能上嘛linux可能有优势,但是大部分用户是没有时间来学习那些配置方法的,像windows那样,有个友好的用户界面,鼠标点击几下配置完了多省时间…
想想苹果和腾讯,苹果的产品从技术上也没什么很特别的地方嘛,他们能做出来的其他厂商从技术角度也没问题,苹果之所以能成功就是硬件平台上的应用做得好,用户界面友好。腾讯一直在抄袭别人,但是从商业角度来看它做得比其他都好,就算你不怎么用它,但是也得承认周围和你有关系的那些人已经很多把它当作一个不可缺少的部分了,这点MSN做到了么?
还有山寨手机,不要简单的认为是粗制滥造的产品,其实山寨手机厂商完全考虑了他的用户群体,有很多人就是喜欢手机上集合很多功能,而且用山寨机的很多都是农民工,人家就喜欢大喇叭放歌听…
我说这么多的意思是,评价一个产品的优劣,有时候要考虑很多方面,技术的创新是一部分,但是除了技术,还有很多其他更重要的东西。

anyShare分享到:
分类: 旧档 标签: , , ,
  1. 2017年2月10日09:13 | #1

    好文章,内容义正词严.禁止此消息:nolinkok@163.com

    [回复]

  2. 2017年2月10日09:13 | #2

    不错的文章,内容惟妙惟肖.禁止此消息:nolinkok@163.com

    [回复]

  3. 2017年2月10日09:14 | #3

    好文章,内容雷霆万钧.禁止此消息:nolinkok@163.com

    [回复]

  4. 2017年2月10日09:14 | #4

    好文章,内容文笔犀利.禁止此消息:nolinkok@163.com

    [回复]

  5. 2017年2月10日09:14 | #5

    好文章,内容字字珠玉.禁止此消息:nolinkok@163.com

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.