GID와 명령을 이해할 수 없습니다chmod g+s
나는 그것을 +s와 같은 그룹에 대해 전달된 파일 또는 디렉토리의 권한을 설정하는 것으로 이해합니다(고정되어 있다고 가정합니까?) +s는 고정을 의미합니까, 해당 파일/디렉토리의 현재 그룹 권한을 복사하여 로 설정한다는 의미입니까? 새로 생성된 모든 파일과 디렉터리가 원래 디렉터리에 있습니까?
/test/ 디렉토리에 새로 추가된 모든 파일이 자동으로 "finance" 그룹에 속하도록 하려면 chmod g+s가 이를 수행하는 올바른 명령입니까(테스트의 기본 그룹이 Finance라고 가정)?
chmod의 매뉴얼 페이지는 적어도 나에게는 명령이 수행하는 작업에 대한 명확한 설명을 제공하지 않습니다.
답변1
약어: "s"의 의미놓다.
긴:
에 적용되는 경우 문서, chmod g+s
setgid에 사용됩니다. 즉, 파일이 실행 가능하고 그룹 비트가 설정된 경우그룹파일의 그룹 소유권과 일치하도록 설정합니다. 이 기능은 한동안 Unix에서 사용 가능했습니다(예: 버전 6 참조).매뉴얼 페이지).
동작이 시스템에 따라 달라질 수 있으므로 디렉터리를 문서화하기가 더 어렵습니다.
POSIX특정 동작이 지정되지 않았습니다. 단지 다음과 같습니다.
호환 응용 프로그램은 디렉터리의 set-user-ID 및 set-group-ID 비트를 해석하는 방법을 알고 있다고 가정해서는 안 됩니다.
~을 위한AIX그리고고성능 사용자 경험 시스템, 아무 언급 없이목차
~을 위한솔라리스
디렉터리의 경우 그룹 ID를 전파하기 위해 BSD 의미 체계를 사용하여 파일이 생성됩니다. 이 옵션을 사용하면 디렉터리에 생성된 파일과 하위 디렉터리는 현재 프로세스의 그룹 ID가 아닌 디렉터리의 그룹 ID를 상속합니다. 기호 모드를 사용해야만 지울 수 있습니다.
그래도 (참고"BSD 의미론"), 이 동작은 존재하지 않습니다썬 OS 4맨 페이지.
현대 시스템에서는FreeBSD,OSX그리고리눅스"BSD 의미론"을 제공하지만네트워크BSD그리고오픈BSD천만에요.
추가 읽기(흥미롭게도 허용되는 답변은 없습니다):