不想让默认路径是 pub
怎么让默认路径成为根目录 / ?
最好告诉我怎么修改配置文件的办法 vsftpd.conf
中间有句话chroot_list_file=/etc/vsftpd.chroot_list是不是修改这个,怎么改啊
谢谢大家了
修改vsftpd的配置文件/etc/vsftpd/vsftpd.conf,添加下面三行:
1、local_root=/media/ftp/pub
2、chroot_local_user=YES
3、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服务就可以了。
上面的chroot_list_file是设定锁定登陆用户在其home目录的列表,要在chroot_list_enable=YES情况下才生效,另外,如luo_rc所述,最好不要设置默认目录为/,使用mount --bind来挂载需要的目录
扩展资料:
如果你是默认的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
chroot_local_user = YES
chroot_list_file=/etc/vsftpd.chroot_list
退出,然后编辑/etc/vsftpd.chroot_list,在这里面输入用户名字,一行写一个用户名。
最后你再重新启动一下vsftpd服务。就可以了。
为什么要把默认路径设置成/目录呢?
建议你用mount命令把你想设置的目录挂载到默认的目录下就行了,
比如sudo mount --bind [目录A] [目录B]
这样就把目录A挂载到目录B下面了,(使用的时候没有中括号)。
local_root=
这个是本地用户登录后自动转到的ftp根目录但是要配合chroot_local_user=YES选项才会生效,这是local_root=生效的开关
anon_root=
这个是匿名用户登录后转到的ftp根目录
你提到的那个文件用处是将列表内包含的用户名的根目录自动转到各自对应的home目录去,需要配合chroot_list_enable=YES使用,这是chroot_list_file=生效的开关,如果你同时打开了chroot_local_user=YES,那么chroot_list_file=将会是一个“不将列表中的用户自动转到各自的home”列表。
有点复杂,参考资料附上完整的vsftpd.conf参数表,有很多选项默认的配置文件并不包含,你需要手工添加的。
参考资料:
/usr/sbin/vsftpd ---- VSFTPD的主程序
/etc/rc.d/init.d/vsftpd ---- 启动脚本
/etc/vsftpd/vsftpd.conf ---- 主配置文件
/etc/pam.d/vsftpd ---- PAM认证文件
/etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用户列表文件
/etc/vsftpd.user_list ---- 禁止或允许使用VSFTPD的用户列表文件
/var/ftp ---- 匿名用户主目录
/var/ftp/pub ---- 匿名用户的下载目录
如果要更改默认下载目录,修改/etc/vsftpd/vsftpd.conf,加入如下三行:
local_root=/
chroot_local_user=YES
anon_root=/
local_root表示使用本地用户登录到ftp时的默认目录
anon_root表示匿名用户登录到ftp时的默认目录
你上面的chroot_list_file是设定锁定登陆用户在其home目录的列表,要在chroot_list_enable=YES情况下才生效。
另外,如luo_rc所述,最好不要设置默认目录为/,使用建议使用mount --bind来挂载需要的目录。本回答被提问者采纳