리눅스(Linux) 시스템의 모든 파일과 디렉터리에는 접근 권한과 소유권이 부여됩니다.
오늘은 이를 확인 및 제어하고, 특수 권한과 디스크 쿼터까지 다루도록 하겠습니다.
1. 파일 속성 조회 방법 (ls -l)
명령어: ls -l 사용
첫 번째 필드: 파일이나 디렉터리의 허가권 (chmod, umask로 설정 가능)
세 번째 필드: 파일이나 디렉터리의 소유자 (chown로 설정 가능)
네 번째 필드: 파일이나 디렉터리의 소유그룹 (chown, chgrp로 설정 가능)
* 참고 리눅스 ls 명령어 옵션
-a: 숨겨진 파일도 출력
-l: 자세하게 출력
-s: 파일 크기 순 정렬 (-h와 함께 -sh로 자주 사용)
-h: 파일크기 보기좋게 표시 (-s와 함께 -sh로 자주 사용)
-r: 역순 정렬 (기본은 알파벳순 정렬)
-R: 하위 디렉토리도 출력
-lu: atime(접근 access 시간) 출력 - 기본은 수정시간 mtime 표시
-lc: ctime(파일 저보 변경 change 시간) 출력 - 기본은 수정시간 mtime 표시
2. 소유권 관련 명령어 (chown, chgrp)
chown
: 파일과 디렉터리의 사용자 소유권과 소유그룹 변경
: 소유권 변경 시 참조하는 파일 /etc/passwd
: 기본 변경 → chown 변경할사용자명 파일/디렉토리명 (예: chown host a.txt)
: 소유그룹 변경 → chown 변경할사용자명:변경할그룹명 파일/디렉토리명 (예: chown host:grp a.txt)
chgrp
: 파일이나 디렉터리의 그룹 소유권 변경
3. 허가권 관련 명령어 (chmod, umask)
명령어 ls -l을 사용하여 파일 유형과 허가권을 알 수 있음
파일 유형: d (디렉터리) / - (일반파일) / l (링크파일) / b (블록 디바이스) / c (문자 디바이스)
파일 허가권: 읽기(read-4), 쓰기 (write-2), 실행(execute-1)으로 구성 / 접근 제한은 -
위 내용을 예로 들면 bench.py 파일의 허가권은
- (일반파일) , rw-(6 읽기 쓰기, 소유자 권한), r--(4 읽기, 소유그룹 권한), r--(4 읽기, 그 외 권한)
chmod
: 파일이나 디렉터리의 접근 허가권을 변경하는 명령어
: chmod 소유자권한번호 소유그룹권한번호 그외권한번호 파일및디렉토리명 (예: chmod 744 a.txt)
umask
: 새로 생성되는 파일이나 디렉터리의 기본 허가권 값 지정
: 파일 기본 권한 666, 디렉터리 기본 권한 777
: 기본 권한 - umask value = defualt permission
: umask 숫자값임. 기본 권한에서 umask 값을 빼야 default permission 값을 알 수 있음
: umask -S 문자값임. 문자값 그대로 권한(default permission) 설정
4. 특수 권한 (SetUID, SetGID, Sticky Bit)
SetUID / SetGID
: 프로세스가 실해되는 동안 해당 프로세스의 소유자(SetUID)/소유그룹(SetGID)의 권한을 임시로 가져오는 기능
: 프로세스가 사용자보다 높은 수준의 접근을 요구할 때 파일 접근 제한 때문에 원활한 기능을 제공할 수 없기 때문에 이러한 문제 해결을 위한 방법
: 사용의 용이성을 위해 부여하나, 보안에 위협적임
: SetUID의 경우 소유자 권한으로 파일 실행시 u+s
: SetGID의 경우 소유 그룹으로 파일 실행 시 g+s
: 만약 유저/그룹 퍼미션 자리에 실행 권한이 있으면 s(정상), 없으면 권한이 비유효하므로 S(비정상)
Sticky Bit
: 일반적으로 공용 디렉터리를 사용할 때 Sticky Bit (o+t) 설정
: 유효시 소문자 t, 비유효시 대문자 T
: 공용 디렉터리에는 누구든지 파일 생성이 가능하나, 수정 및 삭제는 root와 소유자만 가능
: 대표적인 공용 디렉터리는 /tmp와 /var/tmp가 있음
5. 디스크 쿼터 (Quota)
파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량(블록단위) 및 개수(inode 수)를 제한하는 것
사용자별, 파일 시스템별로 동작! 관련 내용은 /etc/fstab에서 디스크 쿼터 관련 설정 확인 가능
그룹 단위로도 용량 제한이 가능하여, 웹 호스팅 서비스 시 유용
순서: quotacheck → edquota → quotaon →requota
quotacheck: 파일 시스템의 디스크 사용 상태를 검색. 쿼터 설정을 확인하여 쿼터가 존재할 경우에는 생성 (aquota.user, aquota.group: 사용자, 그룹의 쿼터 관련 정보 기록)
edquota: vi 편집기를 이용하여 사용자나 그룹에 디스크 사용량 할당
setquota: 편집기나 아닌 명령행에서 바로 사용자나 그룹에 디스크 사용량 할당
quotaon/off: 쿼터 서비스를 활성화/비활성화
requota: 파일 시스템 단위로 쿼터 설정 표기 확인
'자격증 > 리눅스 마스터' 카테고리의 다른 글
리눅스 마스터 요약정리 #1-6 : 에디터 종류 (0) | 2020.12.23 |
---|---|
리눅스 마스터 요약정리 #1-5 : 프로세스 유틸리티 (0) | 2020.12.22 |
리눅스 마스터 요약정리 #1-4 : 프로세스 개념 및 유형 (0) | 2020.12.21 |
리눅스 마스터 요약정리 #1-3 : 셸(SHELL) (0) | 2020.12.20 |
리눅스 마스터 요약정리 #1-2 : 파일 시스템 관리 (0) | 2020.12.19 |