[实战]vsFTP虚拟用户问题实战汇总 [求置顶求加精:p]
-
- 帖子: 46
- 注册时间: 2015-01-15 18:02
- 系统: ubuntu 10.04
[实战]vsFTP虚拟用户问题实战汇总 [求置顶求加精:p]
我创建了一个本地用户ftpvirtual,让它属于www-data组,www-data组拥有/var/www的读写权限。刚创建时此用户为/bin/bash,我用它尝试登陆进ubuntu,到/var/www目录是可以创建目录的。然后我把它改为/bin/false,这样就无法在终端登陆了。然后我修改/etc/vsftpd.conf,开启guest,并指定其用户为ftpvirtual,再按照网上的步骤创建了虚拟用户配置目录和文件/etc/vsftpd_user_conf/hy_dev ,这样重启服务后就可以用hy_dev正常登陆了,但却总是无法上传文件,提示没有权限。我在/etc/vsftpd.conf中也加上write_enable=YES还是不行。
/etc/vsftpd_user_conf/hy_dev 的内容:
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/var/www
/etc/vsftpd_user_conf/hy_dev 的内容:
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/var/www
上次由 Lanyd518 在 2015-02-06 14:57,总共编辑 1 次。
- oneleaf
- 论坛管理员
- 帖子: 10455
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
Re: 救命啊,vsFTP虚拟用户总是无法上传文件
貌似vsftp对主目录的权限有要求的。
-
- 帖子: 46
- 注册时间: 2015-01-15 18:02
- 系统: ubuntu 10.04
Re: 救命啊,vsFTP虚拟用户总是无法上传文件
发现问题了,原来是我的粗心大意,没有直接照抄网上的,而是改了路径,但有一个地方却忘记改了。配置文件中是user_config_dir=/etc/vsftpd/vsftpd_user_conf ,实际的却是/etc/vsftpd_user_conf 。oneleaf 写了:貌似vsftp对主目录的权限有要求的。
不过虽然现在虽然能读写了,但为什么该虚拟用户配置文件中的anon_world_readable_only=YES却没有作用?这个设置为YES不是应该不能列出目录文件的吗(我看到http://wenda.haosou.com/q/1370068666067915中是这么说的)?我想让该用户只能写入,不能看到文件(是个比较特殊的需求,但我实际中确实需要这样)
-
- 帖子: 46
- 注册时间: 2015-01-15 18:02
- 系统: ubuntu 10.04
Re: 救命啊,vsFTP虚拟用户总是无法上传文件
另外,很奇怪的事,为什么我设置了local_umask=002,却还是只有上传者自己有权限呢?
drwx------ 2 ftpvirtual www-data 4096 2015-02-06 08:50 111
drwx------ 2 ftpvirtual www-data 4096 2015-02-06 09:38 222
drwx------ 2 ftpvirtual www-data 4096 2015-02-06 08:50 111
drwx------ 2 ftpvirtual www-data 4096 2015-02-06 09:38 222
-
- 帖子: 46
- 注册时间: 2015-01-15 18:02
- 系统: ubuntu 10.04
Re: 救命啊,vsFTP虚拟用户总是无法上传文件
还有,我在/etc/vsftpd.conf启用了下面这2行,可创建的目录还是属于宿主用户ftpvirtual的,上传的文件倒是属于www-data的
chown_uploads=YES
chown_username=www-data
chown_uploads=YES
chown_username=www-data
-
- 论坛版主
- 帖子: 18279
- 注册时间: 2009-08-04 16:33
-
- 帖子: 46
- 注册时间: 2015-01-15 18:02
- 系统: ubuntu 10.04
-
- 帖子: 46
- 注册时间: 2015-01-15 18:02
- 系统: ubuntu 10.04
Re: 救命啊,vsFTP虚拟用户总是无法上传文件
NND,试了整整一天,终于发现了这个规率:Lanyd518 写了:另外,很奇怪的事,为什么我设置了local_umask=002,却还是只有上传者自己有权限呢?
drwx------ 2 ftpvirtual www-data 4096 2015-02-06 08:50 111
drwx------ 2 ftpvirtual www-data 4096 2015-02-06 09:38 222
当在/etc/vsftpd.conf设置virtual_use_local_privs=NO时,无论我在虚拟用户配置文件中怎么改local_umask,上传的文件永远都是属于www-data且只有属主是rw组和其它都是空权限(即使我在虚拟用户配置文件中另外指定了chown_uploads=YES和chown_username=lanyd都没用,还是使用/etc/vsftpd.conf中的chown_username?),即虚拟用户配置文件中真正生效的只有下面几个:
local_root=/var/www
write_enable=YES
download_enable=NO
另外,anon_upload_enable=YES以及其它几个anon开头的好像也是有效,如果这个设置为NO就无法上传文件!我只是觉得有点奇怪,这个明明是给匿名用户的,为什么也会影响虚拟用户?虚拟用户明明是绑定到一个LOCAL用户的啊。
更神奇的是anon_world_readable_only=yes 。这个从字面上看是“匿名用户世界只读”,如果为YES应该是表示只读,可实际上却表示不返回文件目录列表!谁取的名字啊,神经真大条
接着,我又摸索出来一些结果:
如果我在/etc/vsftpd.conf设置virtual_use_local_privs=YES时,则所有虚拟用户上传的目录和文件的权限都使用主配置文件中的设置(即属主都为那个宿主用户ftpvirtual),且主配置文件中的local_umask也生效了(对目录也有效)。但chown_username只生效于上传的文件,对创建的目录无效!另外virtual_use_local_privs=yes,那个宿主用户ftpvirtual也会受制于主配置文件中的anon开头的那些指令(但不是虚拟用户中的这些配置指令),但如果主配置文件中没有相关anon_指令,则虚拟用户配置文件中的会生效,比如download_enable=yes
额,看起来上面关于权限的说明都错了。刚刚又试了一下,发现当virtual_use_local_privs=YES时,local_umask、chown_username和anon开头的指令无论是何处的都不生效了,而是由linux系统根据宿主用户ftpvirtual对目录文件的权限来决定的(自动从上级目录中继承而来)
上次由 Lanyd518 在 2015-02-06 18:10,总共编辑 10 次。
-
- 帖子: 46
- 注册时间: 2015-01-15 18:02
- 系统: ubuntu 10.04
Re: [实战]vsFTP虚拟用户问题实战汇总 [求置顶求加精:p]
不容易啊,总算摸索出了一些结果。把它们都记录上来,但愿能给后来者一些参考,少走一些弯路。
求版主加精,求置顶
求版主加精,求置顶

-
- 帖子: 46
- 注册时间: 2015-01-15 18:02
- 系统: ubuntu 10.04
Re: [实战]vsFTP虚拟用户问题实战汇总 [求置顶求加精:p]
其他童鞋有什么这方面的问题或发现我的有什么错误,欢迎发表,我会尽力解答虚心接受滴
-
- 帖子: 46
- 注册时间: 2015-01-15 18:02
- 系统: ubuntu 10.04
Re: [实战]vsFTP虚拟用户问题实战汇总 [求置顶求加精:p]
我特别想知道的是,难道vsFTP就没有办法让虚拟用户也能有自己的umask和chown_username吗?