권한
기본권한 : 소유자/ 소유그룹 / 기타
소유자/ 소유그룹/ 기타사용자
권한의 분류 : 읽기(Read), 쓰기(Write), 실행(Excute)
파일/디렉토리에서 각 권한의 의미
파일
- 읽기 - 파일의 내용을 볼 수 있는 권한
- 쓰기 - 파일의 내용을 수정할 수 있는 권한
- 실행 - 실행파일(Binary), 스크립트(R + X)
디렉토리(개체의 목록을 가지고 있는 파일)
- 읽기 - 디렉토리 내의 개체목록을 읽을 수 있는 권한
- 쓰기 - 해당 디렉토리 내 개체의 목록을 수정할 수 있는 권한
- 실행 - 해당 디렉토리에 진입할 수 있는 권한
각 권한에 대한 설정 방법
- 권한을 설정할 수 있는 주체 : 파일의소유자 +root
- 권한변경 명령 : chmod [권한설정내용] [대상개체]
- 권한부여 방법 : 심볼릭 방식 + 8진수 방식
- 8진수 방식 : 0~7 사이의 숫자를 사용하여 RWX 권한을 한꺼번에 지정
- 일반적으로 4(r--), 5(r-x), 6(rw-), 7(rwx), 0(---)
- 소유자/소유그룹/기타사용자의 권한을 한꺼번에 지정
- 심볼릭 : 대상-연산자-권한
- 대상 : u(소유자), g(소유그룹), o(기타), a(모두)
- 연산자 : +(권한부여), -(권한제거), =(권한지정)
- 권한 : r(읽기), w(쓰기), x(실행)
- 대상과 권한은 복수 지정 가능
- u+w : 소유자에게 쓰기권한 추가
- ug+w : 소유자, 소유그룹에게 쓰기권한 추가
- o+rw : 기타사용자를 대상으로 읽기,쓰기권한 추가
- a+x : 모든(소유자/소유그룹/기타) 대상에게 실행권한 추가
- u=rw,g=r,o=- : 소유자는 6, 그룹은 4, 기타는 0권한 지정
소유권 : 파일의 소유자/ 소유그룹 변경
소유권 변경 명령 : chown/ chgrp
chown
- 파일의 소유자/ 소유권을 한꺼번에 변경가능
- chown [소유자]:[소유그룹] <대상개체>
- 소유자만 변경 - chown [소유자] <대상개체>
- 소유그룹만 변경 - chown :[소유그룹] <대상개체>
- -R : 디렉토리의 소유정보 변경시 디렉토리 내 항목도 모두 변경
umask
- 유닉스/리눅스에서 파일 생성시 적용되는 권한 설정 : 666
- 유닉스/리눅스에 디렉터리 생성 시 적용되는 권한설정 : 777
- umask : 명령어. 현재 설정된 umask 설정값을 확인
- umask [설정값] : umask값 변경
- 666 >> 664, 777 >> 775
*사용자 환경설정 파일
공통 환경설정 파일 : /etc/profile쉘(Shell)별 환경설정파일 : ~/.bashrc
사용자별 환경설정 파일 : ~/.profile
특수권한
- SetUID : SetUID가 설정된 실헹파일을 실행하고 있는 동안은 실행파일의 소유자의 권한을 사용하도록 설정(usr/bin/passwd, /usr/bin/su). 설정될 경우, 파일 소유자의 권한의 x부분에 s로 표기, 실행파일에만 영향을 미치고 디렉토리에는 영향이 없음
- SetGID : SetGID가 설정된 실행파일을 실행하고 있는 동안은 실행파일의 소유그룹의 권한을 사용하도록 설정. 설정될 경우, 파일 소유그룹의 권한의 x 부분에 s로 표기. 디렉토리에도 작용함 - 해당 디렉토리에 생성되는 파일의 소유그룹을 해당 디렉토리의 소유그룹으로 지정.
- StickyBit : 디렉토리에만 영향을 줌. 디렉토리에 쓰기권한이 있는 사용자라 하더라도 자신이 소유한 파일이 아니면 삭제 불가.
특수권한 설정
- chmod 명령을 사용
- 심볼릭방식 / 8진수 방식 모두 사용가능
- 심볼릭방식 : SetUID/SetGID는 s권한으로 부여, StickyBit는 o에 대해서 t권한을 부여
- 8진수방식 : 8진수 맨 앞자리를 SetUID(4)+SetGID(2)+StickyBit(1)
- ex) passwd : rws r-x r-x - 4755
- ex) SetUID와 SetGID가 동시에 설정된 파일 - 6755 (4+2)
- ex) /tmp : rwx rwx rwt - 1777
ACL(Access Control List)
기본 권한만으로는 다양한 대상에 대한 구체적인 권한을 설정할 수 없음(소유자, 소유그룹, 기타사용자)
다양한 대상을 지정하여 권한을 설정할 수 있음
- 특정 사용자
- 특정 그룹
ACL 관련 명령어
getfacl <대상> : 대상에 설정된 ACL정보를 확인
- -m : 설정할 ACL 정보 입력/수정
- 분류 : u(user),g(group),m(mask)
- 대상 : 특정 대상의 이름/UID/GID, 마스크는 이 부분을 비움(m::)
- 권한 : r,w,x, -(---)
- -x : 특정 ACL 항목 제거
- -b : ACL 전체 삭제
ACL mask : ACL 설정시 마스크 항목이 자동으로 생성. setfacl로 설정한 사용자에게 권한이 적용되도록 mask값이 자동으로 설정. mask는 소유자를 제외한 나머지 전부에게 적용
ACl의 마스크 값의 종류 : 일반파일(rw,r,-) 디렉토리(rwx,rx,-)
마스크가 현재 설정되어있는 ACL의 권한보다 적을경우 effective(실효권한)을 따로 표기해줌
- 파일의 소유자인가? Y → 소유자 권한 사용
- 파일의 소유그룹인가? Y → 소유그룹 권한 사용
- 기타 사용자 권한 사용
* ACL권한이 적용되는 순서
- 파일의 소유자인가? Y → 소유자 권한 사용
- 파일에 이 사용자에 대한 ACL이 설정되어 있는가? Y → 해당 ACL사용
- 파일의 소유그룹인가? Y → 소유그룹 권한 사용
- 파일에 이 사용자의 그룹에 대한 ACL이 설정되어 있는가? Y → 해당 ACL 사용
- 기타 사용자 권한 사용
* 기본권한이 적용되는 순서
setfacl <ACL옵션> <대상> : 대상에 ACL 정보를 입력
- Default ACL
- 디렉토리에 설정되는 ACL
- 디렉토리 내에 생성되는 파일들에 기본적으로 적용되는 ACL
- 상속되는 특징이 있음 → 하위 디렉토리에 디폴트ACL 그대로 추가됨
- Default ACL은 ACL과 다름 : 디렉토리 자체의 ACL을 별도로 설정하고, Default ACL 설정
- 설정방법 : 기존 ACL설정방법과 거의 동일, 분류앞에 d: 추가
- ex) setfacl -m d:u:encore:rw dirA
- 삭제방법 동일 : -x d:u:encore
- Default ACL만 전부 삭제 : -k
프로세스 관리
프로세스
- 리눅스에서 파일형태로 저장된 실행명령은 프로그램
- 실제로 호출하여 실행하면 프로세스(Process)라고 부름
- 프로세스는 메모리에 올라와야 동작 가능함
프로세스 관리 명령어
- ps : 기본적인 프로세스 목록 확인 도구
- 자주 사용하는 옵션
- ps -ef : -e 현재 쉘에서 실행되는 프로세스 이외의 시스템 프로세스 조회, -f : 상세정보 조회
- ps aux : 프로세스 별 자원 사용량 등을 상세하게 조회
- pstree : 프로세스의 부모-자식 트리구조에 따라 표시
- kill : 프로세스에 지정한 시그널을 전송, 프로세스PID로 선택
- kill -[시그널번호/시그널이름] <대상프로세스의 PID>
- Kill -l : 사용할 수 있는 각 시그널 별 번호 및 이름 확인
- 주요 시그널
- 9 : SIGKILL - 강제성이 있음
- 15 : SIGTERM - 강제성이 없음
- pkill : 프로세스에 지정한 시그널을 전송, 프로세스 이름으로 선택
백그라운드/ 포그라운드(Background/Foreground)
- 포그라운드 : 쉘에서 프로세스 실행 시, 프로세스가 실행되는 동안 사용자의 입/출력/에러가 프로세스에 연결되어 있는 상태
- 백그라운드 : 쉘에서 프로세스 실행 시, 사용자의 입/출력/에러를 실행되는 프로세스에 연결하지 않고 쉘에 연결한 상태
- 백그라운드 명령 실행 방식 : 명령어 제일 마지막에 ‘&’ 기호 추가
- jobs : 현재 실행중인 백그라운드 작업 목록 확인
- fg : 작업을 포그라운드로 전환
- 포그라운드 작업을 백그라운드로 전환 : Ctrl + z(백그라운드에서 STOP상태로 전환)
- 백그라운드에서 STOP 상태인 작업을 재개 : bg
'클라우드 아키텍트 양성과정' 카테고리의 다른 글
리눅스(CentOS) 저장소 관리(LVM, RAID) (0) | 2021.04.26 |
---|---|
리눅스(CentOS) 저장소 관리(파티션, 파일시스템, 스왑) (1) | 2021.04.26 |
리눅스(CentOS) 사용자 관리 (0) | 2021.04.26 |
리눅스 소개/ 기본명령어 (0) | 2021.04.26 |
약결합 아키텍처 구축(SQS & SNS) (0) | 2021.03.29 |
댓글