SSH를 통해 내 서버에 액세스할 수 있는 새 사용자를 생성하려고 합니다.파일 공유 목적WinSCP를 통해. 내 목표는 기본 셸을 rbash로 설정하여 홈 디렉터리로 제한하는 것이지만 이렇게 하면 서버에 연결할 수 없고 "호스트에 연결하는 중..." 메시지에서 중지됩니다. 쉘이 기본 쉘로 설정되면 해당 사용자와 연결할 수 있습니다. 이 문제를 해결하려면 권한을 수정해야 합니까?
/etc/shells
에 항목이 있습니다 rbash
.
편집하다
답변1
셸 액세스에는 일반적으로 공유 시스템 바이너리 및 라이브러리가 필요합니다. 사용자를 자신의 홈 디렉터리로 제한하는 것은 사용할 수 없을 것 같습니다(즉, 해당 사용자는 많은 작업을 수행할 수 없습니다).
사용자가 특정 프로그램을 실행하도록 하려면 로그인 셸을 해당 프로그램으로 설정할 수 있습니다. Git은 다음을 수행합니다.자식 쉘예를 들어.
일반적으로 다중 사용자 시스템에서는 홈 디렉토리를 읽을 수 없도록 만드는 것이 가장 좋습니다(예: 적절하게 설정하거나 umask
홈 디렉토리 권한을 조정하여).
답변2
.sshd_config를 조정하여 사용자를 제한할 수 있습니다.그림에서 알 수 있듯이. 이 단계에서는 해당 파일이 시스템 파일로 돌아가는 것을 방지합니다. 또한 를 사용하여 다른 /home/user/ 폴더에 대한 권한을 변경했는데 chmod -R 700 /home/user/
, 이로 인해 해당 폴더가 자신의 디렉토리에 대한 전체 드롭 액세스 권한을 유지하면서 다른 홈 디렉토리에 들어갈 수 없게 되었습니다.
답변3
루트가 소유하고 필요에 따라 루트 만 쓸 수 /sshchroot/user/user
있는 ./sshchroot/user
ChrootDirectory
/home/user
/sshchroot/user/user
mount --bind /home/user /sshchroot/user/user # can be done in /etc/fstab