【转】500 OOPS: vsftpd: refusing to run with writable root inside chroot()
默认配置文件位置:/etc/vsftpd/vsftpd.conf
默认匿名用户家目录:/var/ftp 权限为755,不能改变
1.创建一个用户ftpuser(无登录系统权限),可以上传。
useradd -s /sbin/nologin ftpuser
id ftpuser #查看ftpuser是否建立成功
passwd ftpuser #重设ftpuser密码
2.在用户目录下创建ftpfile文件夹
cd /home/ftpuser/
mkdir ftpfile
3.修改ftpfile权限
chown -R root.root /home/ftpuser/ftpfile/
chmod -R o+w /home/ftpuser/ftpfile/
ll -d /home/ftpuser/ftpfile/ #查看
4.建立 /etc/vsftpd/chroot_list 文件,添加ftpuser账号(一行只能添加一个用户)
touch /etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
在文件中添加:ftpuser ,保存退出
使用cat预览 :cat /etc/vsftpd/chroot_list
5.修改SELINUX=disabled
vim /etc/selinux/config
保存退出
6.配置 /etc/vsftpd/vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
修改:
anonymous_enable=NO #禁止匿名用户登录
local_enable=YES:允许本地用户登录
chroot_list_enable=YES #激活chroot功能
chroot_list_file=/etc/vsftpd/chroot_list #设置锁定用户在根目录中的列表文件,此文件存放要锁定的用户名
local_root=/home/ftpuser/ftpfile #设置本地用户的根目录
Linux vsftpd连接报错:500 OOPS: vsftpd的解决办法详解
从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
vim /etc/vsftpd/vsftpd.conf
# 添加一行配置 allow_writeable_chroot=YES
425 Failed to establish connection
打开vsftpd.conf文件,在后面加上
pasv_min_port=30000
pasv_max_port=30999
表示端口范围为30000~30999,这个可以随意改。改完重启一下vsftpd
由于指定这段端口范围,iptables也要相应的开启这个范围
7.重启vsftpd服务,使配置生效
service vsftpd restart
systemctl restart vsftpd.service