ubuntu server vsftpd 匿名用户上传下载及目录设置

ubuntu server vsftpd 匿名用户上传下载及目录设置

1:vsftpd服务器安装;

sudo apt-get install vsftpd   #安装

cd /srv/  #切换到默认匿名用户ftp目录;

运行 ls -l 我们可以看到 默认的 ftp目录是,虚拟用户ftp的根目录,并且此目录是匿名用户管理的根目录,

ubuntu server vsftpd 匿名用户上传下载及目录设置

无论是对 ftp,改组,改用户,改权限都不能在ftp根目录下,上传东西,要么就是ftp匿名无法连接,要么就是不能上传;折腾了几天,终于明白了!

ftp 作为匿名用户根目录,vsftpd有特殊处理;

vsftpd对此 ftp 根目录,有两点特殊要求;该用户所有者必须是root,该目录的权限对其他不能为 w;

也就是说其他人,匿名用户来说 ftp 目录是根目录,只能是只读的,不能上传,不能更改;如下官方解释

1.匿名用户就是ftp,想要匿名用户写入,必须文件夹的权限为ftp可写。

2.匿名用户的根目录不允许,所以根目录的权限绝对不能是ftp可写和其他用户可写,如果根目录所有者为ftp的话,所有者的权限也不能写。

所以解决方法是建个单独的public文件夹用于上传文件,设置其为ftp可写或”其他用户可写“

还可建个download文件夹只用于下载,设置其他用户没有写权限便可。

那么我们如果设置匿名用户上传,下载,新建目录呢,

就是在 ftp目录下,新建立一个目录,并且,设置其权限 777,就可以了,还要加上配置 vsftpd.conf 文件

二:配置匿名用户上传下载;

1: 先创建匿名用户可发布的文件目录

cd /srv/ftp/   切换到根目录

sudo mkdir pub #新建立pub目录做为 匿名用户的上传目录

sudo chmod ftp:ftp pub #为pub目录改其所有者组为 ftp

sudo chmod -R 777 pub #为pub目录设置权限为全部可读可写可执行

配置好之后,ls -l 查看

ubuntu server vsftpd 匿名用户上传下载及目录设置

2:配置 vsftpd.conf 配置文件修改

sudo vim /etc/vsftpd.conf

用vim,打开-修改如图示

ubuntu server vsftpd 匿名用户上传下载及目录设置

设置如图几个选项就可以了

anonymous_enable=YES  #设置匿名用户可用

write_enable=YES # 设置用户写的权限 YES

anon_upload_enable=YES #设置匿名用户上传YES

anon_mkdir_write_enable=YES # 设置匿名用户新建目录YES

配置好之后:保存退出

重新启动vsftpd服务

sudo restart vsftpd

3: 测试 匿名用户访问,上传,新建立目录

#打开终端连接ftp服务器

ftp 192.168.8.35 #回车
anonymous #输入用户名,匿名用户
#要求输入密码,直接回车

#出现Using binary mode to transfer files 表示连接成功

#ls 查看远程服务器目录

#cd pub 切换到远程目录pub

#ls 查看远程目录

# get hi.txt 下载远程文件到本地

#pub mac0.txt 上传本地文件到远程服务器

ubuntu server vsftpd 匿名用户上传下载及目录设置

如上图测试;

测试新建目录;直接使用

mkdir test

即可;

可以在浏览器里面输入ftp://192.168.8.35 打开ftp服务器目录,查看,下载,执行操作测试

参考:http://wiki.ubuntu.org.cn/Vsftpd

ftp命令:http://os.51cto.com/art/201003/186325.htm