[root@xiaolyu10 ~]# mkdir /var/ftp/xiaolyudata
[root@xiaolyu10 ~]# chown ftp.ftp /var/ftp/xiaolyudata
[root@xiaolyu10 ~]# ll -d !$
ll -d /var/ftp/xiaolyudata
drwxr-xr-x 2 ftp ftp 4096 Mar 16 14:34 /var/ftp/xiaolyudata
[root@xiaolyu10 ~]#
重启服务:
[root@xiaolyu10 ~]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
[root@xiaolyu10 ~]#
现在匿名上传的文件是禁止删除的。
这样匿名用户的上传就算成功了
注:工作中,匿名用户只是只读访问,写的权限也没有的。
补充:
如果想让匿名用户可以重命名或者删除的权限,添加如下一条配置参数:
重启服务:
[root@xiaolyu10 ~]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: anon_other_write_enable
[FAILED]
根据提示,说明我刚才添加的那一行匿名写权限的参数有问题
[root@xiaolyu10 ~]# vim /etc/vsftpd/vsftpd.conf
也就是说参数后面不能有多余的空格。
重新启动就可以对重新命名和删除文件夹了,
匿名用户就可以删除和修改,非常不安全,慎重使用这个参数。
注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。切记!
[root@xiaolyu10 ~]# service vsftpd restart
实战2:公司内部现在有一台FTP 和WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等等。公司现有两个部门负责维护任务,他们分别适用team1 和team2帐号进行管理。先要求仅允许team1 和team2 帐号登录FTP 服务器,但不能登录本地系统,并将这两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。
ftp 和www web服务器相结合。
www web服务器根目录: /var/www/html
只允许:team1和team2两用户 可以上传。 vsftp禁止匿名。
分析:
将FTP 和WEB 服务器做在一起是企业经常采用的方法,这样方便实现对网站的维护,为了增强安全性,首先需要使用仅允许本地用户访问,并禁止匿名用户登录。其次使用chroot 功能将team1和team2 锁定在/var/www/html 目录下。如果需要删除文件则还需要注意本地权限
解决方案:
(1)建立维护网站内容的ftp 帐号team1 和team2 并禁止本地登录,然后设置其密码
[root@xiaolyu10 ~]# useradd -s /sbin/nologin team1
[root@xiaolyu10 ~]# useradd -s /sbin/nologin team2
[root@xiaolyu10 ~]# echo "123456" | passwd --stdin team1
Changing password for user team1.
passwd: all authentication tokens updated successfully.
[root@xiaolyu10 ~]# echo "123456" | passwd --stdin team2
Changing password for user team2.
passwd: all authentication tokens updated successfully.
2)配置vsftpd.conf 主配置文件并作相应修改
[root@xiaolyu10 vsftpd]# cp vsftpd.conf_bak vsftpd.conf
cp: overwrite `vsftpd.conf'? y
[root@xiaolyu10 vsftpd]# vim vsftpd.conf