여러 폴더가 있습니다.
/home/user1/ -u user1 -G user1
/home/user2/ -u user2 -G user2
/home/user3/ -u user3 -G user3
user1, user2, user3 세 명의 사용자를 만들었습니다. 각 사용자는 자신의 그룹을 가지고 있습니다. 모든 사용자는 일시적으로 기타 계정 폴더를 볼 수 있지만 열 수는 없습니다.
user2가 ssh를 사용하여 로그인한 후에는 해당 폴더 아래에 폴더가 표시되지 않아야 합니다 /home/user2/
. 그들은 단지 볼 수만 있어야 합니다 /home/user2/
.
이러한 권한을 어떻게 설정합니까?
답변1
set을 사용하여 /home에 대해서만 x 비트를 설정하면 chmod
읽기가 허용되지 않지만(/home에서는 실패함) 비트를 사용하면 알려진 하위 디렉터리를 탐색할 수 있습니다.group
other
/home
ls
x
또한 group
사용자 디렉터리 other
의 하위 디렉터리에 액세스하지 않도록 설정합니다./home
루트인 경우 명령은 다음과 같습니다.
chmod go=x /home
chmod go-rwx /home/user[123]
그러면 user2는 user2의 홈 디렉토리에 있는 파일만 볼 수 있으며 ls
/home, /home/user1 및 /home/user3의 파일은 실패합니다.ls: 'directory-name' 디렉터리를 열 수 없습니다: 권한이 거부되었습니다.
답변2
이는 사용 중인 시스템에 따라 다릅니다.
MAC 구현에는 여러 가지가 있습니다.필수 접근 제어.
FreeBSD는 MAC으로 유명합니다. (바라보다수동)
OpenBSD를 살펴보세요시스템 추적, 쉘 래퍼를 사용하면 사용자가 실행하고 볼 수 있는 것과 볼 수 없는 것을 완벽하게 제어할 수 있습니다.
Linux는 이러한 시스템을 많이 좋아합니다. 보고 있다SELinux,갑옷을 적용, 당신은 또한 볼 수 있습니다보안 패치...
가장 간단하고 가장 널리 사용되는 방법은 사용자를 chroot(Linux), lxc-container(Linux), Jail(FreeBSD) 등에 넣는 것입니다.