본문 바로가기
리눅스 마스터 2급

PART 1(리눅스 일반) - 사용자 생성 및 계정 관리

by 세용용용용 2023. 6. 6.

1) which : 명령어의 경로를 확인하는 명령어

- 명령어의 위치를 찾아주거나 alias를 보여주는 명령어

- $PATH가 설정되어 있는 경로에서만 해당 명령어의 경로를 찾음

 

형식 : which 명령어

ex) which pwd, which m

 

 

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

형식 : alias 별명='명령어'

ex) alias m='ls -al | more' : ls -al | more 명령어를 문자m으로 단축시킴

 

 

3) unalias : alias 기능을 해제

형식 : unalise 옵션 단축명령어

unalias -a : 설정된 모든 alias해제

ex) unalias m : m단축 명령어 더이상 사용 안함

 

 

4) 환경변수 PATH : 실행 파일들의 디렉터리 위치를 저장해 놓은 환경 변수

- 특정 명령어 입력시 PATH변수에 저장되 있는 경로에서 해당 명령어를 찾아 실행함

 

echo $PATH는 지정된 PATH값을 확인할 수 있다.

형식 : export 변수명=$변수명:변수값

 

 

리눅스 도움말 명령어

5) man : 리눅스에서 사용하는 명령어들의 매뉴얼을 제공

-a : 찾고자 하는 명령어의 검색된 매뉴얼 페이지를 모두 출력

-h : 사용법 출력

-f : whatis명령과 동일, 키워드가 동일한 man페이지만 출력

-k : apropos명령과 동일, 키워드가 포함된 man페이지만 출력

-w : 찾고자 하는 문자의 매뉴얼 페이지가 있는 위치를 출력

 

 

6) info : 리눅스 명령어의 사용 방법, 옵션 등을 나타낸다

man에 비해 제공되는 명령어가 한정적이다

 

 

7) whatis : 명령어에 대한 기능을 간략하게 나타냄

완전히 키워드가 일치해야만 해당 명령어의 기능을 확인할수 있다.

ex) whatis ls

 

 

8) manpath : man페이지의 위치 경로를 검색하여 표시해 주는 명령어

 

 

9) whereis : 찾고자 하는 명령어의 실행 파일 절대 경로와 소스코드, 설정 파일 및 매뉴얼 페이지를 찾아 출력하는 명령어

-b : 바이너리 파일만 찾음

-m : 지정된 매누얼 섹션에서만 찾음

-M : 매뉴얼 페이지의 위치를 제한

-u : 특정 파일을 제외

 

 

10) apropos : man페이지 설명에서 지정한 키워드를 포함하고 있는 명령어

 

 

사용자 생성 명령어

11) useradd : 계정을 생성하는 명령어, adduser와 동일한 기능

생성된 계정 정보는 파일 /etc/passwd, /etc/shadow, /etc/group에 저장된다

 

형식 : useradd 옵션 계정명

-s : 사용자의 로그인 기본 셸을 지정

-d : 계정의 홈 디렉터리를 지정

-f : 패스워드 만기후 계정이 영구히 말소시 까지 기간 지정( 유예기간 )

-e : 사용자 계정의 유효기간 설정

-c : 파일 /etc/passwd에 새로운 사용자 설명을 추가

-G : 계정이 속한 그룹 외에 다른 그룹에 계정추가

 

ex) useradd -d /IHD ihd >>> ihd계정을 생성, 계정 홈디렉터리를 /IHD로 지정한다

 

 

12) passwd : 계정의 패스워드를 입력 및 변경하는 명령어

생성된 계정 패스워드는 /etc/shadow 파일 안에 기록됨

 

형식 : passwd 옵션 계정명

-S : 계정 상태표시(정상 : PS, 패스워드가 없음 : NP, 락상태이거나 NP상태 : LK)

-d : 계정 패스워드 삭제

-l : 계정을 lock상태로 변경

-u : 계정 lock상태 해제

 

ex) passwd -S ihd >>> ihd계정의 패스워드 상태 환인

passwd ihd >>> ihd계정 패스워드 설정

 

 

13) su : switch user의 줄임말

현재 사용자 계정에서 로그아웃 하지 않고 다른 사용자 계정으로 로그인해 해당 사용자의 권한을 흭득하는 명령어

 

형식 : su 옵션 사용자 셸변수

-, -l, --login : 지정한 사용자의 환경변수를 적용해 로그인

-s : 지정된 셸로 로그인

-c : 셸을 실행하지 않고 주어진 명령 수행

 

ex)

su root >>> 셸 환경변수를 가져오지 않고 관리자 root로 계정을 변경

su - root : 관리자 root의 셸 환경변수를 가져온다

su -c 'cat /etc/shadow' - root >>> 사용자 계정 변환없이 root권한으로 cat /etc/shadow 명령어 수행

 

 

사용자 관련 파일

1) 파일 /etc/default/useradd : 명령어 useradd로 사용자 계정을 추가할 떄 사용되는 정보를 읽어오는 파일

파일 /etc/default/useradd는 vi편집기 또는 명령어 useradd -D로 변경함

 

ex)

useradd -D -g 500 -b /home/TST -s /bin/sh >>> 그룹은 500, 홈디렉터리는 /home/TST, 셸은 /bin/sh로 변경함

 

 

2) 파일 /etc/passwd

계정자의 정보를 가지고 있는 파일로 리눅스에 로그인시 사용

 

ex)

ihd : x : 504 : 504 : 설명문 : /IHD : /bin/bash

idh : 사용자 이름

x : 암호화된 비밀번호, pwconv가 활성화시 x로 표시, 비활성화시 해당 필드에 패스워드 나타남

504 : uid

504 : gid

설명문 : 설명문(보안상 요즘 사용안함)

/IHD : 사용자의 홈 디렉토리

/bin/bash : 사용자 로그인 셸 저장

 

 

3) 파일 /etc/shadow : 계정자의 패스워드 정보가 암호화되어 있는 파일, 패스워드 및 계정의 유효기간 등을 기록하고 있는 파일

 

 

4) /etc/login.defs : 사용자 계정 설정과 관련된 기본값을 정의한 파일

 

 

사용자 계정 관리

1) usermod : 사용자들의 정보를 변경하는 명령어

 

형식 : usermod 옵션 계정명

-u : 새로운 uid지정

-g : 새로운 gid지정, 사용자 그룹을 지정 또는 변경

-G : 새로운 보조그룹 지정

-d : 새로운 홈디렉토리 지정

-s : 새로운 셸 지정

-c : 새로운 주석 지정

-l : 로그인 id를 바꾸는 옵션으로 새로운 계정명으로 변경!!

 

 

2) userdel : 계정 정보를 삭제하는 명령어

 

형식 : userdel 옵션 계정명

-r : 계정명의 메일파일과 홈디렉터리 내용 모드 삭제

 

 

3) chage : 패스워드의 만료 정보를 변경하는 리눅스 명령어

 

형식 : chage 옵션 계정명

-l : 사용자 계정 정보를 출력

-m : 설정 암호 최소 사용일자

-M : 설정 암호 사용 가능일자

-E : 암호 만기일 지정

-W : 만기 전 변경 요구 경고 날짜 지정

 

ex) 

chage -l ihd >>> ihd계정의 패스워드 정보를 표시

chage -m 2 ihd >>> ihd계정의 최소 패스워드 사용일자 2일

chage -M 30 ihd >>> ihd계정의 최대 패스워드 사용일자는 30일

chage - E 2020/12/31 ihd >>> ihd계정의 패스워드 만기일 2020/12/31로 지정

chage -W 10 ihd >>> ihd계정의 만기 10일부터 경고 메시지 출력

 

 

그룹관리

1) 파일 /etc/group : 사용자 그룹에 대해 정의도어 있는 파일

- 모든 계정은 하나 이상의 그룹에 포함되어 있음

 

그룹명 : 그룹비번 : gid : members(그룹멤버리스트)

 

 

2) 파일 /etc/gshadow : 그룹의 암호를 md5로 저장하며 그룹의 소유주, 구성원 설정이 가능

 

ex) syoung(그룹명) : !(부여되지 않음) : (그룹의 소유주) : (그룹 구성원)

 

 

3) groupadd : 새로운 그룹을 생성하는 명령어

 

형식 : groupadd 옵션 그룹명

-g : gid지정

-r : 시스템 그룹 생성시 사용, 500번 이하 값 지정

 

 

4) groupdel : 그룹 삭제 명령어

- 그룹안에 소속되어 있는 계정명이 있을 경우는 그룹 삭제가 안됨!!!!

 

형식 : groupdel 그룹명

 

 

5) groupmod : 그룹의 설정을 변경하는 명령어

 

형식 : groupmod 옵션 그룹명

-g : gid변경

-n : 새로운 그룹명을 변경할 떄 사용

 

 

사용자 조회 명령어

1) users : 시스템에 로그인한 사용자 정보를 출력하는 명령어

 

 

2) who : 현재 시스템에 접속해 잇는 사용자들을 조회하는 명령어

- 사용자 계정명, 터미널 정보, 접속 시간, 접속한 서버 정보 등을 확인 가능

 

형식 : who 옵션

-b : 마지막 시스템 부팅시간 출력

-q : 로그인한 사용자와 사용자 수를 모두 출력

-r : 현재 시스템의 실행 레벨을 확인 가능

 

 

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

 

 

4) id : 사용자의 uid, gid, group을 확인하는 명령어

 

형식 : id 옵션 계정명

 

 

5) groups : 사용자 계정이 속한 그룹 목록을 확인하는 명령어

 

형식 : groups 계정명