chmod로 그룹을 지정하는 방법은 무엇입니까?


34

다른 사용자의 홈 폴더에있는 디렉토리에 그룹 -wrx 권한을 추가하라는 요청을 받았습니다.

내가해야 할 일은 chmod 771 -R directoryname부모 디렉토리에서 실행된다고 생각합니다 . 튜브의 어느 곳에서도 찾을 수없는 것은 이러한 권한을 부여 그룹 을 지정 하는 방법 입니다. 나는 개인적으로 여러 그룹에 속해 있으며 무리로 루트에 대해 알지 못합니다.

중요한 경우, 시스템은 Redhat 5.4를 실행 중입니다.

답변:


37

chmod()시스템 호출 및 확장하여 chmod프로그램, 파일이나 디렉토리의 그룹에 영향을주지 않습니다 (또는 파일의 다른 유형 : 블록 특수 문자 특수, 소켓, ... 심볼릭 링크는 특별한 경우의 일이다). 따라서 권한이 부여 된 그룹은 파일 또는 디렉토리가 속한 그룹이됩니다.

그룹 rwx권한 을 추가하려면 다음을 사용해야합니다.

chmod -R g+rwx DirectoryName

그러나 이렇게하면 모든 파일뿐만 아니라 모든 디렉토리에 권한이 추가되며 모든 파일이 실행 가능한 것은 아닙니다. 개인적으로 누군가 누군가 내 디렉토리의 모든 (또는 다른) 디렉토리에 그룹 쓰기 권한을 제공하면 매우 불행 할 것입니다. 그러나 그것은 또 다른 이야기입니다.

디렉토리에만 영향을 주려면 find대신 사용하십시오.

find DirectoryName -type d -exec chmod g+rwx {} +

( +표기법은 POSIX 2008이며, Linux가 지원하지만 모든 유닉스 시스템이이를 지원하지는 않습니다.)


1
+ X (대문자 X)를 사용하는 경우 파일이 디렉토리이거나 이미 일부 사용자에 대한 실행 권한이있는 경우에만 실행 (또는 '검색') 권한을 추가합니다. linux.die.net/man/1/chmod
Dave

@Dave : chmod +XBSD (Mac OS X)에서도 지원됩니다. POSIX에 대한 신중한 조사는 결국 POSIX 기능 chmod임을 나타냅니다 . 파마 기호 X는 파일이 디렉토리이거나 현재 (수정되지 않은) 파일 모드 비트가 하나 이상인 경우 파일 모드 비트의 실행 / 검색 부분을 나타냅니다. 실행 비트 (S_IXUSR, S_IXGRP 또는 S_IXOTH) 세트 파일이 디렉토리가 아니고 현재 파일 모드 비트에 실행 비트가 설정되어 있지 않으면 무시됩니다. 아래의 이론적 근거를 주목하십시오. +X
Jonathan Leffler

12

ext 파일 시스템의 모든 파일 에는 다음이 있습니다.

  1. 소유자 사용자
  2. 소유자 그룹
  3. 이 사용자,이 그룹 및 다른 사람에 대한 권한

파일에 rwx 그룹 권한을 설정하는 경우 해당 파일의 소유자 그룹 만 파일을 읽고 쓰거나 실행할 수 있습니다. 그러나 다음을 사용하여 사용자와 소유자를 변경할 수 있습니다.

chown username file1 file2 ...
chown -R username somedir
chgrp groupname file1 file2 ....
chgrp -R groupname somedir
chown username:groupname file1 file2 ...

Mac OS X에서는 확장 파일 시스템 권한, 즉 ACL (액세스 제어 목록)에 대해 여러 가지 구현이 있지만 Linux 전문가가 아니기 때문에 서버 결함 을 물어봐야 합니다.


"따라서 파일에 rwx 그룹 권한을 설정하는 경우 해당 파일의 소유자 그룹 만 파일을 읽고 / 쓰기 / 실행할 수 있습니다." 소유자 사용자 규칙이나 소유자 그룹이 아닌 다른 사용자에 대한 규칙이 적용되는 경우 소유자 사용자 규칙이 우선합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.