동일한 시스템의 다른 사용자에게 존재하는 폴더 및 하위 폴더에만 접근할 수 있는 사용자 생성

동일한 시스템의 다른 사용자에게 존재하는 폴더 및 하위 폴더에만 접근할 수 있는 사용자 생성

내 우분투 시스템에는 User1과 User2라는 두 명의 사용자가 있습니다.

User1에 디렉터리(폴더)가 있고 /home/User1/Software이 소프트웨어 폴더를 user2의 홈 디렉터리로 설정하여 user2가 로그인할 때마다 이 소프트웨어 폴더만 볼 수 있고 해당 폴더는 읽기 권한만 갖도록 하려고 합니다.

User2를 통해 시스템에 원격으로 로그인하면 읽기 권한만 있는 소프트웨어 폴더로 직접 이동하며 소프트웨어 및 해당 하위 폴더를 제외한 다른 폴더에는 액세스할 수 없습니다.

답변1

제한된 셸(예: )을 사용하도록 User2의 계정을 변경해야 합니다 rbash.

sudo chsh -s /bin/rbash User2

참고: 이는 사용자의 명령줄 셸(login을 통한 포함 ssh)만 제한합니다. 예를 들어 콘솔에 로그인하는 경우 GUI 데스크탑 환경에는 영향을 미치지 않습니다.

자세한 내용은 리소스를 참조하세요 man rbash. 하지만 일부 제한 사항으로 인해 사용자는 다음을 수행할 수 없습니다.

· CD를 사용하여 디렉토리 변경

· SHELL, PATH, ENV 또는 BASH_ENV 값을 설정하거나 설정 해제합니다.

· /를 포함하는 명령 이름을 지정하십시오.

· .build-in 명령으로 include/를 지정합니다.

· >, >|, <>, >&, &> 및 >> 리디렉션 연산자를 사용하여 출력 리디렉션

· 내장된 exec 명령을 사용하여 쉘을 다른 명령으로 교체

이러한 제한은 시작 파일을 읽은 후에 적용됩니다.

리디렉션을 차단하는 것은 필요한 것 이상일 수 있지만(어차피 디렉토리가 읽기 전용이므로 그렇지 않을 수도 있음) 불행히도 rbash전부 아니면 전무입니다.

답변2

/home사용자가 자신의 파일을 제외한 디렉터리의 모든 파일을 보지 못하도록 방지하는 방법

사용자에게 표시하지 않으려는 디렉토리에 대한 파일 권한을 관리하여 이를 수행하십시오.

사용자에게 고유한 로그인 및 그룹 이름을 제공합니다. 숫자로 된 사용자 ID와 그룹 ID를 가져와서 시스템 소유권이 없는지 확인하고 다음을 실행하세요.

sudo find / -uid n -o -gid n

및 에서만 /home액세스할 수 있도록 user하며 해당 하위의 모든 파일에 액세스할 수 있도록 합니다 .groupother

sudo chmod -R o-rwx /home

시스템의 다른 사용자가 서로의 파일을 볼 수 있도록 하려면 해당 /home사용자를 모두 공개 그룹(예: )에 추가하고 users이를 umask002(일반적으로 기본값)로 설정합니다.

이보다 더 많은 제한이 필요한 경우 rbash 및/또는 chroot와 관련된 솔루션을 살펴볼 수 있습니다.

관련 정보