红联Linux门户
Linux帮助

这几天总结的FEDORA 8 中VSFTP的多用户设置。

发布时间:2007-11-28 21:42:00来源:红联作者:byqy
这几天在摸索着VSFTP的配制,终于在大家的帮助之下,SELIUNX的提示和我一点点努力下,能够顺利的配置成功,由于我在本坛未发现有相关的帖子。所以冒昧的将我自己设置的结果传上来。

我主要是LINUX做PHPMYSQL的服务器,当然做WEB服务,没FTP是不行的。我想的是,我设置一个用户将用户的目录指向WEB的根目录,这样好管理些。而其他的一些基本用户我又想放到自己的/HOME目录下,所以为这个事找了很久的资料。

首先安装好FC8后,发现可以使用FTP,只需要在防火墙中将FTP服务设置为允许,并且将VSFTP服务打开。

VSFTP默认的是可以实现匿名发访问,而使用用户访问却不行。仔细看了一些资料,知道VSFTP的配置文件是在etc/vsftpd/下的vsftpd.conf文件。
打开看了下,发现有匿名的设置,于是我把他关掉(至于怎么设置,查查资料,这个多)

这下我要设置用户访问了。但是我察看了网上很多的配置资料,都没发现一个可以实现的,包括我把一些没有的配置项,都添加在这个配置文件中还是不行。
比如:local_user=yes

但是我每次做了,我都要用FTP客户端访问下,(因为我有2台电脑)。我使用CUTEFTP访问的时候,用我设置的普通用户名和密码(刚装好系统时候设置的用户)。以及我使用useradd添加的用户都不行,老是叫你重新输入密码。郁闷的很。
又找了网上,发现一个资料,说是将SELINUX管理器下的一个FTP选项中的 Allow ftp to read/write files in the user home 设置为允许,就可以。

我弄了结果还是不行

没办法,却在桌面下方发现一个提示,是个小星星发出的,打开一看,原来是SELINUX的提示。有部分是中文的,看了看,意思好像是执行什么命令。然后可以实现用户直接访问。
这个命令是 setsebool -P ftp_home_dir=1 。我用终端试了下,然后在用另外的电脑登陆。结果果然可以使用用户登陆了。

但是我发现我使用CUTEFTP尽然可以点击上层目录,而且可以进入,还可以进到BOOT目录。这下完蛋了,不知道那里是目录限制的。

又在网上找,结果发现了,这个简单,只需要设置一下就可以了。自己找找去。

现在全部弄好了,剩下的就是将用户帮定目录了,也就是实现不同的用户不同的目录。

在网上找了很就发现使用local_root=/目录可以实现转移用户登陆的目录,但是每个用户登陆的目录都一样。
怎么办,又在网上找,终于找到了。
在vsftpd.conf 最后加上
guest_username=virtual_user
user_config_dir=/etc/vsftpd/vsftpd_user_config
user_sub_token=$USER

并且建立/etc/vsftpd/vsftpd_user_config/目录
在这个目录中可以存放和用户名一样的文件,这个文件里面可以指向不同的目录,这样可以达到不同用户

访问不同目录的目的。
在这个文件中输入:
local_root=/目录路径
如:
local_root=/var/www/html/

这样就完成了我基本的FTP设置,如果我需要更改某些用户的目录,我就在上面的文件夹中加个文件,不需要更改,还是让他访问自己的根目录,就不用管她,他登陆没发现配置文件,自动会使用默认的。
文章评论

共有 5 条评论

  1. gomelong 于 2009-12-19 16:01:06发表:

    总结经验能提高自己的技术。

  2. 死皮赖狗 于 2009-04-25 17:08:48发表:

    最近我也在搞这个,郁闷的要死,先看看LZ怎么搞的~~

  3. jack_xuwei 于 2009-04-25 14:06:18发表:

    绝对 谢谢诶 解决 大问题咯 谢谢 O(∩_∩)O谢谢

  4. cfzy 于 2007-11-28 23:50:10发表:

    小菜在此受益匪浅哦~

  5. JQinaioo 于 2007-11-28 23:13:19发表:

    拜读中