vsftpd的refusing to run with writable root inside chroot
2016-08-25 16:50
323 查看
写道
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
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
相关文章推荐
- php openssl 生成公私钥,根据网上文章整理的
- 给老白写的一个工具函数 PHP打印匹配行
- PHP cli模式下提示 Module 'xxx' already loaded
- 让普通用户登录phpmyadmin不显示information_schema
- 标记下 纯PHP实现的svnclient
- PHP 正则学习在线工具
- 收集常用的PHP简单代码
- php 调试相关
- phpcms使用session的方法
- PHP5.3废弃函数 替代记
- php json_decode 造成的诡异问题
- RHEL5.1的TFTP服务器的安装
- 从零开始学YII2框架(一)通过Composer安装Yii2框架
- PHP PDO 事务处理 预处理 高洛峰 细说PHP
- ThinkPHP教程_PHP框架之ThinkPHP(六)【实例化模型、模型命名和获取字段】
- ContentProvider
- PHP5.2.3连接 SQLSERVER 注意事项
- PHP中的命名空间(namespace)及其使用详解
- 解决: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
- laravel controller重写