반응형
파일 및 디렉터리 관리
소유권과 허가권
- 소유권과 허가권 확인하기
- 파일이나 디렉터리의 소유권과 허가권을 확인하기 위해서는 'ls -l' 명령어나 'ls -n' 명령어를 사용한다.
- # ls -l [file]
- -rw-r--r-- 1 apple apple 60 Jan 31 20.21 [file]
- 파일 유형
- -: 일반 파일
- d: 디렉터리
- l: 심볼릭 링크
- b: 블록 디바이스
- c: 캐릭터 디바이스
- p: FIFO
- s: 소켓
- 허가권(permission)
- 허가권은 소유자 허가권, 그룹 허가권, 다른 사용자 허가권으로 구분된다.
- 소유자 허가권: 파일이나 디렉터리를 소유한 사용자의 허가권을 의미한다.
- 그룹 허가권: 파일이나 디렉터리를 소유한 그룹의 허가권을 의미한다. 즉 그룹에 속한 사용자에 대한 허가권이다.
- 다른 사용자 허가권: 소유자나 그룹에 속하지 않은 사용자에 대한 허가권이다.
- [파일] 소유자, 그룹, 다른 사용자에게 읽기, 쓰기, 실행 권한을 부여할 수 있다.
- 읽기 권한(r): 파일의 내용을 확인하거나 복사할 수 있다.
- 쓰기 권한(w): 파일의 내용을 수정할 수 있다.
- 실행 권한(x): 실행 가능한 파일이라면 파일을 실행할 수 있다. 가령 읽기 권한과 실행 권한을 셸 스크립트에 부여하면 해당 스크립트를 실행할 수 있다.
- [디렉터리] 소유자, 그룹, 다른 사용자에게 읽기, 쓰기, 실행 권한을 부여할 수 있다.
- 읽기 권한(r): ls 명령어 등으로 디렉터리 내에 포함된 파일과 디렉터리를 확인할 수 있다.
- 쓰기 권한(w): 디렉터리가 포함하고 있는 파일 등을 수정할 수 있다. 즉 파일을 생성하거나 삭제할 수 있다.
- 실행 권한(x): 디렉터리 안으로 접근할 수 있는 권한이다. 실행 권한이 없다면 cd 명령어로 디렉터리 안으로 들어갈 수 없다.
- 허가권은 소유자 허가권, 그룹 허가권, 다른 사용자 허가권으로 구분된다.
- 소유권(ownership)
- 리눅스는 다수의 사용자가 공동으로 사용할 수 있는 멀티 유저 시스템이다. 따라서 각 파일이나 디렉터리를 소유한 사용자나 그룹을 지정하여 시스템을 효과적을 이용할 수 있다.
- 사용자 소유권: 파일이나 디렉터리를 소유한 사용자
- 그룹 소유권: 파일이나 디렉터리를 소유한 그룹, 즉 그룹에 속한 사용자가 소유권을 갖는다.
- 허가권 변경하기
- 파일이나 디렉터리에 대한 허가권을 변경하기 위해 chmod 명령어를 사용한다. chmod는 기호를 통하거나 8진수 숫자를 통해 허가권을 변경할 수 있다.
- [기호]
- 읽기는 'r', 쓰기는 'w', 실행은 'x'
- 권한의 추가는 '+', 삭제는 '-', 지정은 '='
- 사용자 허가권은 'u', 그룹 허가권은 'g', 다른 사용자 허가권은 'o'로 표기한다. 특별히 'a'는 사용자, 그룹, 다른 사용자 모두를 의미한다.
- [8진수]
- 읽기는 '4', 쓰기는 '2', 실행은 '1'로 표기한다. 권한을 주지 않으려면 '0'으로 표기한다. 이들은 조합으로 표현할 수 있는데, 읽기 및 쓰기의 경우는 4+2=6이 된다.
- 8진수 중 4번째 자리는 특수 권한이고 3번째 자리는 사용자 허가권, 2번째 자리는 그룹 허가권, 1번째 자리는 다른 사용자 허가권을 의미한다.
- 예로서 '755'라면 사용사 허가권은 읽기, 쓰기, 실행 권한을 갖고, 그룹과 다른 사용자 허가권은 읽기, 실행 권한을 가진다는 것을 의미한다.
- 형식: chmod [option] mode file(s)
- 옵션
- -R, --recursive: 특정 디레터리 내의 파일과 디렉터리에 대하여 재귀적으로 허가권을 변경한다.
- -C, --changes: 변경된 파일이나 디렉터리에 대한 자세한 정보를 출력한다.
- -f, --silent, -quite: 대부분의 에러 메시지의 출력을 제한한다.
- --reference: 모드 대신에 파일에 지정한 모드를 사용한다.
-
- chmod 644 t2
- chmod -R 755 t
- chmod u=rw t1예제
- 사용자 및 그룹 소유권 변경하기
- 파일이나 디렉터리의 사용자 및 그룹의 소유권을 변경하기 위해 chown 명령어를 사용할 수 있다. 소유권 변경은 오직 루트 사용자만 가능하다.
- 사용자 및 그룹의 소유권은 이름뿐 아니라 UID, GID를 의미하는 숫자로 지정이 가능하다.
- 형식: chown [options] owner[:group] file(s)
- 옵션
- -R, --recursive: 특정 디렉터리 내의 파일과 디렉터리에 대하여 재귀적으로 소유자를 변경한다.
- -C, --changes: 변경된 파일이나 디렉터리에 대한 자세한 정보를 출력한다.
- -f, --silent, --quite: 대부분의 에러 메시지의 출력을 제한한다.
- --reference: 지정한 파일에 설정되어 있는 사용자의 그룹으로 소유자를 설정한다.
- 예제
- 그룹 소유권만 변경하기
- 파일이나 디렉터리의 그룹 소유권만 변경할 때는 chown 대신 chgrp를 사용한다. chown은 루트 사용자만 가능했지만, chgrp는 본인이 소유한 파일에 대한 본인이 속한 그룹 내에서 소유권을 변경할 수 있다.
- 형식: chgrp [options] group file(s)
- 옵션
- -R, --recusive: 특정 디렉터리 내의 파일과 디렉터리에 대해 재귀적으로 그룹 소유자를 변경한다.
- -C, --changes: 변경된 파일이나 디렉터리에 대한 자세한 정보를 출력한다.
- -f, --silent, --quite: 대부분 에러 메시지 출력을 제한한다.
- -h, --no-dereference: 심볼릭 링크 자체의 파일 및 그룹의 소유권을 변경한다. 이 옵션을 설정하지 않으면 심볼릭 링크가 가리키는 파일의 소유권을 변경한다.
- 예제
- $ sudo chgrp fruit t1
- $ sudo chgrp -R fruit t
- 기본 허가권 변경하기
- 시스템상에 파일이나 디렉터리를 생성할 때 기본 허가권을 지정하기 위해 umask 명령을 사용한다. 리눅스의 기본 허가권 값은 파일의 경우 666(rw-rw-rw-)이고 디렉터리의 경우는 777(rwxrwxrwx)이다. 파일이나 디렉터리 생성 시 이 값에서 umask에 설정된 마스크 값을 뺀 결과값을 허가권으로 지정한다. 예를 들면 umask가 022라면 파일 생성 시 644가 기본 허가권이 되고 디렉터리의 경우는 755가 된다.
- 형식: umask [option] [mask]
- 옵션
- -S: umask 값을 숫자 대신 문자(symbolic)로 표기한다.
- 예제
반응형
'Linux > 리눅스 시스템 관리' 카테고리의 다른 글
01_02_03_리눅스 파일 시스템 관리_파일 링크 (0) | 2022.02.14 |
---|---|
01-02-02 파일 시스템 관리_특수 권한 (0) | 2022.02.13 |
01-01-07 사용자 및 그룹 정보 관련 명령어 (0) | 2022.02.11 |
01-01-06 사용자 환경설정 파일 (0) | 2022.02.10 |
01-01-05 그룹 계정 관리 (0) | 2022.02.09 |