linux中中解决vsftp连接时的“500 OOPS:cannot change directory:/root”

本文解决了一个在RHEL5系统中配置好vsftp后,开启root用户上传权限并关闭系统防火墙,但仍遇到FTP连接时出现500OOPS:cannotchangedirectory:/root错误的问题。通过查看SELinux状态并调整设置,最终成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RHEL5 中配置好vsftp后,开了root用户上传权限,也关了系统的防火墙,但ftp连接的时候依然还会出现 "500 OOPS:cannot change directory:/root" 错误,如何解决呢?

经过本人的多次摸索,问题终于有了解决的方案。

如何开启root用户的上传权限,如何关闭系统的防火墙,我就不再多废话了,不懂的朋友google去。

言归正传,在开了root用户上传权限,也关了系统的防火墙,但ftp连接的时候依然还会出现 "500 OOPS:cannot change directory:/root" 错误,如何解决呢?

解决:

1、 查看 SELinux 的状态:  sestatus -b | grep ftp      确切地说,只是查看了ftp的状态。

2、 在出现的结果中可以看到  ftp_home_dir        off

tftpd_disable_trans   off

之类。我们现在只要把其中之一设置为on就可以啦。

3、 setsebool -P ftpd_disable_trans on      或者 setsebool -P  ftp_home_dir  on

4、 重启vsftpd:  service vsftpd restart

5、 慢慢享受ftp带来的乐趣。

[root@Squid vsftpd]# cat vsftpd.conf
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
local_root=/www/websites/webtracker
#local_root=/www
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES

pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES
cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SIZE,STOR,TYPE,USER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT,DELE

[root@Squid vsftpd]# cat user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
#root
#bin
#daemon
#adm
#lp
#sync
#shutdown
#halt
#mail
#news
#uucp
#operator
#games
#nobody
www

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值