사용자로부터 다른 사람의 디렉토리를 숨기는 방법은 무엇입니까?

사용자로부터 다른 사람의 디렉토리를 숨기는 방법은 무엇입니까?

여러 폴더가 있습니다.

/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에서는 실패함) 비트를 사용하면 알려진 하위 디렉터리를 탐색할 수 있습니다.groupother/homelsx

또한 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) 등에 넣는 것입니다.

관련 정보