# setsebool -P ftpd_full_access=on

FTP连接时报错如下:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()  

解决方法:

chroot_local_user=YES ---锁定用户登录ftp后,只能到自己的家目录下,不能随便切换到其它目录。但是普通系统用户默认是可以在自己的家目录里写文件的,vsftp出于安全性要求,
如果锁定了用户的ftp登录目录,则所在目录不能有写权限。

方法1、 /etc/vsftpd/vsftpd.conf配置文件增加如下一行

local_root=/data/ftp  //系统用户登录后进入到该目录,注意该目录对其它用户同样不能有写的权限。(连写入的权限都没有,这个方法也不靠谱)

如果有写权限,则执行chroot a-w /var/ftp -R 取消写入权限。

方法2、简单粗暴的方法

不要设置local_root参数,取消用户往自己目录写权限: chmod a-w /home/username,但是用户登录操作系统后会影响用户使用,自己目录写的权限都没有。--不可行。

方法3、/etc/vsftpd/vsftpd.conf配置文件增加如下一行

allow_writeable_chroot=YES   --可行。ftp目录必须要有写权限。

方法4、添加例外

/etc/vsftpd/chroot_list 这个配置文件中加入用户名

修改完配置文件事要重启vsftpd服务。

==============

听起来有点绕,按下面的配置就没问题了:

#chmod o-w /data/ftp

vi /etc/vsftpd/vsftpd.conf 修改下面三行。

chroot_local_user=YES --锁定ftp用户目录。不能随便切换到其它目录。
local_root=/data/ftp ---指定用户登录后的目录。或者不指定也行,系统用户登录ftp后,直接到用户自己的家目录。
allow_writeable_chroot=yes
如果要添加例外,即允许某个用户可以切换到其它目录,则添加下面两行参数,否则可以不用配置。
chroot_list_enable= YES --这个是启用用户列表,对应下一句的chroot_list文件。
chroot_list_file=/etc/vsftpd/chrot_list ---在这个文件中的用户则不受限制,可以切换到其它目录。这个文件需要手动创建。

这样,FTP用户登录后,只能在指定目录下进行读写操作,不能随便切换到其它目录。

============

参考:


The problem is that your users root directory is writable, which isn’t allowed when using chroot restrictions in the new update.

To fix this you must either remove write permissions on the users root directory with the following command, replacing the directory with your users root:

chmod a-w /home/user

Or you can work around this security check by adding either of the two below into your configuration file.

For the standard vsFTPd build (vsftpd):

allow_writeable_chroot=YES

For the extended vsFTPd build (vsftpd-ext):

allow_writable_chroot=YES

Removing the write permission on the root isn’t a perfect solution as doing this can cause a few problems with things that need to write to the root directory, such as the bash history file or some graphical environments.

https://www.garron.me/en/bits/500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot-solved.html

http://www.liquidweb.com/kb/error-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot-solved/

=========================

另外一种可行的配置方法:

(这个方法总比你让所有用户都有写入权限o+w要安全得多)

配置如下:

chroot_local_user=YES
local_root=/data/ftp
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

使用root 帐号执行如下命令:

# setfacl -m u:用户名:rwx  /data/ftp   ---使用该命令来设置指定用户的acl权限,允许指定的用户可写,其它用户不可写。

#chmod o-w /data/ftp  --取消对比所有用户可写。

#systemctl restart vsftpd

500 OOPS: vsftpd: refusing to run with writable root inside chroot()解决方法的更多相关文章

  1. vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法

    ---恢复内容开始--- 最近在安装了vsftpd后 添加了虚拟账户后 新建用户 为新用户创立独立的工作目录 因为虚拟用户在工作目录需要上传文件 所以必须拥有此目录的W权限,但每当给此目录加上W权限后 ...

  2. 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

    Ubuntu 12.04 64bit系统下安装的vsftpd,在登陆时提示500 OOPS: vsftpd: refusing to run with writable root inside chr ...

  3. 【转】vsftp 遇到错误 500 OOPS: vsftpd: refusing to run with writable root inside chroot()--不错

    原文网址:http://linux.it.net.cn/e/server/ftp/2015/0227/13554.html 当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错 ...

  4. 500 OOPS: vsftpd: refusing to run with writable root inside chroot () 不能上传文件和文件夹

    500 OOPS: vsftpd: refusing to run with writable root inside chroot () 问题的是因为用户的根目录可写,并且使用了chroot限制,而 ...

  5. vsftpd.service: Main process exited, code=exited, status=2/INVALIDARGUMENT和vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法

    今天在配置VSFTPD过程中遇到两个错误 1是启动失败,通过 SERVICE VSFTPD STATUS 查看到报错 May 02 16:06:58 debian systemd[1]: Starti ...

  6. 响应: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

    原vsftpd服务器的系统从centos6.8升级到centos7.2.vsftpd使用yum方式安装,用户采用系统用户登录.由于系统升级到centos7,yum安装的vsftpd版本改变.因此按ce ...

  7. ubuntu 14.04 下FTP服务器的搭建--锁定用户目录,解决vsftpd: refusing to run with writable root inside chroot()

    FTP服务器的搭建,我要实现的需求是: 不允许匿名访问,因为我的机器不想让谁都能登录上来,随便获取文件, 需要锁定一个目录,因为在家里,我需要给媳妇下载一些电影 韩剧之类的东西,媳妇会来我机器下载,但 ...

  8. 500 OOPS: vsftpd: refusing to run with writable anonymous root

    500 OOPS: vsftpd: refusing to run with writable anonymous root 以下就是解决的三个步骤,其中第一步,是我一直没有搞明白的,也是其中的重点: ...

  9. 解决vsftpd的refusing to run with writable root inside chroot错误

    参考 http://www.cnblogs.com/CSGrandeur/p/3754126.html 在Ubuntu下用 vsftpd 配置FTP服务器,配置 “ sudo chmod a-w /h ...

随机推荐

  1. 定制linux中的Gtk theme<一>如何设置窗口按钮的多态效果

    GTK主题之个人理解: GTK 主题引擎(包含代码所需的图形元素) +  主题配置文件(gtkrc文件)+ 数据资源文件(如图片等)    三者所呈现给用户的视觉风格效果 GTK拥有一套大量的widg ...

  2. MAC 开发工具

    web开发编辑器 Espresso下载地址   密码: i9hr

  3. ps批量修改图片

    批量更改图片尺寸的ps脚本 高端干货!PHOTOSHOP实用脚本大合集

  4. laravel框架——线上环境错误总结

    除了根目录,其他目录访问全是Not Found

  5. C#后台找不到前台html标签

    没关系!   只要他在form表单里  , 咱在标签加上一个   runat="server"就可以在后台cs代码里找到他了

  6. Javascript 层次

    1. HTML5, Tool, Framework ---------------------------UI: Liger UI, jQuery UI, jQuery Mobile -------- ...

  7. 零零碎碎搞了一天最后发现是ruby版本问题

    查来查去查不到问题,后来在stackoverflow看到: http://stackoverflow.com/questions/22352838/ruby-gem-install-json-fail ...

  8. Black Box《优先队列》

    Description Our Black Box represents a primitive database. It can save an integer array and has a sp ...

  9. 23个经典JDK设计模式(转)

    下面是JDK中有关23个经典设计模式的示例: Structural(结构模式) Adapter: 把一个接口或是类变成另外一种. o    ● java.util.Arrays#asList() o  ...

  10. Context Switch Definition

    A context switch (also sometimes referred to as a process switch or a task switch) is the switching ...