본문 바로가기
카테고리 없음

[Linux] 초기 접근 권한 umask 설정

by 쿡노트 2023. 12. 20.
반응형

리눅스에서는 디렉터리 또는 파일의 접근 권한을 소유자(Owner), 그룹(Group), 그 외 계정(Others)으로 구분하여 각각 읽기(r), 쓰기(w), 실행(x) 권한을 줄 수 있다.
umask를 통해 초기 디렉터리, 파일 생성 시 접근 권한을 설정하는 방법을 작성한다.

umask란?

초기 접근권한의 경우 (디렉터리 : 777) (파일 :  666)인데, 여기에서 umask 뺀 만큼 초기 접근권한을 설정할 수 있다. umask 변경 시, 향후 생성되는 디렉터리 & 파일은 설정된 (초기) 접근권한으로 생성된다.

umask가 0002일 경우 접근 권한

(*OS user 최초 생성 시 기본적으로 umask 0002 로 설정되어 있다.)

파일 : 666 - 002 = 664

디렉터리 : 777 - 002 = 775

 

**접근권한 8진수(Octal number) 표기법 : r(4),w(2),x(1)
ex) 파일 : -rw-rw-r-- (664) 디렉터리 : drwxrwxr-x (775)

현재 설정된 umask 확인

[test@test ~]$ umask
0002

디렉터리, 파일 생성 및 접근 권한 확인

[test@test ~]$ mkdir test_dir
[test@test ~]$ touch test.txt
[test@test ~]$ ll
-rw-rw-r--. 1 test test    0 12월 19 15:46 test.txt
drwxrwxr-x. 2 test test 4096 12월 19 15:45 test_dir

파일 기준으로 (맨 처음 하이픈을 제외한) 앞에서부터 3개씩 소유자 (rw-), 그룹 (rw-), 타계정(r--)으로 구분할 수 있고, 타계정을 제외한 접근 권한은 파일에 대한 읽기(r), 쓰기(w) 권한을 가지고 있다. (타계정은 읽기 권한만 존재)
디렉터리는(맨 처음 d = directory) 소유자, 그룹은 읽기(r), 쓰기(w), 실행(x) 권한이 존재한다.

계정 단위 umask 설정

(umask(077) = 소유자만 접근권한 부여)

. bash_profile(또는 .bashrc)을 통해 umask를 설정할 수 있다.

 

-- .bash_profile 편집 (umask 077 추가)

[test@test ~]$ vi ~/.bash_profile
umask 077

-- .bash_profile 설정 적용

[test@test ~]$ . ~/.bash_profile

--적용된 umask 조회 (077로 적용했지만 umask 조회 결과값은 0077로 확인된다.)

 

--변경된 접근권한으로 디렉터리, 파일 생성

[test@test ~]$ mkdir umask_test_dir
[test@test ~]$ touch umask_test.txt
[test@test ~]$ ll
-rw-rw-r--. 1 test test    0 12월 19 15:46 test.txt
drwxrwxr-x. 2 test test 4096 12월 19 15:45 test_dir
-rw-------. 1 test test    0 12월 19 16:06 umask_test.txt
drwx------. 2 test test 4096 12월 19 16:06 umask_test_dir

**umask 0077

파일 : 666 - 077 = 600

디렉터리 : 777 - 077 = 700

--umask_test_dir 디렉터리 Others 계정 접근 불가

**디렉터리의 경우 실행권한(x)이 없으면 접근이 불가하고, 읽기 권한 (r) 이 없으면, 해당 디렉터리 내에서 조회할 수 없다.

[others@others ~]$ cd umask_test_dir
-bash: cd: umask_test_dir: 허가 거부


--현재 접속 시에만 umask 변경 (로그아웃 시 설정된 umask는 초기화)
$ umask 002

 

아래 블로그에 글을 참조 하였습니다.

https://bamdule.tistory.com/171

 

[Linux] umask 명령어란

1. 파일 접근 권한이란 2020/11/10 - [IT/Linux] - [Linux] 파일의 접근 권한을 8진수로 표기하는 방법 2. umask란 umask는 파일이나 디렉터리 생성 시 초기 접근권한을 설정할 때 사용합니다. 초기 파일의 권

bamdule.tistory.com

 

감사합니다.

반응형