본문 바로가기

자격증/리눅스 마스터

리눅스 마스터 요약정리 #1-1 : 권한 및 그룹 설정

728x90

리눅스(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: 파일 시스템 단위로 쿼터 설정 표기 확인

 

 

 

728x90