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