vsftpd "500 OOPS: 디렉터리를 변경할 수 없습니다" 오류를 수정하기 위한 설정은 무엇입니까?

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> 

이것은 login 을 사용할 때 작동 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에 없습니다.

답변1

서비스와 서버를 다시 시작하지 않고 이 명령을 실행합니다.

# setenforce 0

SELinux 상태를 확인하세요.

# getenforce

또는

/etc/sysconfig/selinux포함할 파일을 편집하세요.

SELINUX=disabled

그렇게 하려면 재부팅이 필요합니다.

답변2

SELinux를 비활성화하면 SELINUX=disabled문제가 해결될 수 있지만 권장되지는 않습니다. ftp_home_dir다음 명령을 실행하여 ftp 사용자가 홈 디렉터리에 액세스할 수 있도록 SELinux 부울을 구성 할 수 있습니다 .

setsebool -P ftp_home_dir=1

답변3

이 지침에 따라 selinux를 비활성화했습니다.여기. sftp를 사용하지 않고 로그인할 수 있습니다.

영구적으로 비활성화하려면 편집 /etc/selinux/config하고 설정합니다.

SELINUX=disabled

재부팅 후 정상적으로 로그인이 되었습니다.

답변4

사용자에게 홈 폴더에 대한 실행 권한이 없을 수도 있습니다. 다하다:

chmod +x /home/user

또는,

chmod 700 /home/user

관련 정보