오경석의 개발노트

Linux_useradd, adduser: 사용자 추가 명령어 본문

소프트웨어, 운영체제/Linux

Linux_useradd, adduser: 사용자 추가 명령어

OHSAYU 2025. 10. 18. 21:02

※ 아래 내용은 Rocky Linux release 8.9 기준으로 작성

 

■ 개념

  - 새로운 사용자 계정 생성을 생성하거나, 새 사용자 계정의 기본 정보를 업데이트 

 

 

■ 옵션

○ 홈 티렉터리 관련

옵션 설명 예시
-m,
--create-home
홈 디렉터리 생성.
/home/사용자명 디렉터리를 생성하고,
/etc/skel의 초기 파일 복사
useradd -m test1
-d,
--home-dir HOME_DIR
홈 디렉터리 경로 직접 지정.
사용자 홈 디렉터리를 원하는 경로로 설정
useradd -d /data/test1 test1
-b,
--base-dir
기본 홈 디렉터리 경로(base).
사용자 이름을 붙여서 홈 디렉터리 경로 자동 생성
useradd -b /data -m test1 ->
/data/test1 생성
-D,
--defaults
기본값 보기/설정.
useradd 명령어의 기본 설정값 확인 또는 변경
useradd -D (보기),
useradd -D -b /data (설정)
-M,
--no-create-home
홈 디렉터리를 생성하지 않음. useradd -M test1
-k,
--skel
초기 파일을 복사할 스켈레톤 디렉터리 지정. -m과 함께 사용해야 함. useradd -m -k /etc/custom_skel test1

 /etc/login.defs에서 'CREATE_HOME     yes' 설정이 있으면 -m 옵션을 사용하지 않아도 자동으로 디렉터리 생성  

  - Rocky Linux release 8.9 기준으로 default는 yes로 되어있음

  - CREATE_HOME 설정이 no로 되어있으면 -m 옵션을 지정 해야함

 

 

사용자 정보 설정

옵션 설명 예시
-c,
--comment
사용자 설명 또는 전체 이름 입력 useradd -c "test user" test1
-s,
--shell
로그인 셸 지정 useradd -s /bin/bash test1
-u,
--uid
사용자 ID 직접 지정 useradd -u 1
     
     
     
     

 

 

 

## root 또는 sudo 권한이 있는 사용자만 사용자 계정 생성 가능
## 첫번째 방법
[root@test ~]# adduser test1

## 두번째 방법
[root@test ~]# useradd test1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

■ 사용자 삭제

[root@test ~]# userdel test1

## 주요 옵션
-r: 사용자의 홈 디렉터리와 메일 스풀까지 함께 삭제. 매우 자주 사용되는 옵션(remove)
-f: 강제로 삭제. 사용자가 로그인 중이거나 NFS로 마운트된 경우에도 삭제(force)
※ 삭제된 사용자의 UID가 남아 있는 파일은 소유자가 숫자로 표시됨. ex) 1001

 

 

■ 사용자 확인

## 사용자 정보
## 계정이 추가되면 UID, GID가 각각 1씩 증가
[root@test ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:997:993:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
sssd:x:996:992:User for sssd:/:/sbin/nologin
cockpit-ws:x:995:991:User for cockpit web service:/nonexisting:/sbin/nologin
cockpit-wsinstance:x:994:990:User for cockpit-ws instances:/nonexisting:/sbin/nologin
chrony:x:993:989::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
test1:x:1000:1000::/home/test1:/bin/bash

## 실제 로그인 가능한 일반 사용자 계정 목록 출력
## 계정 생성 시, 기본적으로 /bin/bash 환경이 적용
[root@test ~]# grep /bin/bash /etc/passwd
root:x:0:0:root:/root:/bin/bash
test1:x:1000:1000::/home/test1:/bin/bash
test2:x:1001:1001::/home/test2:/bin/bash
test3:x:1002:1002::/home/test3:/bin/bash

## 아이디만 출력
[root@test ~]# grep /bin/bash /etc/passwd | cut -f1 -d:
root
test1
test2
test3

## 현재 사용자 또는 지정한 사용자의 UID, GID, 그룹 정보를 확인
[test1@test ~]$ id
uid=1000(test1) gid=1000(test1) groups=1000(test1) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[root@test ~]# id test1
uid=1000(test1) gid=1000(test1) groups=1000(test1)

## 현재 로그인한 사용자 정보 확인(사용자 이름, 터미널, 로그인 시간, 원격 접속 정보(IP))
[root@test ~]# who
root     tty1         2025-10-10 12:11
root     pts/0        2025-10-10 13:27 (221.150.31.68)

 

 

■ 사용자 권한 부여

 

 

■ 사용자 패스워드 설정

## 비밀번호 설정 또는 변경
[root@test ~]# passwd test3
Changing password for user test3.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

## 따로 패스워드 관련 설정하지 않았을 시, 짧아도 설정은 가능하다.
[root@test ~]# passwd test3
Changing password for user test3.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

 

 

 

 

 

출처: https://boying-blog.tistory.com/42

 

리눅스 사용자 목록 확인하는 법

grep /bin/bash /etc/passwd | cut -f1 -d: 간단하게 한 줄 이면 됩니다.

boying-blog.tistory.com

출처: 

Comments