โ ์ฌ๋๋ค์ ์ปดํจํฐ ๊ณผํ์ด ์ฒ์ฌ๋ค์ ๊ธฐ์์ด๋ผ๊ณ ์๊ฐํ์ง๋ง ์ฌ์ค ํ์ค์ ๋ฐ๋๋ก, ๋จ์ง ๋ง์ ์ฌ๋์ด, ์์ ๋๋ก ๋ ๋ด์ฒ๋ผ, ๋ค๋ฅธ ์ฌ๋์ ์์ ์์ ์์ ์ฌ๋ฆด ๋ฟ์ด๋ค. โ
- Donald E. Knuth
์๋ก๋ฆฌ์ฆ ๋ถ์ ๋ถ์ผ ์ฐฝ์กฐ์

๋ฆฌ๋ ์ค ๊ณ์ ์ข ๋ฅ
์ฌ์ฉ์ ๋ถ๋ฅ
- ๋ฃจํธ ๊ณ์ : ๋ชจ๋ ๊ถํ์ ๊ฐ์ง ํน๋ณํ ์ฌ์ฉ์
- ์์คํ ๊ณ์ : ๋ฆฌ๋ ์ค ์ค์น์ ๊ธฐ๋ณธ์ผ๋ก ์์ฑ๋๋ ๊ณ์
- ์ฌ์ฉ์ ๊ณ์ : ์ค์ ๋ฆฌ๋ ์ค ์ฌ์ฉ์๋ฅผ ์ํ ๊ณ์
๋ฆฌ๋ ์ค์์๋ ์ฌ์ฉ์๋ฅผ root(๊ด๋ฆฌ์)์ ์ผ๋ฐ์ฌ์ฉ์๋ก ๊ตฌ๋ถํ๋ค.
๊ฐ๊ฐ ๊ณ์ ์ ํํ ์ฌ์ฉํ๋ ID๊ฐ ์๋๋ผ ๋ฒํธ๋ก ๋ถ์ฌํ๋ UID(User Identity)๋ก ๊ด๋ฆฌํ๋ค.
UID๊ฐ 0๋ฒ์ธ ์ฌ์ฉ์๋ ์ํผ์ ์ ๋ก ์ธ์ํด์ ๊ด๋ฆฌ์๊ณ์ ์ด ๋๋ค.
์ผ๋ฐ์ฌ์ฉ์ ๊ณ์ ์ UID ๋ฒ์๋ /etc/login.defs ์ ์ ์๋์ด ์๋ค.
root (Super User)๊ณ์ ์ UID๊ฐ์ด 0์ผ๋ก ์ง์ ๋ ๊ด๋ฆฌ์๊ณ์ ์ด๋ค.
์ฌ๊ธฐ์๋ ๋ค๋ฅธ ๊ณ์ ์ ์์ฑํ๊ฑฐ๋ ๊ถํ์ ๋ถ์ฌํ๊ณ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฐ๊ฟ ์ ์๋ค. ์ฆ ๋ชจ๋ ๊ถํ์ ๊ฐ์ง ๊ณ์ ์ด๋ค. ๋ง์ฝ ๋ค๋ฅธ๊ณ์ ์ UID๊ฐ์ 0์ผ๋ก ๋ณ๊ฒฝํ๋ค๋ฉด ๊ด๋ฆฌ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ชจ๋ ๊ถํ์ ๊ฐ์ง ์ ์๋ค.
์ผ๋ฐ์ฌ์ฉ์(Normal user)๋ ๊ด๋ฆฌ์์๊ฒ ๊ถํ์ ๋ถ์ฌ๋ฐ์ ์ฌ์ฉํ๋ค.
๋ฆฌ๋ ์ค์์ ํ์ผ์ ์์ฑ ์ ์์ ์ฃผ์ ๊ถํ์ ๊ฐ์ง๋๋ฐ ๋ง์ฝ ์ผ๋ฐ์ ์ ๋ผ๋ฉด root ๊ถํ์ ๊ฐ์ง ํ์ผ์ ์คํํ๊ฑฐ๋ ๋ณผ ์ ์๋ค. ๋ฐ๋ผ์ root๊ฐ ํ์ผ์ ๊ถํ์ ๋ถ์ฌํด์ผ๋ง ์ผ๋ฐ๊ด๋ฆฌ์๊ฐ ํด๋น ํ์ผ์ ์ด์ด๋ณผ ์ ์๋ค.
root์ ์ผ๋ฐ์ฌ์ฉ์๋ฅผ ์ ์ธํ ๊ณ์ ์ผ๋ก๋ ์์คํ ๊ณ์ ์ด ์๋ค.
ํ์์ ์ํด ์๋์ผ๋ก ์์ฑ๋๋ ์์คํ ๊ณ์ ์ bin, daemon, adm, lp,sync, shutdown, halt, mail ๋ฑ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๋ก๊ทธ์ธ์ ๋ถ๊ฐ๋ฅํ๋ค.

๊ณ์ ํ์ธ ๋ช ๋ น์ด
๊ณ์ ํ์ธ (id / users / who)
# ํ์ฌ ์ฌ์ฉ์์ UID, GID, ๊ทธ๋ฃน์ ๋ณด๋ฅผ ํ์ธํ๋ ๋ช
๋ น์ด
$ id

UID(User ID) : ์ฌ์ฉ์ ์๋ณ ๋ฒํธ
- ์ํผ์ ์ ์ UID = 0
- /etc/passwd ์์ ํ์ธ ๊ฐ๋ฅ
- 1 ~ 499 ์์คํ ์ ์ ์ดํ๋ ๊ณ์ -> ๋ก๊ทธ์ธ ๋์ง ์๋๋ก ์์ฑํ๋ ๊ฒ์ด ์์น.
- 500 ~ 60000 ๊น์ง ์ผ๋ฐ ๊ณ์
GID(Group ID) : ๊ทธ๋ฃน ์๋ณ ๋ฒํธ
- ์ํผ์ ์ ์ GID = 0
- /etc/passwd ์ /etc/group ์์ ํ์ธ ๊ฐ๋ฅ
- ๋ฆฌ๋ ์ค๋ ๊ทธ๋ฃน์ ํตํด์ ์ฌ์ฉ์๋ฅผ ๋ฌถ์์์๋ค.
# ํ์ฌ ํธ์คํธ์ ๋ก๊ทธ์ธ๋์ด ์๋ ๋ชจ๋ ์ฌ์ฉ์ ์ถ๋ ฅ
$ users
# ๋ชจ๋ ์ฌ์ฉ์ ์ ๋ณด ์์ธํ ์ถ๋ ฅ (ํฐ๋ฏธ๋ ์ข
๋ฅ, ๋ก๊ทธ์ธ ์๊ฐ ๋ฑ ๊ธฐ๋ณธ์ ์ผ๋ก ์ถ๋ ฅ)
$ who [options]
inpa :0 2022-02-02 23:30 (:0)
# ํ์ฌ ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ์ฌ์ฉ์๋ช
์ถ๋ ฅ
$ whoami
$ id -un
$ logname
# ํ์ฌ ๋ก๊ทธ์ธํ ์ฌ์ฉ์๊ฐ ์ด๋ค์์คํ
์์ ๋ก๊ทธ์ธํ๋์ง ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ณ ์๋์ง ์ถ๋ ฅ
# -h , --no-header ์ปฌ๋ผ์ ํค๋๋ฅผ ์ถ๋ ฅํ์ง ์์
# -s, --short ์ ๋ณด๋ฅผ ๊ฐ๋ตํ ์ถ๋ ฅ
$ w [option] [user]
23:47:00 up 17 min, 1 user, load average: 0.00, 0.00, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
inpa :0 :0 23:30 ?xdm? 22.47s 0.00s /usr/lib/gdm3/g
# ํ๋ก์ธ์ค๋ฅผ ์ข
๋ฃํ์ง ์๊ณ ๊ณ์ ๋ง ๋ก๊ทธ์์ํ์ฌ ์ด์ ์ ์ฌ์ฉ์ค์ธ ๊ณ์ ์ผ๋ก ๋์๊ฐ๋ ๋ช
๋ น์ด
$ logout
$ exit
๊ณ์ ์ ์ฒด ํ์ธ
# ์ ์ฒด ๋ชฉ๋ก ํ์ธ
$ cat /etc/passwd
# ์์ด๋๋ง ์๋ผ์ ํ์ธ
$ cut -f1 -d: /etc/passwd
๋ฃจํธ ๊ณ์ ๊ด๋ฆฌ
๋ฃจํธ ๊ณ์ ๋ช ๋ น์ด
root ์ํธ ์ค์
$ sudo passwd root
# ํจ์ค์๋ ์
๋ ฅํ ๋ก๊ทธ์ธ
root ๋ก๊ทธ์ธ
# ํ์ฌ ๊ณ์ ์์ root๊ถํ์ ์ด์ฉํ์ฌ ๋ช
๋ น์ด๋ฅผ ์คํํ ๋ ์ฌ์ฉํ๋ ๋ช
๋ น์ด
# sudo๋ป : superuser do
$ sudo
# ๋ก๊ทธ์์์ ํ์ง ์๊ณ ๋ค๋ฅธ ์ฌ์ฉ์์ ๊ณ์ ์ผ๋ก ์ ํ (๊ณ์ ๋ช
๋ฏธ์
๋ ฅ์ด๋ฉด root๋ก ๋ก๊ทธ์ธ)
# su๋ป : switch user
$ su [๊ณ์ ๋ช
]
root ๊ณ์ ๊ด๋ฆฌ ๋ฐฉ์
- ์์คํ ์ด๊ธฐ ํ๊ฒฝ์ค์ ์์๋ง ์ด์ฉํ๊ณ SSH๋ฅผ ํตํด root ์ฌ์ฉ์ ๋ก๊ทธ์ธ์ด ๋์ง ์๋๋ก ์ค์
- ์์คํ ์ root๊ณ์ ์ ์ ์ผํด์ผ ํจ.
- PAM์ ํตํด root ์ฌ์ฉ์๋ก ๋ก๊ทธ์ธ ํ ์ ์๋๋ก ์ค์
- ํ๊ฒฝ๋ณ์ TIMOUT์ ์ค์ ํ์ฌ ์๋ ๋ก๊ทธ์์ ๋๋๋ก ์ค์ .
- root๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํ๋๊ฒ์ ์ง์ํ๊ณ ํ์ํ ๊ฒฝ์ฐ sudo ๋ช ๋ น์ ์ฌ์ฉ.
#ssh ์๋น์ค์ root ๋ก๊ทธ์ธ ๋ง๊ธฐ
# sshd_config ํ์ผ์ root ๊ถํ์ผ๋ก ์์
$ sudo vi /etc/ssh/sshd_config
# ... ํ์ผ๋ด์ฉ์ค PermitRootLoginํญ๋ชฉ์ no๋ก ์ค์ .
# sshd ์๋น์ค ์ฌ์์
$ sudo systemctl restart sshd
์์คํ ๊ณ์ ๊ด๋ฆฌ
์์คํ ๊ณผ ์ผ๋ฐ(์ผ๋ฐ) ์ฌ์ฉ์ ์ฌ์ด์๋ ์ค์ง์ ์ธ ๊ธฐ์ ์ ์ฐจ์ด๊ฐ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก OS ๋ฐ ์ ํจํค์ง๋ฅผ ์ค์นํ ๋ ์์คํ ์ฌ์ฉ์๊ฐ ์๋ ์์ฑ๋๋ค.
- ์์คํ ์ ํน์ ์๋น์ค์ ๋ํ ๊ถํ์ ํ์ฌํ ์ ์๋ ๊ณ์
- bin, daemon, adm, lp,sync, shutdown, halt, mail๊ฐ์ ๊ณ์ ๋ค์ด ์์คํ ๊ณ์
- /etc/passwd ํ์ผ์์ uid๊ฐ 1~499 ๊ฐ๋ ๊ณ์ ์ ์ดํด๋ด.
- ๋ ๋ํ ๊ณ์ด์ 100~499 ๋ฐ๋น์ ๊ณ์ด์ 100~999 ๋ฒ์
- ์์คํ ๊ณ์ ์ ๋ณดํต 0~99์ ๋ฒ์๋ฅผ ๊ฐ์ง.
์์คํ ๊ณ์ ์ถ๊ฐ ๋ช ๋ น์ด
-r(--system) ์ต์
์ ์ฌ์ฉํ์ฌ ์์คํ
์ฌ์ฉ์ ๊ณ์ ์ ๋ง๋ค ์ ์๋ค. ์์คํ
์ฌ์ฉ์๋ ๋ง๋ฃ ๋ ์ง ์์ด ์์ฑ๋๋ค.
ํด๋น UID๋ login.defs ํ์ผ์ ์ง์ ๋ ์์คํ ์ฌ์ฉ์ ID ๋ฒ์์์ ์ ํ๋๋ฉฐ, ์ผ๋ฐ ์ฌ์ฉ์์๊ฒ ์ฌ์ฉ๋๋ ๋ฒ์์๋ ๋ค๋ฅด๋ค
$ sudo useradd -r username
์ฌ์ฉ์ ๊ณ์ ๊ด๋ฆฌ
๊ณ์ ์ถ๊ฐ ๋ช ๋ น์ด
์ฌ์ฉ์ ์ถ๊ฐ (useradd / adduser)
# ์ฌ์ฉ์๋ฅผ ์์ฑํ๋ค
$ useradd testuser
์ถ๊ฐ๋ ์ฌ์ฉ์๋ /etc/passwd ํ์ผ์์ ํ์ธํ ์ ์๋ค.
$ tail -1 /etc/passwd # passwd ํ์ผ ๋งจ๋ ๋ผ์ธ๋ง ์ถ๋ ฅํ๊ธฐ (๋งจ๋์ด ์ต๊ทผ์ ์ถ๊ฐ๋ ์ ์ ์ ๋ณด)
testuser:x:1002:1002::/home/testuser:/bin/sh
[์ฌ์ฉ์๋ช
]:[๋น๋ฐ๋ฒํธ]:[uid]:[gid]:[์ฌ์ฉ์ ๊ณ์ ์ค๋ช
]:[ํ ๋๋ ํฐ๋ฆฌ]:[์
ธ]
'/etc/passwd' ํ์ผ์๋ ์ฝ๋ก (:) ์ผ๋ก ๊ตฌ๋ถ๋๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์๋ค.
์ฌ์ฉ์๋ช | ๋น๋ฐ๋ฒํธ | uid | gid | ์ฌ์ฉ์ ๊ณ์ ์ค๋ช | ํ ๋๋ ํฐ๋ฆฌ | ์ ธ |
testuser | x | 1002 | 1002 | /home/testuser | /bin/sh |
์ด๋ฐ์ useradd ๋ช ๋ น์ด์ adduser ๋ช ๋ น์ด ๋๋ค ์ ์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํด์ฃผ๋๋ฐ ์ด ๋์ ์ฐจ์ด๋ฅผ ์๊ณ ์ถ๋ค๋ฉด ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค.
[LINUX] ๐ useradd ์ adduser ์ฐจ์ด์ โ ์ ๋ฆฌ
useradd์ adduser์ ์ฐจ์ด useradd๋ก ๊ณ์ ์์ฑํ๋ฉด ๋ฐ์ํ๋ ํ์ useradd ๋ก test๋ผ๋ ์ฌ์ฉ์๋ฅผ ์์ฑํ๊ณ ๋น๋ฐ๋ฒํธ๊น์ง ์ ์์ ์ผ๋ก ์ง์ ํด ์ฃผ์๋ค. $ sudo useradd test $ sudo passwd 123123 ๊ทธ๋ฐ๋ฐ ์ด์ํ๊ฒ..
inpa.tistory.com
์ฌ์ฉ์ ์ถ๊ฐ ์ต์
$ useradd [์ต์
] [์ฌ์ฉ์๋ช
]
์ต ์ | ์ค ๋ช |
-d, --home | ํ๋๋ ํฐ๋ฆฌ ์ง์ . |
-D, --default | ์ฌ์ฉ์ ์์ฑ์ ์ฌ์ฉํ๋ ๊ธฐ๋ณธ๊ฐ์ ๋ณด๊ฑฐ๋ ์ค์ |
-e, --expiredate | YYYY-MM-DD ํ์์ผ๋ก ๊ณ์ ์ ๋ง๊ธฐ์ผ ์ง์ |
-f. --inactive | ํจ์ค์๋ ๋ง๋ฃ์ผ ์ดํ ์ ํจ๊ธฐ๊ฐ์ ์ค์ 1์ด์์ ์ซ์์ด๋ฉด ํด๋น์ผ์๋งํผ ํจ์ค์๋ ์ ํจ. 0์ด๋ฉด ๋ง๋ฃ๋๋ฉด ๋ฐ๋ก ์ ๊น.-1์ด๋ฉด ํด๋น๊ธฐ๋ฅ์ ์ฌ์ฉํ์ง ์์. |
-g, --gid GROUP | ์ฌ์ฉ์ ๊ทธ๋ฃน์ค์ . ์ค์ ํ์ง ์์ผ๋ฉด ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋์ผํ ๊ทธ๋ฃน์ ์ค์ . |
-G, --groups | ๊ธฐ๋ณธ ๊ทธ๋ฃน์ด์ธ์ ์ถ๊ฐ๋ก ๊ทธ๋ฃน์ ์์ฑํ ๋ |
-k, --skel SKEL_DIR | -m ์ต์ ์ ํตํด ํ ๋๋ ํฐ๋ฆฌ ์์ฑํ ๋ ๋ณต์ฌํ ๊ธฐ๋ณธํ์ผ์ ์ง์ ํ ๋ ์ฌ์ฉ |
-m, --create-home | ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ง์ ํ ๋ ์ฌ์ฉํ๊ณ ๋๋ ํฐ๋ฆฌ๊ฐ ์์ผ๋ฉด ์์ฑ -k ์ต์ ๊ณผ ๊ฐ์ด ์ฌ์ฉํด์ ํ๋๋ ํฐ๋ฆฌ ์์ฑ์ ๋ณต์ฌํ ๊ธฐ๋ณธ ํ์ผ๊ฒฝ๋ก๋ ์ง์ |
-M | ํ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ์ง ์์ |
-N, --no-user-group | ์ฌ์ฉ์์ ๋์ผํ ์ด๋ฆ์ผ๋ก ๊ทธ๋ฃน์ ์์ฑํ์ง ์์. |
-p, --password | ํ๋ฌธ์ด ์๋ ์ํธํ๋ ํจ์ค์๋๋ฅผ ์ค์ |
-r, --system | ์์คํ ๊ณ์ ์ ์์ฑ |
-s, --shell | ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ ์ ธ์ ์ง์ |
-u, --uid | ์ฌ์ฉ์ ์ ์ผํ UID๊ฐ ์ค์ |
์ฌ์ฉ์ ์์ฑ ์ ๋ณด ๊ธฐ๋ณธ ์ฌํญ ํ์ธ (-D)
์ ๊ท ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ ๋ ๋ฐ์๋๋ ๊ธฐ๋ณธ ์ฌํญ๋ค์ ํ์ธํ๋ ๋ช ๋ น์ด์ด๋ค.
/etc/default/useradd ํ์ผ์ ๋ด์ฉ์ ์ฐธ๊ณ ํ๋ฉฐ, ์ด ํ์ผ์ ๋ด์ฉ์ ๊ทธ๋๋ก ๋ณด์ฌ์ค๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
# ์์ฑ์ ๊ธฐ๋ณธ์ต์
์ ์ด๋
$ sudo useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
ํ ๋๋ ํฐ๋ฆฌ ์ง์ ํ๊ธฐ (-m)
์ฌ์ฉ์์ ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ง์ ํ๋ ์ต์ ์ด๋ค. ์ค๊ฐ ๊ฒฝ๋ก๊ฐ ์์ ๊ฒฝ์ฐ์๋ ๋ฏธ๋ฆฌ ์์ฑํด ์ค์ผ ํ๋ค.
๋ณ๋๋ก ์ง์ ํ์ง ์์ผ๋ฉด /etc/default/useradd์ 'HOME' ๋ณ์์ ์ง์ ๋ ๋๋ ํฐ๋ฆฌ์ '์ฌ์ฉ์๋ช '์ผ๋ก ์์ฑ๋๋ค.
[-m] ์ต์ ์ ํจ๊ป ์ฌ์ฉํ๋ฉด, ๋๋ ํฐ๋ฆฌ๋ฅผ ๋์์ ์์ฑํ ์ ์๋ค.
# ์ฌ์ฉ์ ํ ๋๋ ํ ๋ฆฌ๋ฅผ /home/testuser์ผ๋ก ์๋ ์์ฑ
$ useradd -m testuser
# ๊ธฐ๋ณธ์ ์ผ๋ก useradd๋ /home์ ์ฌ์ฉ์์ ํ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑ.
# ์ฌ์ฉ์์ ํ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ค๋ฅธ ์์น์ ์์ฑํ๋ ค๋ฉด d(--home) ์ต์
์ ์ฌ์ฉ.
$ useradd -m -d /home/color/testuser testuser
uid ์ง์ ํ๊ธฐ (-u)
์ฌ์ฉ์์ uid๋ฅผ ์ค์ ํ๋ ์ต์ ์ด๋ค. ๋ณ๋์ ์ต์ ์ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ, uid๋ ์๋ ๋ฐ๋ฒ๋์ด ์ถ๊ฐ๋๋ค.
# ํน์ UID๋ฅผ ๊ฐ์ง ์ฌ์ฉ์๋ฅผ ์์ฑ
$ useradd -u 999 testuser
$ useradd -u [UID์ซ์] [์ ์ ๋ช
]
#์ฌ์ฉ์์ UID๋ฅผ ํ์ธ
$ id -u testuser
gid๊ฐ 'group id'์ ์ฝ์๋ผ๋ฉด, uid๋ 'user id'์ ์ฝ์์ด๋ค. ์ฌ์ฉ์์ ํ์์ ๋ฐ๋ผ ํน์ uid๋ฅผ ์ง์ ํ์ฌ ์์ฑํ ์๋ ์๋ค. ๋จ, ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์ด๋ฏธ ์ฌ์ฉ ์ค์ธ uid๋ ์ง์ ํ ์ ์๋ค.
๊ทธ๋ฃน ์ง์ ํ๊ธฐ (-g)
์ฌ์ฉ์๊ฐ ์์๋ ๊ทธ๋ฃน์ ์ง์ ํ๋ ์ต์ ์ด๋ค. ์ต์ ์ ์๋ตํ ๊ฒฝ์ฐ, ์์ด๋์ ๋์ผํ ๊ทธ๋ฃน์ ํฌํจ์ํจ๋ค.
์ต์ ์ ์ฌ์ฉํ์ฌ gid๋ฅผ ์ง์ ํ๋ ๊ฒฝ์ฐ, ํด๋น gid๋ ๋ฐ๋์ ์์ฑ๋์ด ์๋ ๊ฒ์ด์ด์ผ๋ง ํ๋ค.
# ๊ทธ๋ฃน์ ์ง์ ํ์ฌ ์ฌ์ฉ์๋ฅผ ์์ฑ. ๋จ, ๊ทธ๋ฃน์ ๋ฏธ๋ฆฌ ์์ฑ๋์ด ์์ด์ผ ํจ.
$ useradd -g groupname testuser
$ useradd -g [๊ทธ๋ฃน๋ช
] [์ ์ ๋ช
]
๋ฆฌ๋ ์ค ์ฌ์ฉ์๋ ํ๋ ์ด์์ ๊ทธ๋ฃน์ ์ํ๊ฒ ๋์ด ์๋ค. ๊ทธ ๊ทธ๋ฃน์ ๊ณ์ ์ด ์์ฑ๋ ๋ '์ฌ์ฉ์๋ช '์ผ๋ก ์์ฑ๋๋๋ฐ, ์ด์ ๋์ ๊ทธ๋ฃน์ ๊ณ ์ id์ธ 'gid(group id)'๋ ๋ฐ๋ฒ๋๋ค.
๊ทธ๋ฃน๋ช
๊ณผ gid๋ /etc/group ํ์ผ์ ๋ณด๋ฉด ํ์ธํ ์ ์๋ค. ์ด ํ์ผ๋ /etc/passwd ํ์ผ์ฒ๋ผ ์ฌ๋ฌ ๊ฐ์ ํ๋๊ฐ '์ฝ๋ก (:)'์ผ๋ก ๊ตฌ๋ถ๋์ด ์๋๋ฐ, ์ฌ๊ธฐ์ ์ฒซ ๋ฒ์งธ ํ๋๊ฐ ๊ทธ๋ฃน๋ช
์ด๊ณ , ์ธ ๋ฒ์งธ ํ๋๊ฐ gid์ด๋ค.
$ tail -3 /etc/group
[๊ทธ๋ฃน๋ช
]:[ํจ์ค์๋]:[GID]:[๋ฉค๋ฒ๋ชฉ๋ก]
yhjeong:x:1000:
sambashare:x:126:yhjeong
testuser:x:1001:
# 'testuser' ๊ทธ๋ฃน์ gid๋ 1001๋ฒ
์ด ์ํ์์ ์ ๊ท ์ฌ์ฉ์ ๊ณ์ 'testuser2'๋ฅผ ๋ณ๋์ ์ต์
์ ์ง์ ํ์ง ์๊ณ ์ถ๊ฐํด๋ณธ๋ค. /etc/passwd ํ์ผ์์ testuser2 ๊ณ์ ์ ๋ด์ฉ์ ํ์ธํด๋ณด๋ฉด, gid๊ฐ ์ด์ ์ ์์ฑ๋ 1001๋ฒ ์ดํ์ ๋ฒํธ 1002๋ฒ์ด ๋์ด์์ผ๋ฉฐ
$ adduser testuser2
$ cat /etc/passwd | grep testuser2
testuser2:x:1002:1002::/home/testuser2:/bin/sh
[์ฌ์ฉ์๋ช
]:[๋น๋ฐ๋ฒํธ]:[uid]:[gid]:[์ฌ์ฉ์ ๊ณ์ ]:[์ค๋ช
]:[ํ ๋๋ ํฐ๋ฆฌ]:[์
ธ]
/etc/group ํ์ผ์์ gid๊ฐ 1002๋ฒ์ธ ๊ทธ๋ฃน์ ์ด๋ฆ์ 'testuser2'๋ผ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
$ cat /etc/group | grep 1002
testuser2:x:1002:
[๊ทธ๋ฃน๋ช
]:[ํจ์ค์๋]:[GID]:[๋ฉค๋ฒ๋ชฉ๋ก]
์ด๋ฏธ ์กด์ฌํ๋ ๊ทธ๋ฃน์ ์ ๊ท ์ฌ์ฉ์ ๊ณ์ ์ ์ถ๊ฐํด์ผ ํ๋ ์ํฉ๋ ๋ฐ์ํ ์ ์๋ค. ์ด๋ด ๋๋ '-g gid' ์ต์ ์ ์ถ๊ฐํ์ฌ ์ฌ์ฉ์ ์์ฑ๋ ๊ฐ๋ฅํ๋ค.
์๋ฅผ ๋ค์ด, 'testuser3' ๊ณ์ ์ ์์ฑํ๋, ๋ณ๋์ ์ ๊ท ๊ทธ๋ฃน์ ์์ฑํ์ง ์๊ณ ๊ทธ๋ฃน๋ช 'testuser2'์ธ '1002(gid)'์ ์ถ๊ฐํ๋ ๋ช ๋ น์ด๋ฅผ ์คํํด๋ณธ๋ค.
# testuser3์ ์์ฑํ๋ ๊ทธ๋ฃน์ 1002๋ก ์ค์
$ useradd -g 1002 testuser3
๋ช ๋ น ์คํ ๊ฒฐ๊ณผ, 'testuser3'์ gid๊ฐ '1002'๋ก ์ค์ ๋์ด ์์์ ํ์ธํ ์ ์๋ค.
$ cat /etc/passwd | grep user5
testuser3:x:1003:1002::/home/testuser3:/bin/sh
[์ฌ์ฉ์๋ช
]:[๋น๋ฐ๋ฒํธ]:[uid]:[gid]:[์ฌ์ฉ์ ๊ณ์ ์ค๋ช
]:[ํ ๋๋ ํฐ๋ฆฌ]:[์
ธ]
2์ฐจ ๊ทธ๋ฃน ์ง์ ํ๊ธฐ (-G)
์ฌ์ฉ์๊ฐ ์์๋ 2์ฐจ ๊ทธ๋ฃน์ ์ง์ ํ๋ ์ต์ ์ด๋ค.
[-g] ์ต์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ํด๋น gid๋ ์ด๋ฏธ ์์ฑ๋์ด ์๋ ๊ฒ์ด์ด์ผ๋ง ํ๋ค.
# ์ฌ๋ฌ ๊ทธ๋ฃน ํ ๋น
$ useradd -g color -G wheel,developers testuser
$ useradd -g [๊ทธ๋ฃน๋ช
] -G [๊ทธ๋ฃน1,๊ทธ๋ฃน2] [์ ์ ๋ช
]
# ์ฌ์ฉ์์ GID๋ฅผ ํ์ธ
$ id -gn testuser
# ์ฌ์ฉ์ ๊ทธ๋ฃน ์ ์ฒด ํ์ธ
$ id testuser
uid=1002(username) gid=100(users) groups=100(users),10(wheel),993(docker)
์ฌ์ฉ์๋ ์ฌ๋ฌ ๊ฐ์ ๊ทธ๋ฃน์ ๋์์ ์ํ ์๋ ์๋ค. '[-G]' ์ต์ ์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ํ ๊ทธ๋ฃน ์ธ, ๋ค๋ฅธ ๊ทธ๋ฃน์๋ ๋์์ ์ํ๊ฒ ํ ์ ์๋ค.
'testuser4'์ ๊ธฐ๋ณธ ๊ทธ๋ฃน(1์ฐจ ๊ทธ๋ฃน)์ '1002'๋ก, 2์ฐจ ๊ทธ๋ฃน์ '1001'๋ฒ์ผ๋ก ์ง์ ํ์ฌ ๊ณ์ ์ ์์ฑํด๋ณธ๋ค.
$ useradd -g 1002 -G 1001 testuser4
๊ณ์ ์์ฑ ํ /etc/passwd ํ์ผ์ ์ดํด๋ณด๋ฉด, ๊ธฐ๋ณธ ๊ทธ๋ฃน์ '1002'๋ก ์ถ๊ฐ๋์์์ ํ์ธํ ์ ์๋ค.
$ cat /etc/passwd | grep testuser4
testuser4:x:1004:1002::/home/testuser4:/bin/sh
[์ฌ์ฉ์๋ช
]:[๋น๋ฐ๋ฒํธ]:[uid]:[gid]:[์ฌ์ฉ์ ๊ณ์ ์ค๋ช
]:[ํ ๋๋ ํฐ๋ฆฌ]:[์
ธ]
๋ฐ๋ฉด, 2์ฐจ ๊ทธ๋ฃน์ /etc/group ํ์ผ์ ๋ง์ง๋ง ํ๋์์ ํ์ธํ ์ ์๋๋ฐ,
์ด ํ๋์์๋ ํด๋น ๊ทธ๋ฃน id๋ฅผ 2์ฐจ ๊ทธ๋ฃน์ผ๋ก ์ง์ ํ ์ฌ์ฉ์ ๋ฆฌ์คํธ๋ฅผ ๋ณด์ฌ์ค๋ค.
$ cat /etc/group | grep testuser4
testuser:x:1001:testuser3 # GID 1001์ ๊ฐ์ง testuser๋ผ๋ ๊ทธ๋ฃน์ testuser3์ด๋ผ๋ ์ ์ ๊ฐ ์ํด์๋ค
[๊ทธ๋ฃน๋ช
]:[ํจ์ค์๋]:[GID]:[๋ฉค๋ฒ๋ชฉ๋ก]
๊ทธ๋ฃน ์ฌ๋ฌ๊ฐ์ ๊ฐ๊ฐ ์ฌ์ฉ์๊ฐ ์ํด์๋ค๋ฉด ์ด๋ฐ์์ผ๋ก ์ถ๋ ฅ๋๋ค. /etc/group ์ ์๋ inpa์ฌ์ฉ์์ ๊ทธ๋ฃน์ํจ ์ ๋ณด์ ๋ช
๋ น์ด $ id ๋ก ์ถ๋ ฅ๋๋ ๊ทธ๋ฃน์ ๋ณด๊ฐ ์ผ์นํจ์ ์ ์ ์๋ค.


UID ์ ๊ทธ๋ฃน ๋์ ์ง์ ํ๊ธฐ
# UID์ ๊ทธ๋ฃน์ ์ง์ ํ์ฌ ์ฌ์ฉ์๋ฅผ ์์ฑ. ๋จ, color ๊ทธ๋ฃน์ ๋ฏธ๋ฆฌ ์์ฑ๋์ด ์์ด์ผ ํจ.
$ useradd -u 999 -g color testuser
$ useradd -u [UID์ซ์] -g [๊ทธ๋ฃน๋ช
] [์ ์ ๋ช
]
์ฌ์ฉ์ ์ค๋ช ์ถ๊ฐํ๊ธฐ (-c)
'comment'์ ์ด๋์ ๋ก, ์ฌ์ฉ์์ ๋ํ ์ค๋ช ์ ์ถ๊ฐํ๋ ์ต์ ์ด๋ค. ๋์ด์ฐ๊ธฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ, ๋ฐ์ดํ('')๋ก ๋ฌถ์ด์ค๋ค.
# ์ฌ์ฉ์ ์ด๋ฆ ์ด๋ฆ์ ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก ๋ง๋ค๊ณ ํ
์คํธ ๋ฌธ์์ด๋ก ์ฌ์ฉ์ ๊ณ์ ํ
์คํธ๋ฅผ ์ฃผ์์ผ๋ก ์ฌ์ฉ
# -c(--comment) ์ต์
: ์ ์ฌ์ฉ์์ ๋ํ ๊ฐ๋จํ ์ค๋ช
์ ์ถ๊ฐ
$ useradd -c "Test User Account" testuser
$ grep username /etc/passwd
username:x :1001:1001:Test User Account:/home/testuser:/bin/sh
๊ณ์ ๋ง๊ธฐ์ผ ์ค์ ํ๊ธฐ (-e)
๊ณ์ ์ ๋ง๊ธฐ์ผ์ ์ค์ ํ๋ค. ๋ง๊ธฐ์ผ ํ์์ ๋ฐ๋์ 'YYYY-MM-DD'๋ก ์ค์ ํด์ผ ํ๋ค.
# ์ฌ์ฉ์ ๊ณ์ ์ ๋ง๋ฃ์ผ์ ์ง์ ํ๋ฉด์ ์์ฑ
# ๋ ์ง๋ YYYY-MM-DD ํ์์ผ๋ก ์ง์
$ useradd -e 2019-12-25 testuser
# ์ฌ์ฉ์ ๊ณ์ ๋ง๋ฃ ๋ ์ง๋ฅผ ํ์ธ
$ sudo chage -l testuser
Last password change : Dec 11, 2018
Password expires : never
Password inactive : never
Account expires : Jan 22, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
ํจ์ค์๋ ๋ง๊ธฐ์ผ ์ค์ ํ๊ธฐ (-f)
'[-f]' ์ต์ ์ ์ฌ์ฉํ๋ฉด ํจ์ค์๋ ๋ง๊ธฐ์ผ์ ๋ ์ง ์๋ก ์ง์ ํ ์ ์๋ค.
$ useradd -f [๋ ์ง ์]
์๋ฅผ ๋ค์ด, 'user10' ๊ณ์ ์ ์์ฑํ๋, ํจ์ค์๋๋ฅผ 3์ผ ์ด๋ด ๋ง๊ธฐ ์์ผ์ผ ํ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ๋๋ค.
๊ฒฐ๊ณผ๋ '/etc/shadow'์ 7๋ฒ์งธ ํ๋๋ฅผ ํ์ธํ๋ฉด ๋๋ค.
$ useradd -f 3 user10
$ cat /etc/shadow | grep user10
user10:!:18369:0:99999:7:3::
[์ฌ์ฉ์๋ช
]:[ํจ์ค์๋]:[๋ง์ง๋ง ๋ณ๊ฒฝ์ผ]: [ํจ์ค์๋] [์ต์์ฌ์ฉ์ผ]:[์ต๋์ฌ์ฉ์ผ]:[๋ง๋ฃ๊ฒฝ๊ณ ์ผ]:[์ ์๊ธฐ๊ฐ]:[๋ง๋ฃ์ผ]
์ฌ์ฉ์์ ์ ธ ์ง์ ํ๊ธฐ (-D)
์ฌ์ฉ์์ ์ ธ์ ์ง์ ํ๋ ์ต์ ์ด๋ค. ์ต์ ์ ์ง์ ํ์ง ์์ผ๋ฉด, '/etc/default/useradd' ํ์ผ์ ๊ธฐ๋ณธ ์ค์ ์ ๋ฐ๋ฅธ๋ค.
# ๊ธฐ๋ณธ ๋ก๊ทธ์ธ ์
ธ์ /bin/sh์์ /bin/bash๋ก ๋ณ๊ฒฝ
$ sudo useradd -D -s /bin/bash
# ๊ธฐ๋ณธ ์
ธ ๊ฐ์ด ๋ณ๊ฒฝ๋์๋์ง ํ์ธ
$ sudo useradd -D | grep -i shell
SHELL=/bin/bash
์ผ๋ช '๋ช ๋ น์ด ํด์๊ธฐ'๋ผ๋ ์ ธ์ ์ฌ์ฉ์๋ณ๋ก ์ง์ ํ๋ ์ต์ ์ด๋ค.
๋ฆฌ๋ ์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก 'bash' ์ ธ์ ์ฌ์ฉํ๋๋ฐ, ์ด ์ธ์๋ ๋ค์ํ ์ ธ์ด ์กด์ฌํ๋ค. ํ์ฌ ์ฌ์ฉํ๋ ๋ฆฌ๋ ์ค์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ธ์ ๋ชฉ๋ก์ ํ์ธํ๋ ค๋ฉด '/etc/shells' ํ์ผ์ ํ์ธํด๋ณด๋ฉด ๋๋ค.
$ cat /etc/shells
/etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash
๊ณ์ ํจ์ค์๋ ๋ช ๋ น์ด
ํจ์ค์๋ ์ค์ (passwd)
$ passwd [option][username]
Changing password for user username.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
์ต ์ | ์ค ๋ช |
-d, --delete | ํจ์ค์๋ ์ญ์ . ๋น๋ฐ๋ฒํธ์์ด ๋ก๊ทธ์ธ ๊ฐ๋ฅ |
-e, --expire | ์ฌ์ฉ์์ ํจ์ค์๋๋ฅผ ๋ง๋ฃ |
-i, --inactive | ํจ์ค์๋ ๋ง๋ฃํ ๋นํ์ฑํ์ ์ ์๊ธฐ๊ฐ ์ผ ์ง์ |
-l, --lock | ์ฌ์ฉ์ ํจ์ค์๋์ ๋ฝ ๊ฑธ์ด ๋ก๊ทธ์ธ ๋ง์ |
-n, --mindays | ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝํ ์ ์์๋๊น์ง ์ ์งํด์ผํ ์ผ์ ์ค์ |
-q, --quiet | ํ๋ฉด ์ถ๋ ฅ์์ด ๋ช ๋ น์ ์ํ |
-S, --status | ์ฌ์ฉ์์ ๋ก๊ทธ์๋ช , ํจ์ค์๋ ์ํ, ์ค์ ์ฌ๋ถ, ๋ง์ง๋ง์ผ๋ก ๋ณ๊ฒฝํ ๋ ์ง, ํจ์ค์๋ ๋ณ๊ฒฝ๊น์ง ๋จ์ ๊ธฐ๊ฐ ๋ฑ ๋ค์ํ ์ ๋ณด ์ถ๋ ฅ |
-u, --unlock | ๋ฝ์ ๊ฑธ์๋ ํจ์ค์๋๋ฅผ ๋ค์ ํด์ |
-w, --warndays | ํจ์ค์๋ ๋ง๋ฃ์ ๊ฒฝ๊ณ ๋ ์ง ์ง์ |
-x, --maxdays | ์ต๋์ฌ์ฉ๊ธฐ๊ฐ ์ค์ |
# ์ฌ์ฉ์ ํจ์ค์๋ ์ค์
$ sudo passwd testuser
# ํ์ฌ์ฌ์ฉ์ ํจ์ค์๋ ๋ณ๊ฒฝ
$ passwd
# ์ง์ ํ ์ฌ์ฉ์ ํจ๋์๋ ๋ง๋ฃ
$ sudo passwd -e testuser
# ์ง์ ํ ์ฌ์ฉ์์ ํจ์ค์๋ ์ํ๋ฅผ ์ถ๋ ฅ
$ sudo passwd -S testuser
# ์ง์ ํ ์ฌ์ฉ์ ํจ์ค์๋ ๋ฝ
$ sudo passwd -l testuser
# ์ง์ ํ ์ฌ์ฉ์ ํจ์ค์๋ ์ญ์
$ sudo passwd -d testuser
# ํจ์ค์๋ ๋ณ๊ฒฝํ 7์ผ๊ฐ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ, 365์ผ๊ฐ ์ฌ์ฉํ ์ ์๊ณ 5์ผ์ ๋ถํฐ ํจ์ค์๋ ๋ณ๊ฒฝ ๊ฒฝ๊ณ . ๋ง๋ฃํ 10์ผ ์ ์๊ธฐ๊ฐ
$ sudo passwd -n 7 -x 365 -w 5 -i 10 testuser
ํจ์ค์๋ ์ ํจ๊ธฐ๊ฐ ๊ด๋ฆฌ (chage)
$ chage [options] username
์ต ์ | ์ค ๋ช |
-d,--lastday | ํจ์ค์๋๋ฅผ ๋ณ๊ฒฝํด์ผ ํ ๋ ์ง์ ์ง์ |
-E,--expiredate | ๊ณ์ ์ด ๋ง๋ฃ๋๋ ๋ ์ค์ |
-I,--inactive | ๊ณ์ ๋ง๋ฃํ ํจ์ค์๋๊ฐ ๋นํ์ฑํ๋ ๋๊น์ง ์ ์๊ธฐ๊ฐ์ ์ค์ |
-l,--list | ๊ณ์ ์ ๋งค์ค์๋ ๋ง๋ฃ ์ ๋ณด ๋ณด์ฌ์ค |
-m,--mindays | ํจ์ค์๋ ๋ณ๊ฒฝํ ๋ ์ต์ ๋ ์ง๋ฅผ ์ง์ |
-M,--maxdays | ํจ์ค์๋ ๋ณ๊ฒฝํ ๋ ์ต๋๋ ์ง ์ง์ |
-W,--warndays | ํจ์ค์๋ ๋ง๋ฃ์ ๋ํ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ค ๋ ์ง๋ฅผ ์ง์ |
# ๋ง๋ฃ์ ๋ณด ์ถ๋ ฅ
$ sudo chage -l test
# test ๊ณ์ ์ ํจ์ค์๋ ์ต์ ์ฌ์ฉ๋ ์ง 7์ผ, ์ต๋ ์ฌ์ฉ๋ ์ง 365์ผ 5์ผ์ ๋ถํฐ ๊ฒฝ๊ณ ๋ฉ์์ง. ๋ง๋ฃํ 3์ผ ์ ์๊ธฐ๊ฐ
$ sudo chage -m 7 -M 365 -W 5 -I 3 test
# test ๊ณ์ ์ ๋ง๋ฃ์ผ ์ง์ .
$ sudo chage -E 2019-12-24 test
# test๊ณ์ ์ ํจ์ค์๋ ๋ณ๊ฒฝ์ผ 10000 ์ค์
$ sudo chage -d 10000 test
๊ณ์ ์ ํ / ์ค์ / ์ญ์ ๋ช ๋ น์ด
๊ณ์ ์ ํ (su)
- su : switch user ์ฝ์
# ๋ค๋ฅธ ์ฌ์ฉ์์ ๊ถํ์ผ๋ก ์คํ
$ su [options] username
์ต ์ | ์ค ๋ช |
-c, --command | ์ง์ ํ ์ฌ์ฉ์๋ก ์ ธ์ด ์คํํ ๋ช ๋ น์ด ์ง์ |
-, -l, --login | ์ฌ์ฉ์๊ฐ ์ง์ ๋ก๊ทธ์ธํ์๋ ๋์ผํ๊ฒ ํ๊ฒฝ๋ณ์๊ฐ ์ค์ ๋๊ณ ํ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ |
-s, --shell | ๋ช ์๋ ์ ธ ์ฌ์ฉ |
# root ์ฌ์ฉ์ ์ ํ.
$ su -
# ์ฌ์ฉ์ ์ ํ์ ํ์ง์๊ณ ์ผ์์ ์ผ๋ก ์ง์ ๋ช
๋ น ์คํ
$ su root -c "vi /etc/passwd"
๊ณ์ ์ค์ (usremod)
์ฌ์ฉ์ ์ ธ, ํ๋๋ ํ ๋ฆฌ, ๊ทธ๋ฃน, UID, GID ์ฌ์ฉ์ ์ค์ ๋ณ๊ฒฝ. useradd ๋ช ๋ ์ด์ ์ค์ ๋๋ถ๋ถ ์ ์ฉ๊ฐ๋ฅ.
$ usermod [options] username
์ต ์ | ์ค ๋ช |
-a,--append | ์ฌ์ฉ์์ ๊ทธ๋ฃน ์ถ๊ฐํ๊ธฐ์ํด -G ์ต์ ๊ณผ ์ฌ์ฉ |
-c,--comment | ์ฌ์ฉ์์ ๊ฐ๋จํ ์ ๋ณด ์ ๋ ฅ |
-l,--login | ๋ก๊ทธ์ธ ์ด๋ฆ ๋ณ๊ฒฝ |
-L, --lock | ํจ์ค์๋์ ๋ฝ |
-U,--unlock | ํจ์ค์๋ ๋ฝ ํด์ |
# ์ฌ์ฉ์ ํ ๋๋ ํฐ๋ฆฌ ๋ณ๊ฒฝ. -m ์ต์
๊น์ง ์
๋ ฅํ๋ฉด ๋ด์ฉ๋ ๋ณต์ฌ
$ usermod -d /home/whiteblue testuser
# ์ฌ์ฉ์ ๊ทธ๋ฃน์ photo ์ฌ์ฉ์ ๊ทธ๋ฃน์ผ๋ก ๋ณ๊ฒฝ
$ usermod -g photo testuser
๊ณ์ ์ญ์ (userdel)
$ userdel [option] username
# ๊ณ์ ์ญ์ . ๋จ, ํ๋๋ ํ ๋ฆฌ ํ์ผ์ ๋จ์์์.
$ userdel testuser
# -r ์ต์
์ ํตํด ์ฌ์ฉ์ ๊ณ์ ํ ๋๋ ํ ๋ฆฌ๋ ์ญ์
$ userdel -r testuser
# -f์ต์
์ผ๋ก ๊ฐ์ ์ญ์
$ userdel -f testuser
๊ณ์ ์ญ์ (deluser)
# userdel์ด๋ ๊ฐ์ง๋ง ์ต์
๋ช
์ด ๋ค๋ฅธ๊ฒ ๋ฟ์ด๋ค.
$ deluser [userName]
# ํ ๋๋ ํ ๋ฆฌ ์ญ์
$ deluser --remove [userName]
# ํ ๋๋ ํ ๋ฆฌ, ๊ณ์ ๋ช
์ผ๋ก๋ ๋ชจ๋ ํ์ผ ์ญ์
$ deluser --remove-all-files [userName]
# home์ด๋ passwd์ ์ ์ ๋๋ ํ ๋ฆฌ, ์ ๋ณด๋ฅผ ์ญ์ ํด์ ๊ณ์ ์ญ์ ํ๋ ๋ฐฉ๋ฒ๋ ์กด์ฌํ๋ค.
# ํ ๋๋ ํ ๋ฆฌ ๋ฐ ํ์ํด๋ ์ญ์
$sudo rm -r /home/[userName]
# /etc/passwd ์์ ํด๋น ๋ด์ฉ ์ญ์
$sudo vi /etc/passwd
[LINUX] ๐ userdel ์ deluser ์ฐจ์ด์ โ ์ ๋ฆฌ
userdel์ deluser ์ฐจ์ด ๊ฒฐ๋ก ์ ์ผ๋ก ๋งํ์๋ฉด, ์ต์ ๋ฌธ๋ฒ ์ ์ธ ์ฐจ์ด ์ธ์ ๋์ด ์ฐจ์ด๊ฐ ์๋ค. $ userdel $sudo userdel [userName] # ์ต์ # -r : ํ ๋๋ ํ ๋ฆฌ ์ญ์ $ deluser $sudo deluser [userName] # ์ต์ #..
inpa.tistory.com
๊ทธ๋ฃน ๊ณ์ ๊ด๋ฆฌ
๊ทธ๋ฃน์ด๋ ์ฌ์ฉ์๋ฅผ ๋ฌถ์ด ๊ด๋ฆฌ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋งค์ปค๋์ฆ ์ด๋ค. ๊ทธ๋ฃน์ ํตํด ๊ฐ ๊ทธ๋ฃน์ ๋ณด์์ค์ , ์ ๊ทผ์ค์ , ๊ถํ๋ฑ์ ์ผ๊ด ์ ์ฉ ๊ด๋ฆฌํ ์ ์๋ค.
๋ชจ๋ ์ฌ์ฉ์๋ UID์ ๊ทธ๋ฃน์ ๋ํ ์๋ณ์์ธ GID ๊ฐ์ง๋ค. ์ฌ์ฉ์ ์์ฑ์ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋์ผํ ๊ทธ๋ฃน์ ์์ฑํ์ฌ ํฌํจ์ํจ๋ค.
๊ทธ๋ฃน ๊ณ์ ๋ช ๋ น์ด
๊ทธ๋ฃน ์ถ๋ ฅ (groups)
# ํน์ ์ฌ์ฉ์๋ ํ์ฌ ๋ก๊ทธ์ธํ ์ฌ์ฉ์๊ฐ ์ํ ๊ทธ๋ฃน์ ํ์
$ groups
# uid=1000(inpa) gid=1000(inpa) ๊ทธ๋ฃน๋ค=1000(inpa),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),132(lxd),133(sambashare)
๊ทธ๋ฃน ์์ฑ (groupadd)
$ groupadd [options] groupname
์ต์ | ์ค๋ช |
-f, --force | ๊ทธ๋ฃน์ ์์ฑํ ๋ ์ด๋ฏธ ์์ฑ๋์ด ์๋๋ผ๋ ์ฑ๊ณต์ผ๋ก ๊ฐ์ฃผ |
-r, --system | ์์คํ ๊ทธ๋ฃน์ ์์ฑ |
-g,--gid GID | ๊ทธ๋ฃน์ ์์์ GID๋ฅผ ์ง์ |
-o,--non-unique | ๊ทธ๋ฃน์ ์์ฑํ ๋ ์ค๋ณต๋ GID๊ฐ ํ์ฉ |
# GID ์ง์ ํ์ฌ ๊ทธ๋ฃน์ ์์ฑ
$ sudo groupadd -g 550 groupname
๊ทธ๋ฃน ์ ๋ณด ๋ณ๊ฒฝ (groupmod)
์ต์ | ์ค๋ช |
-g, --gid | ๋ณ๊ฒฝํ GID ์ค์ -o ์ต์ ์ ์ฃผ์ง์๋๋ค๋ฉด ์ ์ผํ ์ ์๊ฐ |
-n, --new-name | ๊ทธ๋ฃน์ ์ด๋ฆ ๋ณ๊ฒฝ |
# colors ๊ทธ๋ฃน ์ด๋ฆ์ newcolors ๊ทธ๋ฃน์ผ๋ก ๋ณ๊ฒฝ
$ sudo groupmod -n newcolors colors
# GID 567๋ก ๋ณ๊ฒฝ
$ sudo groupmod -g 567 colors
๊ทธ๋ฃน๊ด๋ จ ์ค์ ํ์ผ์ธ /etc/group , /etc/gshadow , /etc/passwd ์์ ๊ทธ๋ฃน๊ด๋ จ ์์ฑ ๋ณ๊ฒฝํ ์ ์๋ค.
๊ทธ๋ฃน ์ญ์ (groupdel)
๊ทธ๋ฃน์ ์ญ์ ํ๊ธฐ ์ํด์ ์ฃผ ๊ทธ๋ฃน์ ์กด์ฌํ๋ ์ฌ์ฉ์๊ฐ ์์ด์ผ ํ๋ค. (์ฌ์ฉ์๋ฅผ ์ญ์ ํ ํ ๊ทธ๋ฃน์ ์ญ์ ํ ์ ์์.)
๋ํ ํ์ผ์ค ๊ทธ๋ฃน์ด ์ค์ ๋ ํ์ผ์ด ์์ด์ผ ํ๋ค.
$ sudo groupdel groupname
๊ทธ๋ฃน ์ ๋ฐ์ ์ธ ๊ด๋ฆฌ ๋ฐ ํจ์ค์๋ ๋ณ๊ฒฝ (gpasswd)
๊ทธ๋ฃน ํจ์ค์๋ ๋ณ๊ฒฝ ๋ฟ๋ง ์๋๋ผ ์์์ ๋ณธ ๊ทธ๋ฃน ์ถ๊ฐ/์ญ์ ๋ฑ ์ ๋ฐ์ ์ธ ๊ทธ๋ฃน ๊ด๋ฆฌ ๋ง์คํฐ ๋ช ๋ น์ด์ด๋ค.
$ gpasswd [options] groupname
์ต์ | ์ค๋ช |
-a, --add user | ๊ทธ๋ฃน์ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐ |
-d, --delete user | ๊ตฌ๋ฃน์ ์ฌ์ฉ์ ์ญ์ |
-r, --remove-password group | ๊ทธ๋ฃน์ ํจ์ค์๋ ์ ๊ฑฐ ๊ทธ๋ฃน๋ฉค๋ฒ๋ newgrp ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด ๊ทธ๋ฃน์ ์ฐธ๊ฐ |
-R, --restrict group | ๊ทธ๋ฃน ์ ๊ทผ ์ ํ ํจ์ค์๋ ๊ฐ์ง ๊ทธ๋ฃน๋ฉค๋ฒ๋ง newgrpํตํด ๊ทธ๋ฃน์ ์ฐธ๊ฐ |
-A, --administrator user .. | ๊ด๋ฆฌ์๋ก ์ง์ ํ ์ฌ์ฉ์ ์ค์ |
-M, --memvers user.. | ๊ทธ๋ฃน๋ฉค๋ฒ ์ค์ |
๊ทธ๋ฃน์ ํจ์ค์๋ ์ ๋ณด๋ /etc/group ๊ณผ /etc/gshadow ์ ์ ์ฅ๋์ด ์๋ค.
๊ทธ๋ฃน ์ฐธ์ฌ (newgrp)
๋ง์ผ ์ฐธ์ฌํ๋ ค๋ ๊ทธ๋ฃน์ ๊ทธ๋ฃนํจ์ค์๋๊ฐ ์กด์ฌํ๋๋ฐ, ์ฌ์ฉ์๊ฐ ๋ช ๋ น์ด๋ฅผ ํตํด ๊ทธ๋ฃน์ ์ฐธ์ฌํ๋ ค๋ฉด ํจ์ค์๋ ์ ๋ ฅ ํ์ํ๋ค.
# ํ์ฌ ๊ทธ๋ฃน๋์ groupname ๊ทธ๋ฃน์ผ๋ก ์ ํ
$ newgrp groupname
์ฌ์ฉ์ ๊ณ์ ํ๊ฒฝ ์ค์ ํ์ผ
์ฌ์ฉ์ ๊ณ์ ๊ณผ ๊ทธ๋ฃน์ ๋ณด๋ /etc ๋๋ ํฐ๋ฆฌ ์ดํ์ ์กด์ฌํ๋ค.
๊ตฌ๋ถ | ํ์ผ๋ช | ์ค๋ช |
๊ณ์ ๋ฐ ๊ทธ๋ฃน ์ค์ ํ์ผ | /etc/passwd | ์ฌ์ฉ์ ๊ณ์ ์ ์์ด๋, ๊ทธ๋ฃน์ ๋ณด ๋ฑ ๊ณ์ ์ ๋ณด |
/etc/shadow | ์ํธํ๋ ํจ์ค์๋ ๋ฐ ์ ์ฑ ์ค์ ์ ๋ณด | |
/etc/group | ์ฌ์ฉ์ ๊ทธ๋ฃน์ ๊ธฐ๋ณธ์ ๋ณด | |
/etc/gshadow | ์ฌ์ฉ์ ๊ทธ๋ฃน์ ์ํธํ๋ ํจ์ค์๋ ์ ๋ณด | |
๊ณ์ ํ๊ฒฝ์ค์ ํ์ผ | /etc/default/useradd | useradd๋ช ๋ น์ ์ฌ์ฉํ ๋ ๊ธฐ๋ณธ ์ฌ์ฉ์ ๋ถ๊ฐ์ ๋ณด |
/etc/login.defs | ๋ก๊ทธ์ธ ์ํ์ ๊ธฐ๋ณธ์ค์ | |
/etc/skel | ํ ๋๋ ํฐ๋ฆฌ ์์ฑ์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ ํ์ผ |
ํ๊ฒฝ ์ค์ ํ์ผ ์ข ๋ฅ
/etc/passwd
- ๋ก๊ทธ์ธ์ ํ์ํ UID, GID, ํ๋๋ ํฐ๋ฆฌ, ์ ธ ๋ฑ์ ์ฌ์ฉ์ ๊ณ์ ์ ๋ณด๋ฅผ ํฌํจ.
- ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์ฝ๊ธฐ๊ถํ ๊ฐ์ง ํ์ผ
- ๋ฃจํธ ์ฌ์ฉ์๋ง ์ฐ๊ธฐ ํ์ฉ

$ cat /etc/passwd
userid:x:14:50:FTP This is test User:/var/userid:/sbin/nologin
[์ฌ์ฉ์๋ช
]:[๋น๋ฐ๋ฒํธ]:[UID]:[GID] [์ฌ์ฉ์์ค๋ช
]:[ํ๋๋ ํ ๋ฆฌ]:[์๊ฒฝ๋ก]
# ์ฌ์ฉ์ ๋ช
: ๋ก๊ทธ์ธ ํ ๋ ์ฌ์ฉํ๋ ์ฌ์ฉ์์ด๋ฆ
# ๋น๋ฐ๋ฒํธ : x๋ ์ํธํ๋ ํจ์ค์๋๋ฅผ ๋ณด๊ดํ๊ณ ์๋ค๋ ์๋ฏธ
# UID : ์ฌ์ฉ์ ๋ฒํธ
# GID : /etc/group ํ์ผ์ ๋ณด๊ด๋ ์ฃผ ๊ทธ๋ฃน ID๋ฒํธ
# ์ฌ์ฉ์ ์ค๋ช
: ์ฌ์ฉ์์๋ํ ์ถ๊ฐ์ค๋ช
์ฝ๋ฉํธ ํ๋
# ํ ๋๋ ํฐ๋ฆฌ : ๊ธฐ๋ณธ๋๋ ํฐ๋ฆฌ๋ก ์ ๋๊ฒฝ๋ก๋ก ์ค์
# ์
ธ : ์
ธ์ ์์น๋ฅผ ์ ๋ ๊ฒฝ๋ก๋ก ์ง์ .
/etc/shadow
- ์ฌ์ฉ์ ํจ์ค์๋๋ฅผ ํด์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ํธํํ ๊ฐ๊ณผ ํจ์ค์๋์ ์ฐ๊ด๋ ์ฌ๋ฌ ์์ฑ์ ๋จ๊ณ ์๋ ํ์ผ
- /etc/passwd ํ์ผ์ ๊ฐ ์ฌ์ฉ์๋ค์ ๋ํ ์ํธ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์.
$ cat /etc/shadow
francis: $fislf2R$R45trhertsdfs:18119:0:99999:7: : :
[์ฌ์ฉ์๋ช
]:[ํจ์ค์๋]:[๋ง์ง๋ง ๋ณ๊ฒฝ์ผ]: [ํจ์ค์๋] [์ต์์ฌ์ฉ์ผ]:[์ต๋์ฌ์ฉ์ผ]:[๋ง๋ฃ๊ฒฝ๊ณ ์ผ]:[์ ์๊ธฐ๊ฐ]:[๋ง๋ฃ์ผ]
/etc/default/useradd
- ์ฌ์ฉ์ ์์ฑ์ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ ์ค์ ๊ฐ์ด ์ ์ฅ๋ ํ๊ฒฝ์ค์ ํ์ผ
- useradd -D ๋ก ๋ด์ฉํ์ธ ๊ฐ๋ฅ.
/etc/login.defs
- ์๋์ฐ ํจ์ค์๋ ์ค์ํธ๋ฅผ ์ํ ์ฝ๊ธฐ ์ ์ฉ ํ๊ฒฝ์ค์ ํ์ผ
- ํจ์ค์๋ ์ต๋ ์ฌ์ฉ์ผ : PASS_MAX_DAYS
- ํจ์ค์๋ ์ต์์ฌ์ฉ์ผ : PASS_MIN_DAYS
- ํจ์ค์๋ ๋ง๋ฃ ๊ฒฝ๊ณ ์ผ : PASS_WARN_AGE
/etc/group
- ๊ทธ๋ฃน์ ์ํ ์ฌ์ฉ์๋ฅผ ๊ด๋ฆฌํ๋ ํ์ผ.
- ๊ทธ๋ฃน์ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ์ํ ์ ์์.
$ cat /etc/group | grep mail
mail:x:12:mail,postfix
[๊ทธ๋ฃน๋ช
]:[ํจ์ค์๋]:[GID]:[๋ฉค๋ฒ๋ชฉ๋ก]
/etc/gshadow
- ๊ทธ๋ฃน์ ์ํธํ๋ ๋น๋ฐ๋ฒํธ ์ ๋ณด๋ฅผ ํฌํจ.
- ๋ฃจํธ๊ถํ ์ฌ์ฉ์๋ง ์ ๊ทผ ๊ฐ๋ฅ
$ cat /etc/gshadow
test:$65$ssafhasrjkg/sasldfjsadkf:test:francis
[๊ทธ๋ฃน๋ช
]:[ํจ์ค์๋]:[๊ทธ๋ฃน๊ด๋ฆฌ์]:[๋ฉค๋ฒ๋ชฉ๋ก]
# ์ฐธ๊ณ ์๋ฃ
https://wiseworld.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%82%AC%EC%9A%A9%EC%9E%90%EA%B4%80%EB%A0%A8-%EB%AA%85%EB%A0%B9%EC%96%B4%EC%99%80-%ED%8C%8C%EC%9D%BC
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=nmnmnmnm01&logNo=110175553005
https://laughcryrepeat.tistory.com/59
https://tragramming.tistory.com/85
์ด ๊ธ์ด ์ข์ผ์ จ๋ค๋ฉด ๊ตฌ๋ & ์ข์์
์ฌ๋ฌ๋ถ์ ๊ตฌ๋
๊ณผ ์ข์์๋
์ ์์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค.