- 修改vsftpd的默认根目录
- 做实验时有时需要将FTP服务器vsftpd的默认根目录(/var/ftp/pub)修改成指定的其他目录,比如/media/ftp/pub/
- 修改vsftpd的配置文件/etc/vsftpd/vsftpd.conf,添加下面三行
- local_root=/media/ftp/pub
- chroot_local_user=YES
- anon_root=/var/www/html/
- local_root 表示本地用户登录后的根目录,也就是非匿名,而是输入用户名和密码登录进入的,这里顺便说一下ftp登录的格式
- ftp://username:passwd@localhost
- anon_root anonymous用户,即匿名用户访问的主目录
- 但是这时候可能会出现以下报错:
- [root@localhost pub]# lftp localhost
- lftp localhost:~> ls
- ls: Login failed: 500 OOPS: vsftpd: refusing to run with writable anonymous root
- 原因还是权限设置问题:
- 是ftp默认主目录权限设置不对,我这里报这个错误是因为/media/ftp设置权限为777,/media/ftp/pub设置权限也为777。正确的权限设置是将/media/ftp权限设置为755,chmod 755 /media/ftp后重启ftp服务就ok了。
- 另:
- 如果你是默认的ftp目录出现此问题,那一定是这个/home/ftp的权限不对所致,这个目录的权限是不能打开所有权限的;是您运行了chmod 777 /home/ftp所致;如果没有ftp用户这个家目录,当然您要自己建一个;
- 如下FTP用户的家目录是不能针对所有用户、用户组、其它用户组完全开放;
- [root@localhost ~]# ls -ld /home/ftp
- drwxrwxrwx 3 root root 4096 2005-03-23 /home/ftp
- 修正这个错误,应该用下面的办法;
- [root@localhost ~]# chown root:root /home/ftp
- [root@localhost ~]# chmod 755 /home/ftp
- 有的弟兄可能会说,那匿名用户的可读、可下载、可上传怎么办呢?这也简单,在/home/ftp下再建一个目录,权限是777的就行了,再改一改vsftpd.conf就OK了;没有什么难的;
- vsFTPd出于安全考虑,是不准让ftp用户的家目录的权限是完全没有限制的,您可以去读一下vsFTPd的文档就明白的了;否则也不能称为最安全的FTP服务器了,对不对?
- 参考:http://www.shocr.com/change-the-default-root-directory-vsftpd/
- http://hi.baidu.com/51cmdshell/blog/item/d6aa117638800710b051b9a3.html
修改vsftpd的默认根目录
最新推荐文章于 2025-02-20 01:16:45 发布