박봉달의 개발생활

[프로그래밍:서버] UNIX #2 : 퍼미션/소유자 관리 본문

IT/UNIX

[프로그래밍:서버] UNIX #2 : 퍼미션/소유자 관리

박봉달 2020. 12. 30. 15:00
728x90

안녕하세요!

박봉달입니다!

유닉스는 특히 서버에 많이 쓰이는 운영체제입니다

우리가 많이 쓰는 윈도우와는 다른 방식으로 구성되어있는데요,

오늘은 유닉스(Unix) 퍼미션/소유자 에 대해서 알아보도록 하겠습니다!


1. 퍼미션/소유자 개요

* 파일의 접근 권한

- 자신의 파일과 디렉터리 중에서 다른 사용자가 접근해도 되는 것과 그렇지 않은 것을 구분하여 접근 권한 제한

- 파일에 무단으로 접근하는 것을 방지하고 보호

 

* file [파일명] 명령어

- 파일의 종류를 알려주는 명령어

file cmp_test
-> empty file
file cmp_test2
-> ascii text
file cptest
-> directory
file slncptest
-> directory

 

* 파일 종류

- : 일반 파일을 의미(하드링크 파일은 일반파일로 취급)

d : 디렉토리 파일

l : 심볼릭 링크 파일

b : Block Device 의미

c : Character Device 의미

* 사용자 별 사용권한 분류


2. 퍼미션/소유자 명령어

* chmod 명령어

- 파일이나 디렉토리의 접근 권한을 변경

- 기호모드 : 접근 권한을 변경하기위해 문자와 기호 사용하여 권한 표시

- 숫자모드 : 접근 권한 변경하기위해 숫자 사용하여 표시

- -R : 하위 디렉토리까지 변경

* 기호모드 권한 변경

- 사용자 카테고리 : 소유자, 그룹, 기타 사용자

- 연산자 : 권한 부여 및 제거 나타내는 기호

- 권한 : 읽기, 쓰기, 실행 나타내는 문자

- 각 사용자 그룹에 권한 설정을 동시에 할 경우, 각 기호별 권한 설정 사이에 ,(컴마)로 구분하고 공백문자 사용 불가!!

chmod g+wx test2 // 그룹에 읽기와 실행권한 부여
chmod o+x test2 // 기타 사용자에게 실행권한 부여
chmod a+x test2 // 모든 사용자에게 실행권한 부여
chmod u+w,g-w test2  // 공백문자 금지!!

 

* 숫자모드를 이용한 권한 변경

- 기호모드로 표기하는 경우 가독성 높으나 전체적 권한 조정시 문자의 조합 복잡해짐

- 숫자모드에선 각 권한이 있고 없고를 0과 1로 표기하고 이를 환산하여 숫자로 표현

- 권한에 조합에 따라 0~7까지로 나타내는 것

- 각 위치가 사용자 카테고리를 나타내기 때문에 사용자 카테고리를 따로 지정할 필요가 없음

- 항상 세자리 수를 사용해야하므로 사용자 뿐 아니라 그룹과 기타 사용자의 권한도 반드시 명시!

chmod 444 test2  // 모든 사용자 읽기 권한만 부여
umask [마스크값]

* 마스크 값

- 리눅스에서는 파일이나 디렉터리 생성할 때 기본 접근 권한이 자동적으로 설정

- 파일이나 디렉터리 생성 시 부여하지 않을 권한을 설정해놓는 것

- 기본 접근 권한 확인하고 변경하기 : umask

마스크 값이 002 일 경우
--- --- -w-이고, 기타 사용자에게 쓰기 권한은 부여하지 않겠다는 의미

- umask 로 마스크 값을 바꿀 때 파일과 디렉터리에 모두 적용해봐야함

- 마스크 값이 파일엔 적합하나 디렉터리에 적합하지 않을 수 있다!

- 마스크 값 변경은 굉장히 주의해야함 !!!


이상으로 유닉스 포스팅을 마칩니다!

정리한 내용이 나중에 쓰이길 바라며 포스트를 마칩니다 :)

728x90
반응형