파일의 종류
- : 일반 파일
d : 디렉토리
l : 링크 파일
b : 블록 디바이스 파일
c : 문자 디바이스 파일
퍼미션 (permission)
: 소유자만 변경 가능
사용자 구별
rwx | rwx | rwx |
User(u) 소유자 | Group (g) 그룹 소유자 | Other (o) 이외 모든 사용자 |
접근 권한 구별
구분 (8진수) | 파일 | 디렉토리 |
r (4) | 읽기 | 파일 목록 보기 |
w (2) | 쓰기 (수정) | 파일 생성 (삭제) |
x (1) | 실행 | 들어가기 |
** rwx 8진수 표기
rwx r-x r-x : 755
111 101 101 : 7 5 5
rwx r-- r-- : 744
111 100 100 : 7 4 4
** d rwx r-x --- 해석하기
d | rwx | r-x | --- |
파일 종류 | 소유자는 rwx 권한 | 그룹 소유자는 rx 권한 | 권한 X |
chmod
: 퍼미션 수정 명령
# chmod [옵션] [퍼미션 ] [파일]
옵션
-R : 디렉토리인 경우 하위 디렉토리와 파일까지 수정
# chmod 755 a.txt
# chmod -R 750 aa/
대상 : u(user), g(group), o(other), a(all)
operator : +(추가), -(삭제), =(변경하지 않음)
퍼미션 : r, w, x, s, t
# chmod -R 755 ./a/ (rwxr-xr-x)
# chmod o+x, g-x a.txt
# chmod g+wx, o-w, o+x a.txt
suid, sgid, sticky bit
: 추가된 퍼미션으로 실행 및 삭제 권한을 보완
suid, sgid
- 실행 파일에만 적용
- 파일이 실행된 프로세스는 실행한 사용자 소유로 실행 권한이 부여
- suid, sgid를 설정한 파일의 프로세스는 소유자나 그룹 소유자의 ID로 실행
- 실행 권한에 s로 표시
suid : 4000, u+s
sgid : 2000, g+s
ex) passwd Passwd 명령은 /etc/passwd, /etc/shadow 와 같은 root 소유자 파일을 변경함으로 실행 시에 파일 소유자인 root 권한으로 실행
sticky bit
: 파일에 대해서 퍼미션과 관계없이 소유자만 삭제 가능하게 할 때 디렉토리에 other 권한을 제한
- Other을 대상으로 설정한다.
- 모든 권한 허가가 가능하지만 삭제는 소유자만 가능하다.
- 1000 : o+t
suid(4), sgid(2), stick bit(1)
- suid와 sgid는 user와 group 퍼미션에 s로 표시
- stichy bit는 other 퍼미션에 t로 표시
7777 : rwsrwsrwt
4777 : rwsrwxrwx (u+s)
2777 : rwxrwsrwx (g+s)
1777 : rwxrwxrwt (o+t)
chown, chgrp
: 소유자 또는 그룹소유자 변경
# chown [-R] [유저명] [대상]
# chown [-R] [유저명].[그룹명] [대상] - 비표준명령
# chgrp [-R] [그룹명] [대상]
ex)
chown st01 a.txt : a.txt 파일의 소유자를 st01로 변경
chgrp st01 a.txt = chown .st01 a.txt (잘 사용 X)
소유자, 그룹소유자 변경 실습
기본 퍼미션 설정
: 파일이 생성될 때 퍼미션중에 제외될 퍼미션을 지정
기본 umask는 022(0022)
- 디렉토리 퍼미션 : 755(0755), 파일 퍼미션 : 644(0644)
umask 명령
• umask 확인
# umask
• umask 변경
# umask [제외할 퍼미션]
# umask 077(0077)
: 생성되는 파일의 퍼미션은 700(0700)로 변경된다.
• /etc/profile 에 설정된다.
cd /etc/ 디렉토리로 들어가 vi profile로 umask를 수정한다. (노란 부분 수정) 수정 후 껐다 다시 키면 umask가 변경된 것을 확인
아래와 같이 umask와 파일 권한이 잘 설정된 것을 확인할 수 있다.
파일 시스템의 특성을 고려한 파일의 특성
• a : 추가 모드로만 오픈 가능
• i : 변경, 삭제, 링크 금지
• s : 안전한 삭제
• A : atime 갱신 불가
lsattr
: 파일의 속성 확인
# lsattr [옵션] [대상]
옵션
-d : 파일 형식으로 출력(대상이 디렉토리인 경우 사용)
-R : 하위의 모든 파일에 대한 속성 표시
-a : 숨김 파일 출력
chattr
: 파일의 속성 확인
# chattr [속성 연산] [옵션] [대상]
속성 연산
+ : 속성 추가
- : 속성 삭제
= : 해당 속성만 갖도록 설정 (이외 속성 삭제)
옵션
-R : 하위의 모든 파일 대한 속성 변경
'리눅스 공부 기록' 카테고리의 다른 글
리눅스 파일 시스템과 파티션 실습 및 swap 공간추가 (0) | 2021.10.27 |
---|---|
리눅스 6 - 사용자 관리 (0) | 2021.10.26 |
리눅스 4 - vi 에디터 (0) | 2021.10.22 |
리눅스 3 - 기초 명령어3 (tar, clock, date, rdate, stat, touch) (0) | 2021.10.21 |
리눅스 2 - 기초 명령어2 (ln, more, less, |, grep, head, tail, find) (0) | 2021.10.21 |