安装了vsftpd,如何让匿名用户有上传权限
- vincent_zh
- 帖子: 129
- 注册时间: 2008-04-05 10:56
- 来自: 学校
安装了vsftpd,如何让匿名用户有上传权限
我已经按照把/etc/vsftpd.conf文件设置设置成了
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
但还是匿名用户不能上传文件,请问该怎么解决???
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
但还是匿名用户不能上传文件,请问该怎么解决???
修己,安人
- AlphaWu
- 帖子: 50
- 注册时间: 2007-11-21 11:43
- 联系:
- vincent_zh
- 帖子: 129
- 注册时间: 2008-04-05 10:56
- 来自: 学校
- vincent_zh
- 帖子: 129
- 注册时间: 2008-04-05 10:56
- 来自: 学校
-
- 帖子: 1331
- 注册时间: 2006-07-09 12:22
- 来自: 南京
- vincent_zh
- 帖子: 129
- 注册时间: 2008-04-05 10:56
- 来自: 学校
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
上面的就是配置文件里除掉注释行后的内容了,请看下,有什么问题吗??
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
上面的就是配置文件里除掉注释行后的内容了,请看下,有什么问题吗??
修己,安人
-
- 帖子: 1331
- 注册时间: 2006-07-09 12:22
- 来自: 南京
- vincent_zh
- 帖子: 129
- 注册时间: 2008-04-05 10:56
- 来自: 学校
照楼上所说的做了,运行有如下,请看下,是什么原因
ftp> lcd Shell/linux-course/
Local directory now /home/vincent/Shell/linux-course
ftp> put 001.sh
local: 001.sh remote: 001.sh
200 PORT command successful. Consider using PASV.
550 Permission denied.
ftp> PASV
?Invalid command
ftp> passive
Passive mode on.
ftp> put 001.sh
local: 001.sh remote: 001.sh
227 Entering Passive Mode (127,0,0,1,143,102)
550 Permission denied.
ftp> ls
227 Entering Passive Mode (127,0,0,1,207,133)
150 Here comes the directory listing.
lrwxrwxrwx 1 0 0 19 Apr 18 03:27 Movie -> /media/sdb6/movies/
drwxr-xr-x 3 0 0 4096 Apr 15 13:25 Shell
drwxrwxrwx 3 0 0 4096 Apr 18 10:32 temp
226 Directory send OK.
ftp文件夹是在/home下,ftp文件夹,权限如下
drwxr-xr-x 4 root nogroup 4096 2008-04-18 11:27 ftp
请看下是什么原因??谢谢
ftp> lcd Shell/linux-course/
Local directory now /home/vincent/Shell/linux-course
ftp> put 001.sh
local: 001.sh remote: 001.sh
200 PORT command successful. Consider using PASV.
550 Permission denied.
ftp> PASV
?Invalid command
ftp> passive
Passive mode on.
ftp> put 001.sh
local: 001.sh remote: 001.sh
227 Entering Passive Mode (127,0,0,1,143,102)
550 Permission denied.
ftp> ls
227 Entering Passive Mode (127,0,0,1,207,133)
150 Here comes the directory listing.
lrwxrwxrwx 1 0 0 19 Apr 18 03:27 Movie -> /media/sdb6/movies/
drwxr-xr-x 3 0 0 4096 Apr 15 13:25 Shell
drwxrwxrwx 3 0 0 4096 Apr 18 10:32 temp
226 Directory send OK.
ftp文件夹是在/home下,ftp文件夹,权限如下
drwxr-xr-x 4 root nogroup 4096 2008-04-18 11:27 ftp
请看下是什么原因??谢谢
修己,安人
- vincent_zh
- 帖子: 129
- 注册时间: 2008-04-05 10:56
- 来自: 学校
- vincent_zh
- 帖子: 129
- 注册时间: 2008-04-05 10:56
- 来自: 学校
-
- 帖子: 445
- 注册时间: 2007-08-27 17:31
ftp文件夹是在/home下,ftp文件夹,权限如下
drwxr-xr-x 4 root nogroup 4096 2008-04-18 11:27 ftp
在你配置文件中没有找到匿名文件的地址,加上
anon_root=/home/ftp
把匿名根目录定义到/home/ftp下,注意匿名根目录下的其他用户不能有w权限
也就是-rwxr-x(r-x) 括号里的其他权限不能出现w,不然会出错,
如果要匿名上传,可在/home/ftp下,建立个新文件夹,这个文件夹的其他用户必需有
W权限,不然不能上传.还可以再新建一个文件夹,不要有写权限,就可以只让下载了!
如果是匿名用户上传,上传的目录中其他用户权限必须有w权限,你可以看下我写的《vsftpd小手册》帖子
也就是
d rwx r-x rwx
如果对linux权限有疑问,可以看下我写的《squid透明代理实例》帖子,里边有提到权限问题
在罗嗦下有关生成文件掩码问题
比如上楼的umask=022
这个命令的意思为,新生成的文件不允许组成员和其他成员拥有写权限,在匿名用户上传时最后不要这样设置
因为这样就不允许匿名用户拥有写权限了,
022其实是一组8进制的数,umask代表不允许创建拥有的权限。
0代表没有权限,反过来就是目录所有者有所有权限,既rwx
2代表允许写入,反过来就是不允许写入
长用的还有umask=077
7代表允许所有权限,反过来就是不允许所有权限,
077的意思就很明显了,除了目录所有者,组和其他用户没有任何权限
综合起来,匿名用户上传的掩码设置为071是比较好的,即:anon_umask=071
意思为:-rwx --- rw- 文件拥有者有所有权限,组没有权限,其他用户只有读写权限,执行权限就不要给了!
还有个问题,就是anon_other_write_enable这个参数,开启就要承担风险,因为匿名用户可以随便删除
目录的文件,但不开启又不能续传文件,如果开启,最好给这目录加上特殊权限sticky-bit,
命令:sudo chmod o+t /home/ftp 成功的话,就能看到这样的权限
-rwx r--r-T ,如果其他用户拥有x权限的话就是 -rwx r--r-t (小写)
sticky-bit属于特殊权限,意思是不管其他用户有什么权限,只有拥有者有删除和移动权限
drwxr-xr-x 4 root nogroup 4096 2008-04-18 11:27 ftp
在你配置文件中没有找到匿名文件的地址,加上
anon_root=/home/ftp
把匿名根目录定义到/home/ftp下,注意匿名根目录下的其他用户不能有w权限
也就是-rwxr-x(r-x) 括号里的其他权限不能出现w,不然会出错,
如果要匿名上传,可在/home/ftp下,建立个新文件夹,这个文件夹的其他用户必需有
W权限,不然不能上传.还可以再新建一个文件夹,不要有写权限,就可以只让下载了!
如果是匿名用户上传,上传的目录中其他用户权限必须有w权限,你可以看下我写的《vsftpd小手册》帖子
也就是
d rwx r-x rwx
如果对linux权限有疑问,可以看下我写的《squid透明代理实例》帖子,里边有提到权限问题
在罗嗦下有关生成文件掩码问题
比如上楼的umask=022
这个命令的意思为,新生成的文件不允许组成员和其他成员拥有写权限,在匿名用户上传时最后不要这样设置
因为这样就不允许匿名用户拥有写权限了,
022其实是一组8进制的数,umask代表不允许创建拥有的权限。
0代表没有权限,反过来就是目录所有者有所有权限,既rwx
2代表允许写入,反过来就是不允许写入
长用的还有umask=077
7代表允许所有权限,反过来就是不允许所有权限,
077的意思就很明显了,除了目录所有者,组和其他用户没有任何权限
综合起来,匿名用户上传的掩码设置为071是比较好的,即:anon_umask=071
意思为:-rwx --- rw- 文件拥有者有所有权限,组没有权限,其他用户只有读写权限,执行权限就不要给了!
还有个问题,就是anon_other_write_enable这个参数,开启就要承担风险,因为匿名用户可以随便删除
目录的文件,但不开启又不能续传文件,如果开启,最好给这目录加上特殊权限sticky-bit,
命令:sudo chmod o+t /home/ftp 成功的话,就能看到这样的权限
-rwx r--r-T ,如果其他用户拥有x权限的话就是 -rwx r--r-t (小写)
sticky-bit属于特殊权限,意思是不管其他用户有什么权限,只有拥有者有删除和移动权限
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼
理查德-费曼