내 컴퓨터에서 내 친구를 위한 계정을 만들고 싶지만 내 친구가 내 모든 파일을 보는 것을 원하지 않습니다. OpenSSH에 옵션이 있는 것을 확인했습니다.
SSHD 구성 파일 내부:
/etc/ssh/sshd_config
라인 포함:
ChrootDirectory /home/%u
그러나 사용자 홈 디렉토리는 에 속해야 합니다 root
. 이것이 나쁜 것입니까? 관리자가 디렉터리를 소유하는 경우 어떤 결과나 영향이 있습니까?
나는 두 가지 배포판과 FreeBSD를 모두 사용하기 때문에 이 질문에 태그를 붙였습니다. root
사용자 홈 디렉터리를 갖기 위한 요구 사항이 배포판 및/또는 운영 체제마다 다른지 궁금합니다 .
답변1
당신은 약간 오해했습니다 chroot
. 단지 물건을 숨기는 것이 아니라 디렉토리가 실제로 /
세션의 디렉토리가 됩니다. 그 아래에 상당히 완전한 시스템 이미지( /etc
, 등) /bin
를 제공해야 합니다 /lib
. 그렇지 않으면 아무 것도 작동하지 않습니다(특히 사용자는 셸을 실행할 수 없습니다). root
새로운 파일 시스템 루트가 필요한 /
이유는 다음과 같습니다. 다른 사람을 위해 파일 시스템 루트를 갖는 것은 명백한 보안 문제가 됩니다.
답변2
특정 질문에 답하려면 root
SSHD에서 제공하는 사용자 홈 디렉터리가 있어야 chroot
제대로 작동합니다. 홈 디렉토리가 속하지 않는 경우 root
사용자는 를 통해 연결할 때 해당 디렉토리를 종료할 수 있습니다 sftp
.
root
사용자가 에만 연결되어 있는 경우 sftp
그러나 사용자가 다른 방법으로도 연결되어 있고(예: ssh
) 쉘이 부여된 경우에는 다음을 사용해야 합니다.또 다른 솔루션, 그림제한된 쉘 rssh.