
다음 세부정보를 사용하여 새 사용자를 생성합니다.
useradd -d /var/www/html/testuser.com -G users testuser
계속해서 사용자에 대한 새 비밀번호를 생성하고 SSH를 통해 로그인을 시도합니다. /var/www/html/testuser.com에 도달하지만 여전히 디렉터리로 돌아갈 수 있습니다. testuser.com 및 형제자매 내부의 콘텐츠만 관리할 수 있도록 사용자 권한을 제한하고 싶습니다(모든 일반 작업을 수행할 수 있도록). 사용자가 디렉터리에서 다시 탐색하여 효과적으로 루트 권한을 갖는 것을 원하지 않습니다. 입장.
답변1
사용자가 단지 다른 디렉토리를 탐색할 수 있다는 이유만으로 "실질적으로 루트 액세스 권한을 갖는" 것은 아닙니다. 셸 액세스 권한이 있는 모든 사용자는 소프트웨어 설치를 찾아볼 수 있습니다. 이는 모든 사이트에서 다운로드할 수 있으므로 결국 기밀 정보는 아닙니다. 모든 쉘 사용자에게 노출하고 싶지 않은 디렉토리가 있는 경우 적절하게 제한적인 권한을 부여하십시오.
두 번째 보안 계층을 원할 경우 계정을 더욱 제한할 수 있습니다. 이러한 사용자가 에서 파일을 탐색, 업로드 및 다운로드할 수만 있도록 허용하려면 /var/www/html/testuser.com
쉘 계정을 제공하지 말고 SFTP만 사용할 수 있는 제한된 계정을 제공하십시오. 특정 계정에 대한 옵션을 지정할 수 있습니다.sshd_config
블록 으로 Match
. ( Match
지시문은 다음 Match
지시문이나 파일 끝 으로 확장되므로 이것을 파일 끝에 넣으십시오 .)
Match User testuser
Force-command internal-sftp
ChrootDirectory /var/www/html/testuser.com
사용자가 scp 및 rsync와 같은 몇 가지 추가 명령을 사용할 수 있지만 일반 셸 액세스는 사용할 수 없도록 하려면 다음을 사용하십시오.RSSH또는신중하게해당 계정의 셸로 사용하고 rssh 또는 scponly를 설치 및 구성하여 허용할 명령을 지정합니다(참조:SCP용 쉘이 필요합니까?).
화이트리스트에 있는 몇 가지 프로그램만 실행할 수 있는 쉘 계정을 제공하려면 해당 쉘을제한된 껍질. 이러한 사용자는 파일 권한에 따라 홈 디렉터리 외부의 파일에 액세스할 수 있습니다.
전체 쉘 액세스 권한을 부여하고 싶지만 홈 디렉터리 이외의 모든 항목은 보이지 않게 하려면 다음과 같은 형식을 만들어야 합니다.교도소. 감옥의 가장 약한 형태는chroot 감옥, 이는 사용자를 디렉토리 트리의 분기로 제한합니다. 사용자를 chroot로 제한하는 것은 ChrootDirectory
에서 지정하는 것만큼 쉽습니다 sshd_config
. 그러나 사용자는 감옥에서 나갈 수 없기 때문에 디렉토리에는 사용자가 사용할 모든 프로그램과 해당 데이터가 포함되어야 합니다. 당신이 사용할 수있는바인드 마운트/usr
감옥 내부에 일부 디렉토리(예: )가 표시되도록 합니다 .
답변2
man 5 sshd_config
옵션을 살펴보세요 ChrootDirectory
.
답변3
/var/www/html
루트만 파일/폴더를 보고 수정할 수 있도록 권한을 변경할 수 있습니다 .
좋다:
chown root:root /var/www/html