目录
- 1.用户创建,设置FTP根目录子目录权限
- 2.安装 vsftpd服务器
- 3.ftp配置与测试
- 4.vsftpd常用命令:
- 5.防火墙设置
- 6.可以在windows下cmd下使用下面语句访问目录。
- 7.常遇报错问题解决(设置后都需要重启服务)
- 7.1报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot() Login f
- 7.2报错:500 OOPS:cannot change directory:/root/***
- 7.3报错:500 OOPS: priv_sock_get_cmd
- 7.4报错:无法登录:ftp: connect: Connection refused
- 7.5报错:vsftpd 启动异常 (code=exited, status=2)
前言:使用kodi的emby插件需要设置绝对路径,服务器需要设置ftp路径,所以我的ubuntu系统需要安装 vsftpd服务器,查阅了很多资料,最后靠自己的摸索解决问题
参考文章:
①ubuntu下ftp的配置 ②500 OOPS:cannot change directory:/root 问题 ③500 OOPS: priv_sock_get_cmd------如何解决 ④500 OOPS: cannot change directory:/product/ftpfile 500 OOPS: priv_sock_get_cmd 远程主机关闭连接 ⑥ftp服务器的搭建
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
由于我的emby设置到了root目录,root本来就是755权限,所以只是设置了子目录权限,没有创建目录和子目录,这里注意"/"有无
(个人体验,好像都是777权限也没啥问题?)
- 小坑这个文件里显示了用户不可以使用的目录,如果在root中创建需要删除root,否则会导致 问题(自己摸索的,网络中没有这种相关的资料)
500 OOPS:cannot change directory:/root/***
创建ubuntu系统用户:embyuser
useradd命令介绍:
最后一个为用户名,-d后面指定家目录
主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。***********
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
------------如果中途出错需要删除用户的话------------
删除用户:userdel name
userdel:
功能:删除用户
相关文件:
常用参数:
- r : 连同家目录一起删除
注:可能其他相关文件可通过 查找出逐一删除 然后执行 一切搞定
修改vsftpd.conf文件
然后编辑/etc/vsftpd.chroot_list文件,将ftpuser的帐户名添加进去,保存退出。这里不截图了,就是这个文件里写上创建的用户名即可。
重新启动vsftpd且检测状态:
由于我是guo外服务器,所以不设置防火墙进行一般教程的内网穿透了。
7.1报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot() Login f
7.2报错:500 OOPS:cannot change directory:/root/***
首先确定
打开此文件看root有没有禁止访问,然后再根据网络上的方法处理selinux关闭问题
参考文章:推荐文章①中的方法二一劳永逸
①500 OOPS: cannot change directory:/product/ftpfile 500 OOPS: priv_sock_get_cmd 远程主机关闭连接 ②500 OOPS:cannot change directory:/root 问题
7.3报错:500 OOPS: priv_sock_get_cmd
处理方法同上
参考文章:00 OOPS: priv_sock_get_cmd------如何解决
7.4报错:无法登录:ftp: connect: Connection refused
同时ipv4和ipv6同时运行服务器报错。
解决方案:vsftpd.conf文件里设置
7.5报错:vsftpd 启动异常 (code=exited, status=2)
主要原因:ipV4和ipV6不能同时被监听,这边需要去掉一个监听设置,常规情况下只要去掉ipV6得就可以了。同上。