사용자가 홈 디렉토리 권한을 변경하는 것을 방지하는 방법은 무엇입니까?

사용자가 홈 디렉토리 권한을 변경하는 것을 방지하는 방법은 무엇입니까?

사용자 smith의 홈 디렉터리에 다음 권한이 있는 경우:

$ ls -l /home/staff
drwxr-x---   51 smith    staff       4096 Sep 18 09:08 smith/

홈 디렉토리의 권한을 예를 들어 755로 변경하는 것을 어떻게든 막을 수 있습니까?

답변1

한 가지 방법은 사용자별 그룹(즉, 사용자당 하나의 그룹)을 사용한 다음 홈 디렉터리 권한을 root:smith, 모드 0770으로 설정하는 것입니다.

또 다른 (좀 더 해킹적인) 방법은 스크립트를 작성하는 것입니다. /home(예: /root가 아님) 아래에 있는 모든 홈 디렉토리를 확인하는 스크립트를 생성하고(setpwent()/getpwent()를 통해 가져옴) 이를 작성하면 차이점에 대해 경고합니다. 그 자리에서 존재하거나 권한을 변경합니다.

나는 과거에 다중 사용자 환경에서 후자를 직접 수행했으며 수년 동안 일했습니다.

답변2

이는 문제의 운영 체제와 파일 시스템이 NTFS 및 ZFS에서 사용하고 NFSv4에서 표준화된 ACL 표준을 지원하는 경우에만 가능합니다.

따라서 원하는 작업을 수행할 수 있는지 여부는 운영 체제와 파일 시스템에 따라 다릅니다.

전통적인 UNIX 규칙은 디렉토리의 사용자 소유권도 액세스 모드 변경을 허용한다는 것입니다. ACL을 사용하면 사용자가 자신의 디렉터리에 대한 ACL을 변경하는 기능을 거부할 수 있습니다.

답변3

그러면 15초마다 권한이 다시 적용됩니다.

watch -n15 "chmod 0700 *"

또는 1분마다 권한을 다시 적용하는 cronjob을 만드세요.

관련 정보