[Linux] RHCSA

# RHCSA

1. 로컬 및 원격 로그인

1-1.

1-2. SSH 키 기반 인증 설정

1-3. RedHat Support

2. 파일 시스템

2-1. 리눅스 파일 시스템 계층 구조

2-1-1. 주요 디렉터리

위치 용도
/usr 설치된 소프트웨어 프로그램 및 라이브러리 포함
- /usr/bin : 사용자 명령
- /usr/sbin : 시스템 관리 명령
- /usr/local : 로컬 사용자 지정 소프트웨어
/etc 시스템 고유의 구성 파일
/var 재부팅 후에도 존재하는, 시스템 고유의 가변데이터
/run 마지막 부팅 이후 시작된 프로세스의 런타임 데이터
/home 홈디렉터리
/root 관리자 루트의 홈 디렉터리
/tmp 어디에서나 쓸 수 있는 임시 파일용 공간
10일 동안 액세스, 변경되지 않은 파일은 자동으로 삭제
/boot 부팅 프로세스를 시작하는 데 필요한 파일
/dev 하드웨어에 액세스하기 위해 사용되는 특수 장치 파일 포함

2-1-2. 파일 관리 명령어

2-1-3. 링크 만들기

3. 사용자 및 그룹

3-1. 사용자 및 그룹

3-1-1. 사용자

username : password : UID : GID : GECOS : /home/dir : shell

3-1-2. 그룹

기본그룹
보조 그룹

3-2. 수퍼유저 액세스 권한 취득

3-2-1. su

3-2-2. sudo

3-3. 로컬 사용자 계정 관리

useradd
usermod
userdel
UID

3-4. 로컬 그룹 계정 관리

groupadd
groupmod
groupdel
usermod

3-5. 사용자 암호 관리

$1$gCjLa2/Z$6Pu0EK0AzfCjxjv2hoLOB/

/etc/shadow
name:password:lastchange:minage:maxage:warning:inactive:expire:blank
  1. 로그인 이름
  2. 암호화된 암호 / 느낌표로 시작되는 암호 필드는 잠겼음을 의미
  3. 마지막 암호 변경 날짜 / 1970년 1월1일 이후 경과된 날짜 수로 표시
  4. 암호 변경 전의 최소 날짜 수 / 0은 “최소 변경 요건” 의미
  5. 암호 변경 전의 최대 날짜 수
  6. 암호 만료를 알리는 경고 기간 / 0은 “경고 없음” 의미
  7. 암호가 만료된 후 계정이 계속 활성 상태인 날짜 수
  8. 계정 만료 날짜
  9. 빈 필드는 향 후 사용을 위해 예약
암호 속성 변경

3-6. ID 관리 서비스

3-6-1. 사용자 정보 및 인증 서비스

사용자 정보 및 인증
  1. 계정 정보 : 사용자 이름, 홈디렉터리 위치, UID 및 GID, 그룹 멤버십 등의 정보가 포함
  2. 인증 정보 : 시스템이 사용자의 신원을 검증하는 수단

3-6-2. LDAP 및 kerberos

Authconfig

LDAP 및 Kerberos 서버를 연결하려면 다음 파일을 업데이트

sssd 데몬은 시스템이 사용할 수 있기 전에 활성화 및 시작

RHEL7에서는 자동화할 도구 제공

필수 LDAP 매개 변수

LDAP 연결을 하려면 authconfig에 여러 설정이 필요

필수 Kerberos 매개 변수

4. 파일 권한

4-1. 파일 시스템 권한 관리

4-1-1. 파일/디렉터리 권한 변경

chmod
chmod WhoWhatWhich file|directory
chmod ### file|directory

4-1-2. 파일/디렉터리 사용자 또는 그룹 소유권 변경

chown
chown [owner] [name]
chown :[group] [name]
chown [owner]:[group] [name]

4-2. 기본 권한 및 파일 액세스 관리

4-2-1. 특수 권한

setuid 권한은 해당 명령을 실행한 사용자가 아니라 파일의 user로 실행됨을 의미

특수 권한 파일 디렉터리
u+s(setuid) 실행자가 아닌 소유자 권한으로 실행 영향 X
g+s(setgid) 소유한 그룹 권한으로 실행 디렉터리에 새로 생성된 파일에는 디렉터리의 그룹 소유자와 일치하는 그룹 소유자가 설정
o+t(sticky) X 디렉터리에 대한 쓰기 권한을 가진 사용자는 자신이 소유한 파일만 제거 가능

4-2-2. 기본 파일 권한

umask

4-3. POSIX ACL

4-3-1. ACL 권한 적용 순서

4-4. ACL로 파일 보호

4-4-1. ACL 파일 권한 변경

ACL 추가 또는 수정
setfacl -m u:[name]:[rwx] [file]

name이 비어 있는 경우, file owner에 적용

setfacl -m g:[name]:[rwx] [file]

group에 적용. name이 비어 있는 경우, group owner에 적용

getfacl을 입력으로 사용

getfacl의 출력을 setfacl에 대한 입력으로 사용 가능

getfacl fileA | setfacl --set-file=- fileB
명시적 ACL 마스크 설정

파일 또는 디렉터리에 ACL 마스크를 명시적으로 설정하여 명명된 사용자, 그룹 소유자, 명명된 그룹의 최대 유효 권한 제한 가능

setfacl -m m::[rwx] [file]
ACL 삭제
setfacl -x u:[name],g:[name] [file]

4-4-2. 기본 ACL 파일 권한 제어

setfacl -m d:u:[name]:[rwx] [directory]

5. SELinux

5-1. SELinux 활성화 및 모니터링

기본 SELinux 보안 개념
SELinux 모드
현재 SELinux 모드 표시
getenforce

5-2. SELinux 모드 변경

현재 SELinux 모드 변경
setenforce [Enforcing | Permissive | 1 | 0 ]
기본 SELinux 모드 설정

부팅 시 SELinux 모드를 결정하는 구성 파일은 /etc/selinux/confi

5-3. SELinux 컨텍스트 변경

초기 SELinux 컨텍스트
파일의 SELinux 컨텍스트 변경
SELinux 기본 파일 컨텍스트 규칙 정의

5-4. SELinux 부울 변경

SELinux 부울
getsebool
setsebool

6. 프로세스 관리

6-1. 프로세스 kill

신호를 사용하여 프로세스 제어
신호 번호 이름 정의 용도
1 HUP 끊어짐 터미널의 제어 프로세스 종료를 보고하는 데 사용 / 프로세스를 초기화 하는데 사용
2 INT 키보드 인터럽트 프로그램 종료
3 QUIT 키보드 종료 SIGINT와 유사하지만 종료할 때 프로세스 덤프 발생
9 KILL  
15(Default) TERM 종료  
18 CONT 계속  
19 STOP 중지  
20 TSTP 키보드 중지  
kill -signal PID

6-2. 프로세스 작업 모니터링