728x90
umask 명령을 이용한 기본 접근 권한 설정
기본 접근 권한
- 파일이나 디렉토리를 생성할 때 부여되는 접근 권한
- 일반 파일 생성시 소유자는 읽기와 쓰기 권한, 그룹과 기타 사용자는 읽기 권한 부여
- 디렉토리 생성시 소유자는 읽기, 쓰기, 실행 권한, 그룹과 기타 사용자는 읽기와 실행 권한 부여
- 유닉스 시스템에 설정된 기본값에 따라 부여됨.
- 설정된 값을 바꾸면 파일이 생성될 때 부여되는 접근 권한도 바꿀 수 있음
파일 생성 후 기본 접근 권한 확인
- 파일 소유자와 그룹은 읽기, 쓰기 권한, 기타 사용자는 읽기 권한이 설정되어 있음
$ touch test1
$ ls –l
total 4
-rw-rw-r-- 1 ksshin ksshin 0 6월 14 17:19 test1
-rw-r--r-- 1 ksshin ksshin 221 6월 5 22:12 text
$
기본 접근 권한 설정
- umask 명령으로 실행
- umask 명령
- 기본 접근 권한을 출력하거나 변경
- 형식 : umask [마스크 값]
- 사용 예 : umask 022, umask
- 인자로 주어지는 마스크 값은 파일이나 디렉토리 생성시 부여하지 않을 권한을 지정
- 인자 없이 umask 명령만 사용하면 설정된 기본 마스크 값을 보여줌
$ umask 077
$ touch test2
$ ls –l
total 4
-rw-rw-r-- 1 ksshin ksshin 0 6월 14 17:19 test1
-rw------- 1 ksshin ksshin 0 6월 14 17:31 test2
-rw-r--r-- 1 ksshin ksshin 221 6월 5 22:12 text
$ umask
077
$
- 마스크 값을 077로 지정했을 때 소유자는 모든 권한이 부여되어야 하는데, test2 파일의 소유자에게 실행 권한이 없는 이유 : 일반 파일이 가질 수 있는 최대 접근 권한이 666(rw-rw-rw-)이기 때문
마스크 값
마스크 값
- 파일이나 디렉토리 생성시 부여하지 않을 권한을 지정하는 값
- 파일이 생성될 때마다 적용됨
- 마스크 값이 ‘1’인 경우에 대응하는 권한은 제외됨
마스크 값 이용하여 접근 권한 계산
- 일반 파일이 가질 수 있는 최대 접근 권한은 666(rw-rw-rw-)
- 현재 마스크 값이 002라면 666과 002를 마스킹한 결과는 664
- 마스크 값이 002일 때 일반 파일 생성하면 기본 접근 권한이 664가 됨
- 디렉토리가 가질 수 있는 최대 접근 권한 777
- 002를 마스킹하면 기본 접근 권한 775가 됨
간단한 마스크 값 계산
- 최대 접근 권한에서 마스크 값을 빼는 것
- 일반 파일 : 666 – 002 = 664
마스크 값의 의미
- 유닉스의 기본 마스크 값은 022
- 사용자의 필요에 따라 적절히 변경해 자신의 파일과 디렉토리 보호
- 많이 사용되는 마스크 값은 022와 077
기본 접근 권한 변경의 예
- 기본 접근 권한 확인
$ umask
0022
$
- 파일과 디렉토리를 생성해 권한 확인
$ mkdir tmp
$ touch test
$ ls -l
total 8
-rw-r--r-- 1 ksshin ksshin 0 6월 14 19:35 test
-rw-r--r-- 1 ksshin ksshin 221 6월 5 22:12 text
drwxr-xr-x 2 ksshin ksshin 4096 6월 14 19:35 tmp
$
- 기본 접근 권한 변경 : 기타 사용자의 권한을 없애도록 변경
$ umask 027
$ umask
0027
$
- umask로 마스크 값을 변경할 때 주의할 점
- 파일과 디렉토리에 모두 적용해 보아야 함
- 파일에는 적당하지만 디렉토리에 적당하지 않을 경우 발생
- 예, 마스크 값이 026일 경우 파일은 640으로 적합, 디렉토리는 751로 기타 사용자의 접근 권한이 이상해짐
- 변경된 접근 권한 적용 확인
$ mkdir tmp2
$ touch test2
$ ls -l
total 12
-rw-r--r-- 1 ksshin ksshin 0 6월 14 19:35 test
-rw-r----- 1 ksshin ksshin 0 6월 14 19:44 test2
-rw-r--r-- 1 ksshin ksshin 221 6월 5 22:12 text
drwxr-xr-x 2 ksshin ksshin 4096 6월 14 19:35 tmp
drwxr-x--- 2 ksshin ksshin 4096 6월 14 19:44 tmp2
$
소유자 변경
- chown 명령
- 파일이나 디렉토리의 소유자 변경
- 오직 슈퍼유저만이 파일이나 디렉토리의 사용자 변경할 수 있음
- 형식 : chown [option] owner filenames
$ chown user1 test
$
그룹 변경
- chgrp 명령
- 파일이나 디렉토리가 속한 그룹 변경
- 지정하는 그룹은 반드시 소유자가 들어 있는 그룹 중 하나라야 함. 즉, 사용자의 주 그룹이나 부 그룹 중 하나라야함.
- user1이라는 사용자가 test 파일을 소유하고 있고 속한 그룹이 user이며, staff 그룹에도 속한다고 할 때 다음과 같이 변경 가능
$ chgrp staff test
$
728x90
'프로그래밍 > Unix' 카테고리의 다른 글
유닉스 프로세스 관리 명령 (0) | 2020.03.23 |
---|---|
유닉스 프로세스의 개념과 종류 (0) | 2020.03.23 |
유닉스 접근 권한 변경 (0) | 2020.03.23 |
유닉스 파일의 속성 (0) | 2020.03.23 |
유닉스 편집기, 에디터 vi 환경 설정 (0) | 2020.03.23 |