제 질문은 어떤 설정을 변경해야 하는지 그리고/또는 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