리눅스의 권한은 허가권을 가지고 수행하는 것으로,
소유권과 허가권은 파일 및 디렉터리에 따로 설정 가능하다.
권한(Permission)
- 멀티 유저 환경에서 개체(파일, 디렉터리 등)에 접근할 수 있는 자격
- 개체를 읽거나(read), 쓰거나(write), 실행(execute)하는 행위
- 사용자(user), 사용자 그룹(group), 나머지 사용자(other) 단위로 권한을 부여함
ls -l [파일명]
: Permission 확인
- 파일 형식을 제외한 10자리의 문자
소유권(Ownership)
- 앞에서부터 3자리씩 소유자(user), 소속 그룹(group), 나머지 사용자(other)로 구분함
- 마지막(10번째 문자) . 은 확장권한(권한 ACL)을 나타냄
Permission 종류
문자 | 허가권 | 파일 | 디렉터리 |
r | 읽기 | 내용을 읽을 수 있는 권한 | 디렉터리 목록 확인 권한 |
w | 쓰기 | 쓰거나 삭제할 수 있는 권한 | 디렉터리 안에서 파일을 생성, 삭제할 수 있는 권한 |
x | 실행 | 실행파일(바이너리 파일)에 대한 실행 권한 | 디렉터리의 경로 변경, 디렉터리 안에 있는 항목을 읽을 수 있는 권한 |
Permission 정보 확인
- Linux 시스템의 모든 개체(파일 및 디렉터리)는 소유자와 소속그룹이 지정되어 있음
- 소유자 및 소속 그룹을 이름으로 확인 : # ls -l
- 소유자(uid) 및 소속그룹(gid)을 id로 확인 : # ls -n
Permission 인증 절차
- 사용자가 xxx.txt 파일을 수정하기 위하여 쓰기 권한을 요청함
- xxx.txt 파일의 uid와 권한을 요청한 사용자의 uid를 비교함
- 일치하면 요청한 사용자를 파일의 소유주로 인정하고 소유주(user)의 permission을 부여함
- 일치하지 않으면 gid를 비교함
- gid가 일치하면 사용자를 파일의 소속그룹 멤버로 인정하고 소속그룹(group)에 할당된 permission을 부여함
- gid도 일치하지 않으면 나머지 사용자(other)에 해당하는 permission을 부여함
허가권(permission) 관리 명령어
chmod | 파일의 허가권 변경 |
unmask | 개체가 생성될 때 부여되는 기본 permission 설정 |
setuid | 일시적으로 소유자의 권한으로 파일을 실행함 |
setgid | 일시적으로 소속그룹의 권한으로 파일을 실행함 |
sticky bit | 모든 권한 할당(단, 삭제는 소유주만 가능함) |
소유권(ownership) 관리 명령어
chown | 파일의 소유권 변경 |
chgrp | 파일의 소속그룹 소유권 변경 |
chown [계정명] [파일명]
: 개체(파일 및 디렉터리)의 소유자 변경
예시 )
chown [uid]:[gid] [파일명]
: 개체(파일 및 디렉터리)의 소유자와 소속그룹 변경
예시 )
chown -R [uid]:[gid] [파일명]
: 하위 디렉터리 및 파일 전체의 소유권 변경
예시 )
chgrp [option] [gid/그룹명] [파일명]
: 개체(파일 및 디렉터리)의 소속그룹 변경
⌗ 문제
⌗ 풀이
-
mkdir /permtest
-
useradd linux1 -> useradd linux2
-
chown linux1 /permtest
-
echo 1235 > file1 -> mv file1 /permtest/
-
chown linux1:linux1 /permtest/file1
'Server > Linux' 카테고리의 다른 글
[Linux] 파일시스템의 파일 속성 관리 명령어 (0) | 2020.04.04 |
---|---|
[Linux] 권한 ACL 명령어 (0) | 2020.04.04 |
[Linux] 허가권 관리 명령어 (0) | 2020.04.03 |
[Linux] 사용자 그룹 관리 명령어 (0) | 2020.03.26 |
[Linux] 사용자 계정 관리 명령어 (0) | 2020.03.02 |
[Linux] 사용자 계정 및 그룹 파일 (0) | 2020.03.02 |