`

vsftpd的refusing to run with writable root inside chroot

阅读更多
写道
Linux下如何进行FTP设置

目录:
一、Redhat/CentOS安装vsftp软件
二、Ubuntu/Debian安装vsftp软件

一、Redhat/CentOS安装vsftp软件
1.更新yum源
首先需要更新系统的yum源,便捷工具下载地址:http://help.aliyun.com/manual?spm=0.0.0.0.zJ3dBU&helpId=1692
2.安装vsftp
使用yum命令安装vsftp
#yum install vsftpd -y
3.添加ftp帐号和目录
先检查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。
使用下面的命令创建帐户,该命令指定了/alidata/www/wwwroot为用户pwftp的家目录,您可以自己定义帐户名和目录:
#useradd -d /alidata/www/wwwroot -s /sbin/nologin pwftp
修改该帐户密码:
#passwd pwftp
修改指定目录的权限
#chown -R pwftp.pwftp /alidata/www/wwwroot
4.配置vsftp
编辑vsftp配置文件,命令如下:
#vi /etc/vsftpd/vsftpd.conf
将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”
取消如下配置前的注释符号:
local_enable=YES
write_enable=YES
chroot_local_user=YES
保存修改,按ESC键,输入:wq
5.修改shell配置
vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去
6.启动vsftp服务并测试登录
使用命令启动vsftp服务:
#service vsftpd start
然后用帐号pwftp测试下是否可以登陆ftp。目录是/alidata/www/wwwroot。

二、Ubuntu/Debian安装vsftp软件
1.更新软件源
首先需要更新系统的软件源,便捷工具下载地址:http://help.aliyun.com/manual?spm=0.0.0.0.zJ3dBU&helpId=1692
2.安装vsftp
使用apt-get命令安装vsftp
#apt-get install vsftpd -y
3.添加ftp帐号和目录
先检查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。
使用下面的命令创建帐户,该命令指定了/alidata/www/wwwroot为用户pwftp的家目录,您可以自己定义帐户名和目录:
#useradd -d /alidata/www/wwwroot -s /sbin/nologin pwftp
修改该帐户密码:
#passwd pwftp
修改指定目录的权限
#chown -R pwftp.pwftp /alidata/www/wwwroot
4.配置vsftp
编辑vsftp配置文件,命令如下:
#vi /etc/vsftpd.conf
将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”
取消如下配置前的注释符号:
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
保存退出
编辑/etc/vsftpd.chroot_list文件,将ftp的帐户名添加进去,保存退出
5.修改shell配置
vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去
6.重启vsftp服务并测试登录
使用命令启动vsftp服务:
#service vsftpd restart
然后用帐号pwftp测试下是否可以登陆ftp。目录是/alidata/www/wwwroot。

 

操作完之后,登录报  500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

写道
这是由于下面的更新造成的:

- Add stronger checks for the configuration error of running with a writeable
root directory inside a chroot(). This may bite people who carelessly turned
on chroot_local_user but such is life.
问题的是因为用户的根目录可写,并且使用了chroot限制,而这在最近的更新里是不被允许的。要修复这个错误,可以用命令chmod a-w /home/user去除用户根目录的写权限,注意把目录替换成你自己的。

或者你可以在vsftpd的配置文件中增加下列两项中的一项:

对于标准的vsftpd build (vsftpd):

allow_writeable_chroot=YES
对于扩展的vsftpd build (vsftpd-ext):

allow_writable_chroot=YES

 

 

分享到:
评论

相关推荐

    ubuntu下vsftp问题修复

    vsftp出现550 Failed to change directory Ubuntu 获取软件失败 404错误 解决Ubuntu提示500 OOPS: vsftpd: refusing to run with writable root inside chroot()

    vsftpd安装步骤教程

    1. 访问 Vsftpd 服务器时出现错误 500:出现错误 `OOPS: vsftpd: refusing to run with writable root inside chroot()`,解决方法是编辑 Vsftpd 配置文件 `/etc/vsftpd.conf`,添加一行 `allow_writeable_chroot=...

    vsftpd虚拟用户的配置

    2. **错误代码:500 OOPS: refusing to run with writable root inside chroot().** **解决方法**:在`/etc/vsftpd/vsftpd.conf`中添加`allow_writeable_chroot=YES`。 ```bash # vi /etc/vsftpd/vsftpd.conf ...

    Cetntos7配制FTP

    - **错误代码 500: vsftpd: refusing to run with writable root inside chroot()** 这个错误通常发生在允许 FTP 用户在其主目录内执行写操作时。解决方法是在配置文件中添加以下行: ```ini allow_writeable_...

    搭建FTP服务器的简单实例

    - 如果遇到“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”错误,表示根目录内存在可写的目录。为了安全起见,应该将根目录设置为不可写,使用命令“chmod a-w /home/user”。 通过上述...

    详解在Ubuntu下搭建FTP服务器

    可能会遇到的一个问题是,当启用`chroot`功能时,系统可能会报错“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”。为解决此问题,需要确保用户的根目录不可写: ```bash chmod a-w /...

    Ubuntu 用vsftpd 配置FTP服务器教程详解

    然后,调整FTP目录的权限,以避免错误“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”: ```bash sudo chmod a-w /home/ftp sudo mkdir /home/ftp/data ``` 创建`data`文件夹,这是用户...

    Linux文件服务器实战详解(匿名用户)

    - "500 OOPS: vsftpd: refusing to run with writable root inside chroot()"错误表明`/var/ftp`目录对根用户可写,需要使用`chmod a-w /var/ftp`移除根用户的写权限。 6. **安全注意事项**: - 匿名用户访问应...

Global site tag (gtag.js) - Google Analytics