리눅스의 파일 권한
- 소유권 (Ownership)
: 파일 및 디렉터리에 대한 소유 여부
: 사용자 소유권과 그룹 소유권으로 나뉨
- 허가권 (Permission)
: 파일이나 디렉터리에 대한 접근 권한
: 사용자, 그룹, 다른 사용자로 나뉨
: rwx (읽기, 쓰기, 실행)으로 권한이 나뉨
허가권 권한별 설명
- r
: 파일의 내용을 볼 수 있는 권한
: 디렉터리 내부의 내용을 볼 수 있는 권한
- w
: 파일의 내용을 수정할 수 있는 권한
: 디렉터리 내부에 파일을 생성 또는 삭제할 수 있는 권한
- x
: 실행 파일을 실행할 수 있는 권한
: 디렉터리 내부로 접근할 수 있는 권한
- 파일의 종류
: -
> 일반파일
: l
> 링크파일
: c
> 입출력 관련 특수 파일
: d
> 디렉터리
: s
> 소켓
: b
> 디스크 드라이버
: p
> named pipe
특수 권한
: 사용자, 그룹, 다른 사용자 간 일시적으로 필요한 권한을 허용하기 위한 특별한 권한
: 권한이 없는 사용자가 일시적으로 파일에 권한을 부여하는 것
- Set-UID
: 주로 실행 파일에 부여하는 특수 권한
: 해당 파일을 실행하는 동안에는 소유자의 권한으로 실행됨
: 소유자 권한 부분에 x 대신에 s로 표시됨
: 사용자에 대해 실행 권한이 없는 경우 S로 표시됨
- Set-GID
: 주로 디렉터리에 부여하는 특수 권한
: 해당 파일을 실행하는 동안에는 소유 그룹의 권한으로 실행됨
: 이 권한이 설정되어도 만들어지는 디렉터리 내부의 파일 및 디렉터리는 소유 그룹의 권한임
: 그룹 소유권 부분의 x 자리에 s로 표시됨
: 그룹에 대해 실행 권한이 없을 경우 S로 표시됨
- Sticky-Bit
: 공유 디렉터리를 만들기 위해 부여하는 특수 권한
: /tmp 디렉터리에 설정되어 있음
: 해당 디렉터리 내에서 다른 사용자들 끼리 파일 및 디렉터리 생성을 할 수 있지만
서로의 파일 및 디렉터리에 대해서는 삭제가 불가능함
: 다른 사용자 소유권 부분의 x 자리에 t로 표시됨
: 다른 사용자에 대해 실행권한이 없는 경우 T로 표시됨
파일 권한 관리 관련 명령어
- chmod
- chown
- chgrp
- umask
chmod
: 파일이나 디렉터리에 대한 Permission을 설정
: 알파벳을 사용하는 문자모드와 8진수 값을 사용하는 숫자모드로 3계층에 대해 3가지 권한을 부여
: 여러 계층에 대해 , 로 구분하여 분리지정 가능
- 알파벳 모드 권한 표시
: r
> 읽기 권한
: w
> 쓰기 권한
: x
> 실행 권한
- 알파벳 모드 계층 표시
: u
> 사용자
: g
> 그룹
: o
> 다른 사용자
- 알파벳 모드 설정 기호
: +
> 권한 부여
: -
> 권한 박탈
: =
> 특정 권한으로 지정
- 숫자모드 권한 표시 (여러 권한 부여 시 각 값을 합함 / ex 읽기 + 쓰기 = 6)
: 4
> 읽기 권한
: 2
> 쓰기 권한
: 1
> 실행 권한
- 형식
: chmod [option] <mode> <file>
- 주요 옵션
: -R (--recursive)
> 하위 디렉터리를 포함한 모든 내부 파일에 대해 변경
: -c (--changes)
> 변경 된 정보 출력
: -f (--silent, --quite)
> 중요한 오류 메시지 외 결과에 대한 출력 없음
: -v (--verbose)
> 결과에 대해 자세한 정보 출력
: --version
> 명령어의 버전 정보
- 예시
```
chmod ugo+rwx test.txt
chmod 777 test.txt
=> 모든 사용자에게 읽기 쓰기 실행 권한 부여
chmod a= test.txt
chmod 0 test.txt
=> 모든 사용자에게 모든 권한 박탈
chmod u+x test.txt
=> 사용자에게 실행권한 부여
chmod 755 test.txt
=> 사용자에게 모든 권한 부여 / 그룹 및 다른 사용자에게는 읽기 및 실행 권한만 부여
```
chown
: 파일이나 디렉터리에 대한 소유권 및 그룹 소유권 변경
- 형식
: chown [option] <owner[:group]> <file>
- 주요 옵션
: -R (--recursive)
> 하위 디렉터리를 포함한 모든 내부 파일에 대해 변경
: -c (--changes)
> 변경 된 정보 출력
: -f (--silent, --quite)
> 중요한 오류 메시지 외 결과에 대한 출력 없음
: -v (--verbose)
> 결과에 대해 자세한 정보 출력
chgrp
: 파일이나 디렉터리의 소유 그룹 변경
: 본인의 소유 파일을 본인이 속한 그룹내에서 변경 가능
- 형식
: chgrp [option] <group name> <file>
- 주요 옵션
: -R (--recursive)
> 하위 디렉터리를 포함한 모든 내부 파일에 대해 변경
: -c (--changes)
> 변경 된 정보 출력
: -f (--silent, --quite)
> 중요한 오류 메시지 외 결과에 대한 출력 없음
: -v (--verbose)
> 결과에 대해 자세한 정보 출력
: -h (--no-dereference)
> 심볼릭 링크 파일 자체의 그룹 소유권 변경. 원래는 원본 파일의 그룹 소유권이 변경됨
umask
: 파일이나 디렉터리 생성 시 부여되는 기본 허가권 확인 및 지정
: 디렉터리 기본 허가권은 777 / 파일은 666
- 형식
: umask [option] <value>
- 주요 옵션
: -S
> umask 값을 문자로 표시
- 예시
umask 022
umask u=rwx,g=wx,o=wx
=> umask 값을 변경
Refference
'Certification > 리눅스마스터' 카테고리의 다른 글
리눅스 Disk Swap 설정 (0) | 2022.10.10 |
---|---|
리눅스 파일 시스템 관리 (0) | 2022.10.10 |
리눅스 시스템 정보 조회 및 관리 (0) | 2022.10.08 |
리눅스 그룹 관리 (0) | 2022.10.07 |
리눅스 사용자 관리 (0) | 2022.10.05 |