useradd 명령어
= $ adduser
계정 생성 명령어
계정자의 홈 디렉터리 : /home/계정명
생성된 계정자 정보가 저장되는 파일 : /etc/passwd, /etc/shadow, /etc/group
$ useradd [옵션] 계정명
$ useradd -s bash 계정명 : 기본 셸을 bash로 지정
$ useradd -d /USER1 계정명 : 홈 디렉터리를 USER1으로 지정
passwd 명령어
생성된 계정자의 패스워드를 입력 및 변경하는 명령어
생성된 계정자의 패스워드가 기록되는 파일 : /etc/shadow
$ passwd [옵션] 계정명
$ passwd -S 계정명 : 계정 상태(Status) 표시 (P : 정상, NP : 패스워드 없음, LK : Lock or NP 상태)
$ passwd -d 계정명 : 계정의 패스워드 삭제 (delete)
$ passwd -l 계정명 : 계정을 lock 상태로 변경 (lock)
$ passwd -u 계정명 : 계정의 lock 상태 해제 (unlock)
su 명령어
switch user
현재의 사용자 계정에서 로그아웃하지 않고 다른 사용자 계정으로 로그인하여 해당 사용자의 권한을 획득하는 명령어
$ su [옵션][사용자] [셸변수]
$ su - root : root의 환경변수를 적용하여 로그인
(적용하지 않으면 pwd의 결과가 여전히 전 계정자의 홈 디렉터리로 뜸. 즉, 위치가 변하지 않고 계정자만 바뀌는 상황이 됨)
$ su -s bash root : 지정된 셸(bash)로 로그인
$ su -c root : 셸을 실행하지 않고 주어진 명령어 수행
/etc/default/useradd
/etc/passwd
계정자의 정보를 가지고 있는 파일
리눅스에 로그인할 때 사용됨
(위의 표 참고)
/etc/shadow
계정자의 패스워드 정보가 암호화되어 있는 파일
암호화 패스워드 및 계정의 유효기간 등을 기록하고 있는 파일
(위의 표 참고)
$ tail -l /etc/shadow
/etc/login.defs
사용자 계정 설정과 관련된 기본값을 정의한 파일
새로운 계정을 생성할 때 반드시 참조하는 파일
MAIL_DIR, PASS_MAX_DAYS, PASS_MIN_DAYS, PASS_MIN_LEN, PASS_WARN_AGE, UID_MIN, UID_MAX, GID_MIN, GID_MAX, CREATE_HOME 등 포함
usermod 명령어
디렉터리 /home 에 위치한 사용자들의 정보를 변경하는 명령어
사용자의 홈 디렉터리 변경, 그룹 변경, 유효기간 등 변경
$ usermod [옵션] 계정명
userdel 명령어
기존 계정 정보를 삭제하는 명령어
사용자의 홈 디렉토리 변경, 그룹 변경, 유효기간 등 변경
옵션 없이 userdel 을 사용하면 /etc/passwd, /etc/shadow, /etc/group 에서 해당 계정자의 정보가 삭제됨
$ userdel [옵션] 계정명
$ userdel -r 계정명 : 계정의 메일 파일과 홈 디렉터리 내용 모두 삭제
$ userdel -f 계정명 : 삭제 중에 나는 에러를 무시하고 강제로 삭제
chage 명령어
패스워드의 만료 정보를 변경하는 명령어
시스템에게 로그인한 사용자가 패스워드를 변경해야 하는지 알려줌
시스템 관리 명령어 → root 권한을 가진 사용자만 사용 가능
$ chage [옵션] 계정명
/etc/group
사용자 그룹에 대해 정의되어 있는 파일
모든 계정은 한 개 이상의 그룹에 포함되어 있다.
(위의 표 참고)
$ vi /etc/group
/etc/gshadow
그룹의 암호를 MD5 로 하여 저장하며, 그룹의 소유주, 구성원 설정이 가능
$ cat /etc/gshadow | grep user2
→ user2:!:: (그룹명 : 그룹암호(!=부여x, *=부여o) : 그룹소유주 : 그룹구성원(콤마로 구분)
$ cat /etc/gshadow | grep root
→ root:*::
groupadd 명령어
새로운 그룹을 생성하는 명령어
$ groupadd [옵션] 그룹명
ex) $ groupadd -d 1004 user3
: GID 1004인 user3 그룹 생성
groupdel 명령어
기존의 그룹을 삭제하는 명령어
그룹 안에 소속되어 있는 계정명이 있을 경우 해당 그룹은 삭제되지 않는다.
groupmod 명령어
그룹의 설정을 변경하는 명령어
$ groupmod [옵션] 그룹명
ex) $ groupmod -g 1004 testgroup
: testgroup의 GID를 1004로 변경
ex) $ groupmod -n testGroup testgroup
: testgroup → testGroup 으로 그룹명 변경
참고 :
https://reakwon.tistory.com/137
https://nearhome.tistory.com/49
https://work-01.tistory.com/204
https://tragramming.tistory.com/87