Centos

更正 vsftpd“500 OOPS:無法更改目錄”錯誤的設置是什麼?

  • January 24, 2020

我的問題是我需要更改哪些設置和/或執行命令才能登錄到我的 vsftpd 系統?

當我使用 ftp 而不是 sftp 登錄時,出現此錯誤:

Name (localhost:dbadmin): dbadmin
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/dbadmin
Login failed.
ftp> 

這在使用登錄時有效sftp@,但我的伺服器位於防火牆後面,我需要能夠使用 ftp 和 sftp 登錄。

我一直在看很多關於“OOPS”錯誤的文章,但到目前為止還沒有成功登錄。

以下是有關我的系統和設置的一些資訊:

我正在執行 CentOS 6.4。

iptables 和 ip6tables 被停止和禁用。

我的主目錄受保護 700,我嘗試了 750,只是想看看這是否有所作為。它沒有。

這是中的活動行/etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

我的登錄名不在 user_list 中。

執行此命令,無需重新啟動任何服務和伺服器:

# setenforce 0

檢查 SELinux 狀態:

# getenforce

或者

編輯文件/etc/sysconfig/selinux以包含

SELINUX=disabled

這樣做需要重新啟動。

雖然禁用 SELinuxSELINUX=disabled可以解決問題,但不建議這樣做。ftp_home_dir您可以通過執行以下命令配置 SELinux 布爾值來啟用 ftp 使用者訪問他的主目錄:

setsebool -P ftp_home_dir=1

引用自:https://unix.stackexchange.com/questions/79743