user1과 user2라는 두 명의 사용자가 있습니다. 에도 파일이 있습니다 /path/to/file
. user1은 읽기 및 쓰기 권한이 있어야 하고 user2는 읽기 권한만 있어야 합니다.
권한을 chmod u=r /path/to/file
읽기 전용으로 변경할 수 있다는 것을 알고 있지만 그렇게 하면 모든 사람의 권한이 변경됩니까? user1로 명령을 실행하면 user1과 user2의 액세스 권한도 변경됩니다. 사용자를 지정하는 옵션을 찾지 못했습니다. 여기가 그룹을 사용해야 하는 곳인가요? 또는 chown
? 어떻게 해야 하나요?
파일로 가득 찬 전체 디렉토리에 대해서도 동일한 작업을 수행할 수 있습니까? n개의 파일과 m개의 하위 디렉터리가 포함된 디렉터리가 있는 경우 /path/to/dir
각 파일과 하위 디렉터리에 있는 각 파일의 권한을 변경하시겠습니까?
답변1
다음 해결 방법을 사용할 수 있습니다.
- 파일 소유권을 변경합니다.
chown user1 /path/to/file
- 소유자, 그룹 및 기타 사용자의 권한을 변경합니다.
chmod 644 /path/to/file
이것은 rw
줄 user1
것이다r
user2
디렉터리의 경우 x
사용자에게 이 디렉터리를 변경할 수 있는 옵션을 제공하려면 다음을 추가해야 합니다.
chmod 755 /path/to/directory
-R
하위 디렉터리도 변경되므로 주의하세요.
작업을 자동화하려면 다음과 같은 것을 사용할 수 있습니다. 이 명령은 건드리고 싶지 않은 파일에 대한 권한을 변경할 수 있으므로 시작 디렉터리에 매우 주의하세요.
find /path/to/file -type f -exec chmod 644 {} \;
파일용
find /path/to/dir -type d -exec chmod 755 {} \;
디렉토리용
답변2
전통적인 Unix 권한은 매우 대략적이며 소유자(사용자), 그룹 및 사용자(보다 정확하게는 프로세스)가 여러 그룹에 속할 수 있는 다른 사용자만 구별합니다. 대부분의 최신 Linux 설치에서는 사용자를 더욱 격리하기 위해 각 사용자에 대한 개인 그룹을 만듭니다(많은 구형 Unix 시스템에는 users
모든 사용자에 대한 중요한 그룹이 있으므로 특정 파일 그룹을 읽기/쓰기로 설정하면모든 사람그들과 함께 하루를 보낼 수 있습니다).
소속 전용 그룹을 설정 user1
하고 user2
그룹 권한을 사용하여 원하는 일부 항목을 얻을 수 있지만 이는 전혀 완벽하지 않습니다.
최신 Linux 커널/파일 시스템/도구는 ACL(액세스 제어 목록)을 처리합니다 acl(5)
. 를 참조하세요. ACL을 사용하면 " user1
객체에 대한 정확한 권한 " 과 같이 보다 세밀하게 제어할 수 있습니다 foo
.