022 대신 umask 002를 선택하는 이유는 무엇입니까?

022 대신 umask 002를 선택하는 이유는 무엇입니까?

오늘은 홈 시스템에서 그룹과 권한을 정리하고 umask에 대해 다시 알아보겠습니다. 내 시스템(Ubuntu 18.10)의 기본값은 002인 것 같지만 루트의 경우 0022입니다.

현재 목적을 위해 추가 부분을 무시하면 생각이 들었습니다. 기본값은 002이며, 내 사용자 이름과 연결된 그룹의 모든 사용자가 내 파일을 편집할 수 있습니다. 022에서는 그렇지 않습니다. 이제 저는 이 그룹(root의 그룹도 아님)을 사용해 본 적이 없어서 왜 사용되는지, 이 상황에서는 어떤 권한이 적절한지 모르겠습니다.

원칙적으로 왜 다른 것을 선택하겠습니까? 추가 사항으로 루트의 umask(이 부분)가 일반 사용자의 umask와 다른 이유는 무엇입니까?

답변1

기본값은 002이며, 내 사용자 이름과 연결된 그룹의 모든 사용자가 내 파일을 편집할 수 있습니다.

사용자의 개인 그룹에 다른 사용자가 있다는 개념은 아닙니다. 아이디어는 그룹이 있을 수 있다는 것입니다.프로젝트또는 유사하며 여러 사용자를 구성원으로 가질 수 있습니다. 파일의 그룹 소유자는 개별 사용자가 아닌 프로젝트일 수 있으며 다음과 같이 적용됩니다.설정프로젝트 디렉토리에. umask는 그룹에 대한 쓰기 액세스를 허용하므로 프로젝트 그룹의 모든 구성원은 해당 파일에 쓸 수 있습니다.

foo사용자가 umask를 사용한다고 가정하면 다음과 같이 작동합니다 002.

#[그룹 proj에 foo 사용자 추가]
# mkdir /work/projects
# chmod u=rwx,g=rwx,o=,g+s /work/proj
# ls -ld /작업/프로젝트
drwxrws--- 2 루트 프로젝트 4096 6월 14일 17:48 /work/proj/
$마스크
0002
$ cd /작업/프로젝트
$ echo "여기에 데이터가 있습니다" > file.txt
$ ls -l 파일.txt
-rw-rw-r-- 1 foo proj 15 6월 14일 17:51 file.txt

그룹 소유자와 함께 파일이 어떻게 생성되었는지 확인하세요 proj(왜냐하면설정b) umask로 인해 전체 그룹에 대한 쓰기 액세스 권한이 있습니다. 사용자에게 올바른 umask를 요구하는 대신 다음 명령을 사용하여 디렉토리를 설정할 수 있습니다.기본 액세스 제어 목록, 설정된 경우 umask의 기능을 대체합니다.

최소한 각 사용자 그룹과 umask에 대한 추가 정보가 있습니다.여기그리고레드햇 매뉴얼(이것은 RHEL 4용 매뉴얼이며, 이 문제에 대한 최신 매뉴얼은 더 짧은 것 같습니다.) 또한 다음 질문도 관련이 있습니다.각 사용자가 자신의 그룹을 갖는 이유는 무엇입니까?


사용자가 수동으로 권한을 조작하는 것을 막을 수 있는 방법은 없습니다. 파일 소유자는 언제든지 적절하다고 생각하는 대로 권한을 변경할 수 있으므로 이를 방지할 수 없습니다. 오늘날 사람들은 공동 작업을 위해 웹 서비스를 더 자주 사용하고 있으며 파일 및 디렉터리 권한에 대한 이러한 연습은 불필요합니다.

관련 정보