ubuntu server vsftpd 匿名用户上传下载及目录设置
1:vsftpd服务器安装;
sudo apt-get install vsftpd #安装 cd /srv/ #切换到默认匿名用户ftp目录;
运行 ls -l 我们可以看到 默认的 ftp目录是,虚拟用户ftp的根目录,并且此目录是匿名用户管理的根目录,
无论是对 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 查看
2:配置 vsftpd.conf 配置文件修改
sudo vim /etc/vsftpd.conf
用vim,打开-修改如图示
设置如图几个选项就可以了
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 上传本地文件到远程服务器
如上图测试;
测试新建目录;直接使用
mkdir test
即可;
可以在浏览器里面输入ftp://192.168.8.35 打开ftp服务器目录,查看,下载,执行操作测试
参考:http://wiki.ubuntu.org.cn/Vsftpd
ftp命令:http://os.51cto.com/art/201003/186325.htm