linux里ftp服务器怎么配置根目录?

linux里ftp服务器怎么配置根目录?,第1张

1、deepin linux默认没有安装命令行的ftp客户端,在终端执行ftp命令会提示未找到命令。

2、要安装命令行下的ftp客户端,只需要执行如下命令即可。sudo apt-get install ftp。

3、安装完成就可以使用命令行下的ftp命令连接ftp服务器了,如下图所示。

4、也可以执行ftp命令,进入交互模式后,通过子命令open来打开ftp服务器。

修改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

修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可:

加入如下几行:

local_root=/home/ftp

chroot_local_user=YES

anon_root=/home/ftp

注:local_root 针对系统用户;

anon_root 针对匿名用户。

重新启动服务:

service vsftpd restart

任何一个用户ftp登录到这个服务器上都会chroot到/home/ftp目录下。

注意:

/home/ftp目录下面必须要建立一个pub文件夹,chmod 755 pub,此时便可以成功了。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11732152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存