(1) 리눅스 명령어
1. which : 명령어의 경로를 확인하는 명령어, 명령어 위치를 찾아주거나 alias를 보여주는 명령어
ex)

2.alias : 자주 사용하는 명령어를 특정 문자로 입력해 두고 명령어 대신 해당 문자를 사용할 수 있게 하는 명령어

'ls -al | more' 명령어를 문자'm'으로 단축
3.unalias : alias 기능을 해제

unalias -a : 설정된 모든 ailas를 해제
4.환경변수 PATH : 실행 파일들의 디렉터리 위치를 저장해 높은 환경 변수
echo $PATH는 지정된 PATH값을 확인할 수 있다.
기존 PATH에 새로운 경로를 추가하는 방법 : 홈 디렉터리의 .bash_profile에 PATH를 추가함
export 변수명=$변수명:변수값
(2) 리눅스 도움말
1.man 명령어 : 리눅스에서 사용하는 명령어들의 매뉴얼 제공
-a : 찾고자하는 명령어의 검색된 매뉴얼 페이지 모두 출력
-h : 사용법 출력
-f : 키워드와 동일한 man페이지만 출력(whatis 명령과 동일)
-k : 키워드가 포함된 man페이지 출력(apropos 명령과 동일)
-w : 찾고자 하는 문자의 매뉴얼 페이지가 있는 위치출력
2.info : 리눅스 명령어 사용법, 옵션 등을 나타냄, man명령어에 비해 제공되는 명령어가 한정적
3.whatis : 명령어에 대한 기능을 간략히 나타냄, 자세한 사용법과 설명은 man,info로 확인, 완전히 키워드가 일치해야만 해당 명령어의 기능을 확인 가능
4.manpath : man페이지의 위치 경로를 검색해 표시해 주는 명령어
5.whereis : 찾고자 하는 명령어의 실행 파일 절대 경로와 소스코드, 설정 파일 및 매뉴얼 페이지를 찾아 출력하는 명령어
-b : 바이너리 파일만 찾음
-m : 지정된 매뉴얼 섹션에서만 찾음
-M : 메뉴얼 페이지의 위치를 제한
-u : 특정 파일을 제외
6.apropos : 맨페이지 설명에서 지정한 키워드를 포함하고 있는 명령어
(3) 사용자 생성 명령어
1.useradd : 계성생성 명령어 , 계정자의 홈 디렉터리는 '/home/계정명'이다., 생성된 계정 정보는 /etc/passwd, /etc/shadow, /etc/group에 저장됨
useradd [옵션] 계정명
-s : 사용자 로그인 기본 셸을 지정
-d : 계정의 홈 디렉터리를 지정
-f : 패스워드 만기된 후 계정이 영구히 말소될 때까지의 기간 지정
-e : 사용자 계정의 유효기간을 설정
-c : 주석, 설명추가
-G : 계정이 속한 그룹 외에 다른 그룹에 계정 추가
2.passwd : 생성된 계정자의 패스워드를 입력 및 변경하는 명령어, 생성된 계정자의 패스워드는 /etc/shadow 파일 안에 기록
passwd [옵션] 계정명
-S : 계정 상태 표시(PS : 정상, NP:패스워드 없음, LK : 락상태이거나 NP상태)
-d : 계정 패스워드 삭제 상태로 변경
-l : 계정을 lock상태로 변경(lock)
-u : 계정의 lock상태를 해제(unlock)
3.su(switch user)의 줄임말 : 현재 사용자 계정에서 로그아웃하지 않고 다른 사용자 계정으로 로그인항 해당 사용자 권한을 획득하는 명령어
su [옵션][사용자][셸변수]
-,-ㅣ,--login : 지정한 사용자의 환경변수를 적용해 로그인
-s : 지정된 셸로 로그인
-c : 셸을 실행하지 않고 주어진 명령어 수행(su -c 'cat /etc/shadow' - root : 사용자 계정 변환 없이 root권한으로 명령어 수행)
(4) 사용자 관련 파일
1. 파일 /etc/default/useradd : useradd 명령어로 사용자 계정을 추가시 사용되는 정보를 읽어오는 파일
GROUP : 새로 생성되는 계정이 기본적으로 소속될 그룹의 GID지정
HOME : 새로 생성되는 계정의 홈 데렉터리 위치를 지정
INACTIVE : 새로 생성되는 계정의 패스워드 사용 기간이 만료후 계정이 사용 불가능해지는 날을 지정(유예기간 느낌???)
EXPIRE : 새로 생성되는 계정 패스워드 만료일 지정(YYYY-MM-DD)
SHELL : 새로 생성되는 계정의 기본 셸을 지정
SKEL : 새로 생성되는 계정 사용자의 홈 디렉터리로 복사될 초기 활경설정 파일들이 저장된 디렉터리를 지정
CREATE_MAIL_SPOOL : 새로 생성되는 계정의 메일 파일 저장 여부 지정
vim /etc/default/useradd, useradd -D로 변경
ex) useradd -D -g 500 -b /home/TST -s /bin/sh : gid는 500, 홈 디렉터리는 /home/TST, 셸은 /bin/sh로 변경
-g : 그룹변경
-b : 홈디렉터리 변경
-f : INACTIVE 변경
-e : 계정 종료일 변경
-s : 셸 변경
2.파일 /etc/passwd : 계정자의 정보를 가지고 있는 파일로 리눅스에 로그인시 사용
username:password:uid:gid:comment:homedirectory:shell
username >>> 사용자의 이름
password >>> 암호화된 비밀번호(pwunconv 가 활성화 되어 있는 겨우 나타남)
uid >>> 사용자의 uid((사용자를 관리하기 위해서 사용자에게 부여한 번호)
gid >>> 사용자의 gid
comment >>> 설명문(보안상 요즘 잘사용안함)
homedirecttory >>> 사용자의 홈 디렉터리
shell >>> 실행할 프로그램(일반적으로 사용자의 로그인 셸이 저장)
3.파일 /etc/shadow : 계정자의 패스워드 정보가 암호화되어 있는 파일, 암호화 패스워드 및 계정의 유효 기간 등을 기록하고 있는 파일
username:password:lastchange:mindays:maxdays:warndays:inactive:expire:flag
username : 사용자명
password : 암호화된 비밀번호(역으로 풀수없음)
lastchange : 최근 비밀번호 변경일
mindays : 비밀번호 변경 후, 재설정을 위한 대기일 수
maxdays : 비밀번호 유효기간
warndays : 비밀번호 변경 경고 시간
inactive : 비밀번호 유예기간
expire : 비밀번호 만료와 상관없이 계정을 사용할수 없게 되는일
fiag : 나중에 사용하기 위해 예약으로 세팅되어 있고 현재는 사용되지 않으며, 0으로 지정

4.파일 /etc/login.defs : 사용자 계정 설정과 관련된 기본값을 정의한 파일, 새로운 계정 생성시 반드시 참조하는 파일
/etc/login.defs의 일부분을 나타낸것

(5) 사용자 계정 관리
1. usermod : 사용자들의 정보를 변경하는 명령어
usermod [옵션] 계정명
-u : 새로운 UID를 지정
-g : 새로운 GID지정
-G : 새로운 보조그룹 지정
-d : 새로운 홈 디레터리 지정
-s : 새로운 셸 지정
-c : 새로운 주석 지정
-I : 로그인 ID를 바꾸는 옵션으로 새로운 계정명으로 변경
2.userdel : 기존 계정 정보를 삭제하는 명령어
userdel [옵션] 계정명
-r : 모든 정보 삭제
3.chage : 패스워드 만료 정보를 변경하는 명령어
chage [옵션] [계정명]
-l : 사용자 계정 패스워드 관련 정보를 출력
-m : 설정 암호 최소 사용일자
-M : 설정 암호 사용 가능일자
-E : 암호 만기일 지정
-W : 만기 전 변경 요구 경고 날짜 지정
(6)그룹관리
1.파일 /etc/group : 사용자 그룹에 대해 정의되어 있는 파일
모든 계정은 한 개 이상의 그룹에 포함되어 있다. 파일 /etc/group을 이용해 계정의 그룹에 대한 변경을 직접 파일을 수정하거나 명령어를 이용해 변경가능
groupname : password : gid : members
groupname : 그룹명
password : 그룹 비밀번호(x로 되어있음)
gid : 그룹번호GID
members : 그룹 멤버 리스트
2.파일 /etc/gshadow : 그룹의 암호를 MD5로 하여 저장하며 그룹의 소유주, 구성원 설정이 가능하다.
groupname : password : 그룹의 소유주 : members
groupname : 그룹명
password : 그룹 암호(! = 부여 안됨)
gid : 그룹gid
members : 그룹 멤버 리스트
3.groupadd : 새로운 그룹을 생성하5.ㅎ는 명령어
groupadd [옵션] 그룹명
- g : 그룹에 gid지정
- r : 시스템 그룹 생성시 사용, 500번 이하 값 지정(남아있는 가장 높은 범위로 할당)
4.groupdel : 그룹 삭제 명령어
***그룹 안에 소속되어 있는 계정명이 있을 경우 해당 그룹을 삭제 안됨**
groupdel 그룹명
5.groupmod : 그룹 설정 변경하는 명령어
groupmod [옵션] 그룹명
-g : gid변경 옵션 -o와 같이 사용해 중복 설정을 해줌
-n : 그룹명을 변경시 사용
(7)사용자 조회 명령어
1. users : 시스템에 로그인한 사용자 정보를 출력
--version : users 명령어 버전 정보 출력

2. who : 현재 시스템에 접속해 있는 사용자들을 조회하는 명령어( 사용자 계정명, 터미널 정보, 접속 시간, 접속한 서버 등을 확인가능)
-r : 현재 시스템의 실행 레벨을 확인 가능
-b : 마지막 시스템 부팅 시간 출력
-q : 로그인한 사용자와 사용자 수를 모두 출력

3. w : 현재 접속중인 사용자들의 정보를 나타내는 명령어

JCPU : TTY필드의 장치명에서 사용되는 모든 프로세스의 CPU사용 시간이다
PCPU : WHAT 필드에 나타나는 프로세스명에서 사용하는 CPU 총 사용 시간이다
4. id : 사용자 계정의 uid, gid,group을 확인하는 명령어
-g : gid만 보기
-G : 사용자가 포함되어 있는 모든 그룹 정보 표시
-u : 사용자의 uid만 표시
5.groups : 사용자 계정이 속한 그룹 목록을 확인하는 명령어

'리눅스 마스터 2급' 카테고리의 다른 글
| PART 1(리눅스 일반) - 디렉터리 및 파일 (1) | 2023.06.07 |
|---|---|
| PART 1(리눅스 일반) - 사용자 생성 및 계정 관리 (0) | 2023.06.06 |
| PART 1(리눅스 일반) - 부트 매니저(Boot Manager) (0) | 2023.06.06 |
| PART 1(리눅스 일반) - 파티션(partition) (1) | 2023.06.06 |
| 3-2. 디렉터리 및 파일 (0) | 2023.05.18 |