18일차는
- yum 패키지와
- 사용자 및 그룹 관련 명령어 및 설정을 학습하였다.
1. yum 패키지
yum list : 설치 가능한 패키지 / 버전 / 리포지토리 정보 출력
yum repolist : 리포지토리 리스트 출력
yum list installed : 설치된 패키지
yum list updates : 설치 및 업데이트 가능한 패키지
yum info [패키지명] : 패키지 정보 출력
yum deplist [패키지명] : 패키지 의존성 확인
yum check-ipdate : 현재 시스템에 설치된 패키지 중에서 업데이트 가능한 목록 출력
yum install [패키지명] : 패키지 설치
yum update [패키지명] : 패키지 업데이트 (패키지명 생략 시, 설치된 모든 패키지 업데이트)
yum remove [패키지명] : 패키지 삭제
yum groups : 설치 가능한 그룹
yum groups info [”그룹명”] : 그룹에 대한 정보
yum history : yum 관련 history를 ID번호 순으로 출력
yum history info [ID번호] : ID 번호에 해당하는 자세한 history
yum history rollback [ID번호] : ID 번호에 해당하는 상태로 돌아감
/var/log/yum.log : yum 관련 로그 파일
(우분투 패키지 설치 명령어 apt-get)
apt-get install [패키지명] : 패키지 설치
apt-get upgrade [패키지명] : 패키지 업데이트
apt-get update : 저장소(리포지토리) 최신 정보 업데이트
2. 사용자 및 그룹 관리
(1) /etc/passwd : 사용자 계정 관리 파일
계정명 : x(원래는 패스워드인데 사용 안함) : UID : GID : 주석 : 사용자의 홈디렉토리 : 사용자의 기본 쉘
(2) /etc/shadow : 사용자의 패스워드를 저장한 파일
USER : HASH : LASTCHANGE : MIN : MAX : WARNING : INACTIVE : EXPIRE :
- HASH : 패스워드 (일방향 암호화)
- LASTCHANGE : 암호 최종 변경일. 1970년 1월 1일 기준으로 일 수를 표시
- MIN : 암호를 변경한 후 사용해야 하는 최소 기간 (이 기간동안 변경 불가능)
- MAX : 암호를 사용할 수 있는 최대 기간 (이 기간이 지나면 바꿔야함. 보통 90 설정)
- WARNING : 암호가 만료되기 전 경고를 시작하는 날 수
- INACTIVE : 암호 만료 후에도 지정한 날 수 동안 로그인 가능 (유예기간)
- EXPIRE : 계정 만료일 (계정 유효기간)
(3) /etc/login.defs : 계정 기본 설정파일
- 사용자나 그룹 생성 시, 참고하는 기본 값

(4) /etc/group : 그룹에 대한 정보
GROUP : x : GID : MEMBER (주 그룹은 표시되지 않음)
- id [계정명] : 계정에 대한 정보 및 속한 그룹 확인
- gid = 주 그룹 → etc/passwd 에서 가져옴
- groups = 보조 그룹 (주 그룹을 뺀 나머지 그룹)

(5) useradd : 계정 생성
- useradd 에는 다양한 옵션이 있다.
- useradd의 실제 기능은 /etc/passwd에 계정에 대한 정보를 한 줄 추가하는 것이다.
- /etc/passwd 및 /etc/shadow 에 기록되는 모든 내용이 옵션에 포함되어 있다고 보면 됨.
- useradd -D : 계정 생성 기본 설정 값 확인 (/etc/default/useradd 의 내용을 출력)
- useradd -D -[옵션 키][수정 값] : 각 항목에 대해 수정할 수 있는 명령어
- 또는 직접 /etc/default/useradd 를 수정해도 된다.

- /etc/skel 디렉토리 : 새로운 계정을 만들면 이 디렉토리 안에 있는 내용들이 새로운 계정의 홈 디렉토리에 그대로 생성된다.
(6) userdel : 계정 삭제
- -r 과 같이 쓰는 것을 권장 : 해당 계정의 홈 디렉토리도 같이 삭제
- (참고) 삭제 할 계정이 소유한 파일 삭제 : find / -user [uid] -exec rm -r {} \;
(7) usermod : 사용자 계정 정보 수정
- usermode [옵션][계정명] [입력값] : 해당 계정의 옵션 값을 입력값으로 수정
- -G : 2차 그룹을 수정하는데 기존에 등록된 그룹이 사라짐 (추가 시, -aG사용)
- -d : 홈 디렉토리를 수정 (새로운 디렉토리 생성 시, -md 사용)
(8) chage : 패스워드 속성 변경
- chage [옵션][계정명] : 옵션에 해당하는 속성을 변경 할 수 있음
- chage -l [계정명] : 해당 계정의 패스워드 속성 확인
- 기본적으로 /etc/login.defs 에 기록된 값들로 설정 됨
(9) su : 사용자 전환
- su [-][계정명] : 해당 계정으로 사용자 전환
- [-] : 대시 옵션 사용 시, 해당 계정의 홈 디렉토리에 있는 설정을 전부 읽어옴 (환경변수 적용)
last 명령어 : 마지막 로그인 기록
id : 현재 접속된 계정의 EUID 정보 (whoami)
who : 로그인 정보 RUID (who am i)
(10) sudo
- sudo 사용 시, 현재 로그인 계정의 비밀번호를 입력
- wheel 그룹에 속한 계정은 sudo를 사용 할 수 있음
- /etc/sudoer 수정해서 sudo 권한을 줄 수 있음
(11) chown, chgrp : 파일의 소유자, 소유그룹 변경
- chown [변경할소유자명][변경할파일] : 파일의 소유자 변경 (chgrp도 동일)
- chown [변경할소유자명]:[변경할그룹명][변경할 파일] : 한번에 변경 가능