web-dev-qa-db-ja.com

vsftpd「500 OOPS:ディレクトリを変更できません」エラーを修正するための設定は何ですか?

私の質問は、vsftpdシステムにログインできるようにするために、どの設定を変更する必要があるか、または実行するコマンドを教えてください。

Sftpの代わりにftpを使用してログインすると、このエラーが発生します。

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にありません。

14
octopusgrabbus

次の1つのコマンドを実行します。サービスとサーバーを再起動する必要はありません。

# setenforce 0

SELinuxステータスを確認するには:

# getenforce

または

ファイルを編集/etc/sysconfig/selinux 含める

SELINUX=disabled

再起動する必要があります。

10
Mitter

SELINUX=disabledでSELinuxを無効にすると問題は解決しますが、これはお勧めできません。次のコマンドを実行してSELinuxブール値ftp_home_dirを設定することにより、ftpユーザーが自分のホームディレクトリにアクセスできるようにすることができます。

setsebool -P ftp_home_dir=1
7
Indika K

次のコマンドを実行すると、FTPデーモンにすべてのファイルへのフルアクセスを常に許可できます。

setsebool -P allow_ftpd_full_access 1
3
Bee Kay

以下の手順に従って、selinuxを無効にしました here 。 sftpを使わずにログインできました。

永久に無効にするために、/etc/selinux/configを編集して設定しました

SELINUX=disabled

再起動後、正常にログインできました。

2
octopusgrabbus

これが役立つことを願っています。

local_root=/var/www/ftp/$USER
user_sub_token=$USER
0
Missing Twins

おそらく、ユーザーにはホームフォルダーに対する実行権限がありません。実行:

chmod +x /home/user

または、

chmod 700 /home/user
0
sharpy1064

ランニング setenforce 0別の答えが示唆されたので、うまくいきませんでした。

次のコマンドで問題が解決しました:

chmod -R 755 /home/dbadmin

(以前は、/ home/dbadminディレクトリーには700の許可がありました。)

0
pacoverflow