这几天在摸索着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设置,如果我需要更改某些用户的目录,我就在上面的文件夹中加个文件,不需要更改,还是让他访问自己的根目录,就不用管她,他登陆没发现配置文件,自动会使用默认的。


gomelong 于 2009-12-19 16:01:06发表:
总结经验能提高自己的技术。
死皮赖狗 于 2009-04-25 17:08:48发表:
最近我也在搞这个,郁闷的要死,先看看LZ怎么搞的~~
jack_xuwei 于 2009-04-25 14:06:18发表:
绝对 谢谢诶 解决 大问题咯 谢谢 O(∩_∩)O谢谢
cfzy 于 2007-11-28 23:50:10发表:
小菜在此受益匪浅哦~
JQinaioo 于 2007-11-28 23:13:19发表:
拜读中