Linux에서 디렉토리 플래그를 제거하는 방법은 무엇입니까?

Linux에서 디렉토리 플래그를 제거하는 방법은 무엇입니까?

"post"라는 폴더가 있고 여기에 글을 쓰면 getfacl post다음과 같은 결과가 나타납니다.

# file: post
# owner: www-data
# group: ftpgroup
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x

보시다시피 플래그가 있고 -s-그룹의 기본 권한은 rwx이므로 새 파일은 775여야 합니다.

글을 쓰면 ls -lha다음과 같은 권한을 얻습니다.

drwxrwsr-x+ 22 www-data ftpgroup 4.0K Dec  3 20:56 post

보시다시피, s동일한 그룹에 다른 사용자가 있는 새 폴더를 만들면 다른 폴더가 나타나고 권한은 775가 아닌 755가 됩니다.

이 플래그에 문제가 있는 것 같습니다. 어떻게 제거할 수 있나요?

답변1

그룹 옥텟에 위치한 플래그를 sSET-GID 비트라고 합니다. SET-GID 비트가 설정된 디렉터리에 생성된 모든 새 파일은 상위 디렉터리를 소유한 그룹이 소유하게 됩니다. 또한 모든 새 하위 디렉터리는 SET-GID 비트를 상속합니다.

SET-GID 비트를 추가하려면 다음을 사용할 수 있습니다.

chmod g+s directory

SET-GID 비트를 제거하려면 다음을 사용할 수 있습니다.

chmod g-s directory


775 권한 대신 755 권한을 얻는 것과 관련하여 umask시스템의 권한을 확인하세요. 당신이 umask찾고 있는 것은 입니다 002.

umask 002${HOME}/.bashrc또는 를 입력하여 사용자에 대해 umask를 영구적으로 만들 ${HOME}/.profile거나 또는 /etc/bashrc을 입력하여 시스템 기본값으로 설정할 수 있습니다 /etc/profile.

답변2

폴더의 's' 플래그는 고정 비트(끈끈한 비트는 어떻게 작동합니까?) 폴더의 소유권 및 권한 단어가 변경되는 방식을 변경합니다(SETGID는 폴더에 생성된 파일이 동일한 그룹 구성원을 갖도록 강제합니다).

상위 디렉터리에서 chmod 0775OR 작업을 수행하여 삭제할 수 있습니다.chmod g-s

umask다른 플래그가 원하는 방식으로 설정되지 않은 경우 다른 사용자의 설정을 살펴볼 수도 있습니다.

관련 정보