歡迎您光臨本站 註冊首頁

linux中搭建ftp以root用戶連接時500 OOPS: cannot change directory:/root報錯

RHEL5 中配置好vsftp后,開了root用戶上傳許可權,也關了系統的防火牆,但ftp連接的時候依然還會出現 "500 OOPS:cannot change directory:/root" 錯誤,如何解決呢?

問題終於有了解決的方案.

如何開啟root用戶的上傳許可權,如何關閉系統的防火牆,我就不再多廢話了,不懂的朋友google去.

言歸正傳,在開了root用戶上傳許可權,也關了系統的防火牆,但ftp連接的時候依然還會出現 "500 OOPS:cannot change directory:/root" 錯誤,如何解決呢?

(SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對於強制訪問控制的實現,是 Linux® 上最傑出的新安全子系統.SELinux 默認安裝在 Fedora 和 Red Hat Enterprise Linux 上,也可以作為其他發行版上容易安裝的包得到)

解決:

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

但是我的虛擬機上的SElinux信息中沒有ftpd_disable_trans ,於是我敲了 setsebool ftp_home_dir on就好了.

按照上面的方法:當輸入 setsebool -P ftp_home_dir on 時報錯,錯誤如下 :

Usage: setsebool [ -P ] boolean value | bool1=val1 bool2=val2...

我用man方法看一下setsebool文 檔:

NAME
setsebool - set SELinux boolean value
SYNOPSIS
setsebool [ -P ] boolean value | bool1=val1 bool2=val2 ...

輸入 setsebool ftp_home_dir on即可完成更改.

再重啟ftp服務,再試試就可以了.

如果對於selinux不是很熟悉或者問題無法得 到解決,關閉selinux,也可讓vsftp正常使用.

關閉方法:修改/etc/selinux/config文件中的 SELINUX=”" 為 disabled ,然後重啟.


[火星人 ] linux中搭建ftp以root用戶連接時500 OOPS: cannot change directory:/root報錯已經有1111次圍觀

http://coctec.com/docs/linux/show-post-46313.html