파일 및 폴더에 대한 권한 설정 - 폴더 권한 상속은 항상 암시적입니까?

파일 및 폴더에 대한 권한 설정 - 폴더 권한 상속은 항상 암시적입니까?

목적:루트에 폴더를 만들고 그룹에 chown하고 사용자를 그룹에 추가합니다. 하지만 사용자가 너무 넓은 권한을 얻습니다.

다음을 고려하세요:

# as root

# we need a user group
groupadd team1

# we need a shared folder
mkdir /project1
chown root:team1 /project1
chmod 770 /project1

# we need users - and they get set pw elsewhere :)
for i in bob tina jim joy; do useradd $i; done

# we add them to the project group 'team1' that gives access to the shared folder
usermod -aG team1 [username]

불가사의하게도 사용자는 jimvim에서 파일을 생성할 수 있고 /project1, 사용자는 joyvim에서 해당 파일을 열고, 변경하고, 저장하거나, 파일을 삭제하려고 시도할 수 있으며, 이러한 작업은 이러한 의도인지 확인한 후 수행됩니다.

질문:이것이 올바른 행동으로 간주됩니까? 권한이 폴더 자체로 제한되어서 는 안 되지만 chmod 770 /project1, 보이는 것처럼 해당 폴더 내의 파일로 반복되어서는 안 되나요?

답변1

이는 정상적인 동작입니다.

디렉터리에 대한 770 권한을 사용하면 디렉터리 소유자와 디렉터리 그룹의 모든 구성원이 디렉터리를 읽고, 쓰고, 검색할 수 있습니다. 이는 그룹의 모든 구성원이 파일 자체의 권한 및 소유권에 관계없이 디렉터리의 파일을 삭제하고 새 파일을 만들 수 있음을 의미합니다. 이것이 바로 jim파일에 어떤 권한이 설정되어 있든 관계없이 joy해당 파일을 삭제하고 다른 파일로 바꿀 수 있다는 것입니다 vim.

표준 Unix 권한 모델 내에서 디렉터리에 대한 추가 권한을 설정할 수 있습니다.

여기서 첫 번째 유용한 점은 삭제를 제한하는 고정 비트입니다. 파일은 소유자, 디렉터리 소유자 또는 root.

chmod g+t /project1

이 설정이 완료되면 파일을 joy삭제할 수 없습니다 jim.

두 번째 유용한 권한은 sgid비트입니다. 이 권한은 디렉터리의 그룹이 디렉터리에 새로 생성된 파일에 적용되도록 합니다.

chmod g+s /project1

두 가지를 결합하려면 다음을 실행하십시오.

chmod 3770 /project1

바라보다UNIX 권한 및 파일 유형 이해더 알아보기.

관련 정보