
리눅스 시스템의 모든 파일과 디렉터리에는 접근권한(permission)과 소유권(ownership)이 부여된다.
- rw-rw-r-- 1 ysh root 50 2023-05-02 12:00 sample.txt
'-': 파일 유형
-: 일반 파일d: 디렉터리 파일l: 심볼릭 링크 파일p: 파이프 파일b: 블록 파일(저장장치)s: 소켓파일c: 문자 파일(입출력 장치)'rw-rw-r--': 파일 접근 권한
'ysh': 파일 소유자명
'root': 파일 소유 그룹명
'50': 파일 크기(바이트 단위)
'2023-05-02 12:00': 파일이 마지막으로 변경된 시간
'sample.txt': 파일명
1. 소유권과 관련된 명령어
chown
chown [옵션] 소유자[:그룹명] 파일명, 그룹명 앞에 콜론(:)을 붙여 사용자 소유권과 그룹 소유권을 분리-R: 하위 디렉터리 포함chown -R root sample.txtchown :root sample.txt chgrp
-h: 심볼릭링크 파일 그룹 소유권 변경chgrp root sample.txt2. 허가권과 관련된 명령어
chmod
ugoachmod 744 sample.txtchmod u=rwx, g+r, o-r sample.txtchmod a=rwx sample.txtumask
077-S: umask 값을 u, g, o와 w, r, x와 같은 문자로 나타냄3. 특수권한
실행 파일이 아닌데 setuid나 setgid를 설정하면 대문자 'S'가 되고 실행할 수 없다.
따라서 실행파일이 아닐 경우 접근 권한에 'x'를 추가해야 하며, 실행권한이 추가된 파일에 setuid나 setgid를 설정하면 소문자 's'가 되고 정상적으로 실행할 수 있다.
setUID: 프로그램을 실행하는 동안 프로세스는 파일의 소유자와 같은 권한으로 실행된다.
schmod 4644(= u+s) sample.txtchmod 4744 sample.txtsetGID: 프로그램을 실행하는 동안 프로세스는 파일의 그룹과 같은 권한으로 실행된다.
schmod 2644(= g+s) sample.txtchmod 2674 sample.txtsticky bit: 공용 디렉터리를 사용할 때 sticky bit를 설정하여 사용한다. 또한 /tmp 폴더는 sticky-bit가 자동으로 설정되어 있다.
tchmod 1744(= o+t) SampleDirectory4. 디스크 쿼터
정의: 파일 시스템마다 사용자/그룹이 생성할 수 있는 파일 용량/개수 제한
edquota: 편집기(editor)를 사용하여 그룹에 디스크 사용량 할당
-p: 디스크 할당량 설정을 다른 사용자와 동일하게 설정 (ysh의 설정을 ysh2에게로)edquota -p ysh ysh2setquota: 명령행에서 직접 디스크 사용량 할당
setquota -u 계정명 [블록 soft] [블록 hard] [inode soft] [inode hard] [파티션명]setquota -u ysh 20M 30M 0 0 /home5. 참고
하이픈(-)을 사용함