Digital Ocean과 함께 CentOs 릴리스 6.4를 가지고 SFTP 사용자를 성공적으로 생성하여 사용자 자신의 chroot 홈 디렉토리에 탈옥하고 싶지만이 문제가 발생하는 것이 두렵습니다.
나는 많은 것들을 시도했는데, 너무 많이 여기에 나열하기에는 너무 많았을 것입니다. 대부분이 틀렸거나 이해가되지 않을 것입니다.하지만 올바른 과정이어야한다고 생각한 것은 :-
에 대한 그룹을 만듭니다 sftp
:-
groupadd sftp
사용자를 작성하고 홈 디렉토리를 설정하십시오.
useradd -d /var/www/vhosts/domain.com dummyuser
사용자의 비밀번호를 설정하십시오.
passwd dummyuser
사용자 그룹을 'sftp'로 변경하십시오.
usermod -g sftp dummyuser
사용자의 쉘을 /bin/false
:-
usermod -s /bin/false dummyuser
sshd_config
( /etc/ssh/
) 에서 서브 시스템 편집 :-
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
sshd_config
파일 맨 아래에 다음을 추가 하십시오.
Match group sftp
X11Forwarding no
ChrootDirectory %h
AllowTcpForwarding no
ForceCommand internal-sftp
다음 디렉토리가 모두 있는지 확인하십시오 root:root
.
/var
/var/www
/var/www/vhosts
/var/www/vhosts/domain.com
그런 다음 dummyuser
WinSCP 의 사용자와 SFTP를 통해 서버에 로그인하려고 하면 다음과 같은 결과가 나타납니다.
Authentication log (see session log for details):
Using username "dummyuser".
Authentication failed.
내가 달성하고자하는 것은 사용자를 홈 디렉토리로 옮기는 것입니다. 또한 vsftpd를 설정하고 구성했습니다. 사용자는 정상적으로 로그인 할 수 있지만 전체 서버에 액세스 할 수는 있습니다.
편집하다
언급을 잊어 버린 다음 다시 시작했습니다 sshd
.
service sshd restart
WinSCP에서 오류가 발생하면 여기 에 대한 도움말 페이지가 있습니다 .
로그 결과
/var/log/secure
실제 서버 이름을로 바꿨습니다 server_name
.
Apr 28 14:20:56 server_name sshd[9944]: Accepted password for dummyuser from 80.194.255.4 port 44402 ssh2
Apr 28 14:20:56 server_name sshd[9944]: pam_unix(sshd:session): session opened for user dummyuser by (uid=0)
Apr 28 14:20:56 server_name sshd[9946]: fatal: bad ownership or modes for chroot directory component "/var/www/vhosts/"
Apr 28 14:20:56 server_name sshd[9944]: pam_unix(sshd:session): session closed for user dummyuser
/var/log/secure
입니다.
vhosts
이다 root:root
.
sshd
? 서버의 로그 파일에 무엇입니까?