기계적 인조 인간

리눅스에서 Umask 명령

How to use the umask command: 2-Minute Linux Tips

How to use the umask command: 2-Minute Linux Tips

차례:

Anonim

Linux 및 Unix 운영 체제에서 모든 새 파일은 기본 권한 세트로 작성됩니다. umask 유틸리티를 사용하면 새로 작성된 파일 또는 디렉토리의 권한 비트를 결정하는 파일 모드 작성 마스크를 보거나 설정할 수 있습니다.

mkdir, touch, tee 및 새 파일 및 디렉토리를 작성하는 기타 명령에서 사용됩니다.

리눅스 권한

계속 진행하기 전에 Linux 권한 모델에 대해 간단히 설명하겠습니다.

Linux에서 각 파일은 소유자 및 그룹과 연관되며 세 가지 다른 클래스의 사용자에 대한 권한 액세스 권한이 지정됩니다.

  • 파일 소유자. 그룹 구성원. 다른 모든 사람.

각 클래스에 적용되는 세 가지 권한 유형이 있습니다.

  • 읽기 권한, 쓰기 권한, 실행 권한

이 개념을 통해 파일을 읽거나 파일에 쓰거나 파일을 실행할 수있는 사용자를 지정할 수 있습니다.

파일 권한을 보려면 ls 명령을 사용하십시오.

ls -l dirname

drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type

첫 번째 문자는 파일 형식을 나타내며 일반 파일 ( - ), 디렉토리 ( d ), 기호 링크 ( l ) 또는 기타 특수 파일 형식 일 수 있습니다.

다음 9 개의 문자는 권한을 나타내며 각각 3 자씩 3 세트입니다. 첫 번째 세트는 소유자 권한, 두 번째 그룹 권한 및 마지막 세트는 다른 모든 권한을 보여줍니다.

8 진수 값이 4 문자 r 은 읽기, w 는 8 진수 값이 2 쓰기, x 는 8 진수 값이 1 실행 권한, ( - ) 8 진수 값이 0 권한을 의미합니다.

setuid , setgid Sticky Bit 세 가지 특수 파일 권한 유형도 있습니다.

위의 예에서 ( rwxr-xr-x )는 소유자가 읽기, 쓰기 및 실행 권한 ( rwx )을 갖고 그룹 및 다른 사람들이 읽기 및 실행 권한을 가지고 있음을 의미합니다.

숫자 표기법을 사용하여 파일 권한을 나타내는 경우 숫자 755 .

  • 소유자: rwx = 4+2+1 = 7 그룹: rx = 4+0+1 = 5 기타: rx = 4+0+1 = 5

숫자 표기법으로 표시 될 때 권한은 3-4 자리 8 진수 (0-7)를 가질 수 있습니다. 첫 번째 숫자는 특수 권한을 나타내며 생략하면 파일에 특수 권한이 ​​설정되지 않습니다. 우리의 경우 755 0755 와 같습니다. 첫 번째 숫자는 setuid 의 경우 4 , setgid 경우 2 , Sticky Bit 1 의 조합 일 수 있습니다.

chmod 명령을 사용하여 파일 권한을 변경하고 chown 명령을 사용하여 소유권을 변경할 수 있습니다.

umask 이해

기본적으로 Linux 시스템에서 파일의 경우 기본 작성 권한은 666 이며, 이는 사용자, 그룹 및 기타 사용자에게 읽기 및 쓰기 권한을 부여하고 디렉토리의 경우 777 은 사용자, 그룹 및 사용자에게 읽기, 쓰기 및 실행 권한을 의미합니다. 다른 사람. Linux는 실행 권한으로 파일을 작성할 수 없습니다.

기본 생성 권한은 umask 유틸리티를 사용하여 수정할 수 있습니다.

umask 는 현재 쉘 환경에만 영향을줍니다. 대부분의 Linux 배포에서 기본 시스템 전체 umask 값은 pam_umask.so 또는 /etc/profile 파일에 설정되어 있습니다.

현재 마스크 값을 보려면 인수없이 umask 를 입력하십시오.

umask

출력은

022

umask 값에는 새로 작성된 파일 및 디렉토리에 설정 되지 않는 권한 비트가 포함됩니다.

이미 언급했듯이 파일의 기본 작성 권한은 666 및 디렉토리 777 입니다. 새 파일의 권한 비트를 계산하려면 기본값에서 umask 값을 뺍니다.

예를 들어, uname 022 가 새로 작성된 파일 및 디렉토리에 미치는 영향을 계산하려면 다음을 사용하십시오.

  • 파일: 666 - 022 = 644 . 소유자는 파일을 읽고 수정할 수 있습니다. 그룹 및 기타 사용자는 파일을 읽을 수만 있습니다. 디렉토리: 777-022 777 - 022 = 755 755. 소유자는 디렉토리로 cd하여 디렉토리의 파일을 읽거나 수정, 작성 또는 삭제할 수 있습니다. 그룹과 다른 사람들은 디렉토리로 들어가서 파일을 나열하고 읽을 수 있습니다.

-S 옵션을 사용하여 마스크 값을 기호 표기법으로 표시 할 수도 있습니다.

umask -S

u=rwx, g=rx, o=rx

숫자 표기법과 달리 기호 표기법 값에는 새로 작성된 파일 및 디렉토리에 설정 될 권한 비트가 포함됩니다.

마스크 값 설정

8 진수 또는 기호 표기법을 사용하여 파일 작성 마스크를 설정할 수 있습니다. 변경 사항을 영구적으로 적용하려면 모든 사용자에게 영향을 미치는 /etc/profile 파일과 같은 전역 구성 파일 또는 ~/.profile , ~/.bashrc 또는 ~/.zshrc 와 같은 사용자의 셸 구성 파일에서 새 umask 값을 설정하십시오. 사용자에게만 영향을 미칩니다. 사용자 파일이 전역 파일보다 우선합니다.

umask 값을 변경하기 전에 새 값에 잠재적 인 보안 위험이 없는지 확인하십시오. 022 보다 덜 제한적인 값은주의해서 사용해야합니다. 예를 들어 umask 000 은 모든 사람이 새로 작성된 모든 파일에 대한 읽기, 쓰기 및 실행 권한을 umask 000 의미합니다.

새로 작성된 파일 및 디렉토리에 대해 더 제한적인 권한을 설정하여 다른 사용자가 디렉토리로 cd 하고 파일을 읽을 수 없도록하려고한다고 가정하십시오. 원하는 권한은 디렉토리에 750 640 , 파일에 640 입니다.

umask 값을 계산하려면 기본 권한에서 원하는 권한을 빼기 만하면됩니다.

Umask 값: 777-750 = 027

숫자 표기법으로 표현 된 원하는 umask 값은 027 입니다.

시스템 전체에서 새 값을 영구적으로 설정하려면 텍스트 편집기로 /etc/profile 파일을여십시오.

sudo nano /etc/profile

파일의 시작 부분에서 다음 줄을 변경하거나 추가하십시오.

/ etc / profile

umask 027

변경 사항을 적용하려면 다음 source 명령 또는 로그 아웃 한 후 로그인하십시오.

source /etc/profile

새로운 설정을 확인하기 위해 mkdir 사용하여 하나의 새로운 파일과 디렉토리를 생성하고 다음을 touch :

mkdir newdir touch newfile

drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile

파일 생성 마스크를 설정하는 다른 방법은 기호 표기법을 사용하는 것입니다. 예를 들어 umask u=rwx, g=rx, o= umask 027 과 같습니다.

결론

이 안내서에서는 Linux 권한 및 umask 명령을 사용하여 새로 작성된 파일 또는 디렉토리의 권한 비트를 설정하는 방법에 대해 설명했습니다.

자세한 내용은 터미널에 man umask 를 입력하십시오.

umask 터미널