본문 바로가기
operating system/linux

사용자 생성 및 계정 관리 useradd, passwd, su, usermod, userdel

by hhhdangmoo 2022. 9. 14.
728x90
반응형

[사용자 생성]

1. useradd

- 계정을 생성하는 명령어로 adduser와 동일한 기능을 가짐.

- 계정자의 홈 디렉터리는 '/home/계정명'

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

<사용법>
# useradd -option 계정명
옵션 설명
-s 사용자 로그인 기본 쉘 지정
-d 계정의 홈 디렉터리 지정
-f 패스워드 만기된 후 계정이 영구히 말소 될 때 까지의 기간 지정
-e 사용자 계정의 유효기간 지정
일정 시간 동안 사용 가능한 임시 계정 생성 시 사용
-c 파일 /etc/passwd에 새로운 사용자 설명 추가 (comment)
-G 계정이 속한 그룹 외에 다른 그룹에 계정 추가(추가그룹)

실습 1. 사용자 a를 생성하고 a의 uid와 gid, 그룹을 확인해보자

사용자 a가 생성 되었고, uid, gid는 각각 1000이다. group은 1000임을 확인 할 수 있다.

생성된 사용자 정보는 id 계정명  or tail /etc/passwd 로 확인 할 수 있다.

 

실습 2. 사용자 b를 생성하고 홈디렉터리를 /home_1/b 로 한다. 코멘트는 happy로 설정한다.

/home_1 디렉터리를 만들어준다

-d 옵션을 사용해 사용자 디렉터리를 지정 해주고 -c 옵션을 사용해 코멘트를 달아주었다

 

2. passwd

- 생성된 계정의 password를 입력 및 변경

- 생성된 계정의 password는 /etc/shadow 파일 안에 기록 됨

<사용법>
# passwd -option 계정명
옵션 설명
-S 계정 상태 표시
-d 계정 pwd 삭제
-l 계정 lock 상태로 변경
-u 계정 lock 해제

실습 1. 사용자 a에 pwd를 부여하자.

passwd 계정명  을 통해 간단히 pwd를 설정 할 수 있다.

 

실습 2. 사용자 a에 부여 된 pwd를 삭제 하고 계정 상태를 표시해보자.

-d 옵션을 통해 pwd를 삭제하고 -S 옵션으로 Empty password 확인 할 수 있다.

 

3. su

- 현재 사용자 계정에서 따로 로그아웃 없이 다른 사용자 계정으로 로그인 하여 해당 사용자 권한 획득하는 명령어

<사용법>
# su -option 사용자명 쉘변수
옵션 설명
-, -l, --login 지정한 사용자의 환경변수를 적용하여 로그인
-s 지정된 쉘로 로그인
-c 쉘을 실행하지 않고 주어진 명령어 수행

실습 1. 사용자 a로 로그인 해보자

- 옵션을 사용하여 사용자 a 계정의 환경변수를 로그아웃 하지 않고 로그인 했다.

 

실습 2. 쉘을 실행하지 않고 /etc/passwd 끝에서 5줄 까지만 출력 해보자

-c 옵션을 사용하여 쉘을 실행하지 않고도 /etc/passwd 파일의 내용을 출력하였다


[사용자 계정 관리]

1. usermod

- 디렉토리 /home에 위치한 사용자(계정)들의 정보를 변경하는 명령어

- 사용자의 홈 디렉토리 변경, 그룹 변경, 유효기간 등을 설정

<사용법>
# usermod -option 계정명
옵션 설명
-u (uid) 새로운 uid 지정
-o 옵션과 같이 사용하면 강제 설정 가능
-g 새로운 gid 지정
사용자 그룹 지정 or 변경
-G 새로운 추가그룹 지정
기존 그룹에 포함 되어 있는 상태에서새 그룹에 추가 지정
-d (home directory) 새로운 홈 디렉터리 지정
-m 옵션과 같이 사용하면 directory새로 생성 가능
-s (shell) 새로운 shell 설정
-c (comment) 새로운 comment 설정
-I ID 로그인 ID 바꾸는 옵션 -> 새로운 계정명으로 변경

실습 1. 사용자 b 에 추가그룹 root 코멘트는 dog, 홈디렉토리는 /home/b 로 변경 해보자

-G 옵션으로 root 를 추가 그룹으로 변경 하였고 -c 옵션으로 dog comment를 추가하였다.

-d 옵션으로 /home_1/b --> /home/b 로 홈 디렉토리를 변경 하였다.

 

2. userdel

-기존 계정 정보 삭제

- 옵션 없이 userdel 이용시 디렉터리 /etc/passwd, /etc/shadow, /etc/group에서 계정 정보가 모두 삭제 됨

옵션 설명
-r 계정명의 /var/spool/mail의 메일 파일과 홈 디렉토리 내용 모두 삭제

 

실습 1. 사용자 a의 계정을 삭제 해보자

사용자 a의 계정이 삭제 되었다

728x90
반응형