🌌 OS/Linux-λ¦¬λˆ…μŠ€

[Linux] λ¦¬λˆ…μŠ€ μ‚¬μš©μž(User) 생성 방법

mxnxeonx 2023. 4. 6. 16:50
728x90
728x90

λ¦¬λˆ…μŠ€ ν™˜κ²½μ—μ„œλŠ” μ‚¬μš©μž 생성을 톡해 μ—¬λŸ¬ 개의 디렉토리λ₯Ό 루트 λ””λ ‰ν† λ¦¬μ²˜λŸΌ ν™œμš©ν•  수 μžˆλ‹€. μƒμœ„ λ””λ ‰ν† λ¦¬μ˜ 파일이 μ†μƒλ˜μ§€ μ•Šλ„λ‘ κ΄€λ¦¬ν•˜λ €λ©΄ μ‚¬μš©μžλ₯Ό μƒμ„±ν•˜λŠ” 것은 ν•„μˆ˜μ΄λ―€λ‘œ μ‚¬μš©μž 생성 λͺ…λ Ήμ–΄λ₯Ό μ•Œμ•„λ³΄λ„λ‘ ν•˜μž.

 

μ‚¬μš©μž(User) 생성 방법

1) κΈ°λ³Έ μ‚¬μš©λ²• 

μ‚¬μš©μž 생성 방법은 λ‹€μŒκ³Ό κ°™λ‹€. sudo κΆŒν•œμœΌλ‘œ μˆ˜ν–‰λ˜λ©° [OPTIONS] ν•­λͺ©μ€ 선택, {USERNAME}μ—λŠ” μ›ν•˜λŠ” 이름을 μž…λ ₯ν•œλ‹€. useraddκ°€ 호좜되면 [OPTIONS]의 λ‚΄μš©κ³Ό /etc/default/useradd, /etc/defs νŒŒμΌμ— μ„€μ •λœ 값에 따라 μ‚¬μš©μž 계정을 μƒμ„±ν•˜κ²Œ λœλ‹€.

$ sudo useradd [OPTIONS] {USERNAME}

 

2) ν™ˆ 디렉토리 ν• λ‹Ή

보톡 μœ μ €λ§ˆλ‹€ ν™ˆ 디렉토리λ₯Ό 갖도둝 κ΅¬μ„±ν•œλ‹€. μ‚¬μš©μž ν™ˆ 디렉토리λ₯Ό μΆ”κ°€ν•˜μ—¬ μ‚¬μš©μžλ₯Ό μƒμ„±ν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™λ‹€.

$ sudo useradd -m {USERNAME}

-m μ˜΅μ…˜μ„ μ΄μš©ν•˜μ—¬ μ‚¬μš©μžλ₯Ό μƒμ„±ν•˜λ©΄ /etc/skel λ””λ ‰ν† λ¦¬μ—μ„œ μ‚¬μš©μžμ˜ ν™ˆ λ””λ ‰ν† λ¦¬λ‘œ 파일이 λ³΅μ‚¬λ˜λ©°, ν™ˆ λ””λ ‰ν† λ¦¬μ˜ κ²½λ‘œλŠ” /home/ μ•„λž˜μ— μœ„μΉ˜ν•œλ‹€. 각 μœ μ €μ˜ ν™ˆ 디렉토리 λ‚΄λΆ€μ—λŠ” .bash_logout, .bashrc, .profile 3개의 μ΄ˆκΈ°ν™” 파일이 μƒμ„±λœλ‹€.

$ ls -la /home/
합계 4
drwxr-xr-x.  7 root    root      71  4μ›”  6  2020 .
dr-xr-xr-x. 19 root    root     268  4μ›”  6 01:08 ..
drwx------.  5 userA   userA    166  4μ›”  6 20:04 userA
drwx------.  8 userB   userB    209  4μ›”  6 20:04 userB

 

3) ν™ˆ 디렉토리 μ§€μ •

λ§Œμ•½ ν™ˆ 디렉토리λ₯Ό /home/ μ•„λž˜κ°€ μ•„λ‹Œ νŠΉμ • μœ„μΉ˜μ— μƒμ„±ν•˜κ³  μ‹Άλ‹€λ©΄ -d μ˜΅μ…˜μ„ μ΄μš©ν•œλ‹€.

$ sudo useradd -m -d {DIRECTORY} {USERNAME}

 

4) μ‚¬μš©μž λΉ„λ°€λ²ˆν˜Έ μ§€μ •

μƒμ„±λœ μœ μ €μ˜ νŒ¨μŠ€μ›Œλ“œ ν• λ‹Ή(λ˜λŠ” λ³€κ²½)은 λ‹€μŒκ³Ό κ°™λ‹€.

$ sudo passwd {USERNAME}
Changing password for user username.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

 


 

μ‚¬μš©μž 생성 λΆ€κ°€ μ˜΅μ…˜

1) UID ν• λ‹Ή

Linux(Unix 계열 OS)μ—μ„œ 각 μ‚¬μš©μžλŠ” UID(각 μ‚¬μš©μžμ—κ²Œ ν• λ‹Ήλœ κ³ μœ ν•œ μ–‘μ˜ μ •μˆ˜) + μ‚¬μš©μž μ΄λ¦„μœΌλ‘œ μ‹λ³„λœλ‹€. μ‚¬μš©μž μƒμ„±μ‹œ login.defs νŒŒμΌμ— μ§€μ •λœ μ‚¬μš©μž ID λ²”μœ„μ—μ„œ μ‚¬μš© κ°€λŠ₯ν•œ UIDλ₯Ό μžλ™ ν• λ‹Ήν•˜λŠ”λ°, -u μ˜΅μ…˜μ„ μ΄μš©ν•˜λ©΄ useraddμ‹œ UIDλ₯Ό 직접 지정해쀄 수 μžˆλ‹€.

$ sudo useradd -u {UID} {USERNAME}

UIDλŠ” μ•„λž˜ λͺ…λ Ήμ–΄λ‘œ 확인할 수 μžˆλ‹€.

$ id -u {USERNAME}

 

2) κ·Έλ£Ή μ§€μ •

Linuxμ—μ„œ μ‚¬μš©μžλŠ” κ·Έλ£Ήμ΄λΌλŠ” λ‹¨μœ„λ‘œ 묢일 수 μžˆλ‹€. chmod λ“± 파일/λ””λ ‰ν† λ¦¬μ˜ κΆŒν•œ λΆ€μ—¬μ‹œ 그룹에 λŒ€ν•œ κΆŒν•œμ΄ μžˆλ‹€. 이처럼 κ·Έλ£Ή λ‚΄ μ‚¬μš©μž κ°„ νŠΉμ • λ¦¬μ†ŒμŠ€μ— λŒ€ν•΄ rwx κΆŒν•œμ„ κ³΅μœ ν•  수 μžˆλŠ”λ° useradd에 그룹에 λŒ€ν•œ μ˜΅μ…˜μ„ μ§€μ •ν•˜μ§€ μ•Šμ„ 경우 κΈ°λ³Έμ μœΌλ‘œλŠ” μ‚¬μš©μž 이름과 λ™μΌν•œ 그룹이 μƒˆλ‘œ μƒμ„±λœλ‹€. -g μ˜΅μ…˜μ„ μ΄μš©ν•˜λ©΄ κ·Έλ£Ή 번호(GID)λ₯Ό μ§€μ •ν•  수 μžˆλŠ”λ°, ν•΄λ‹Ή 그룹이 이미 μƒμ„±λœ μƒνƒœμ—μ„œλ§Œ κ°€λŠ₯ν•˜λ‹€.

$ sudo useradd -g {GID} {USERNAME}

단일 그룹의 경우 μœ„μ²˜λŸΌ μ§€μ •ν•˜λ©΄ λ˜μ§€λ§Œ, μ—¬λŸ¬ 그룹에 μ†ν•˜κ²Œ ν•˜κ³  싢은 경우 -G μ˜΅μ…˜μ„ μ΄μš©ν•œλ‹€.

$ sudo useradd -G {GID,GID,GID...} {USERNAME}

GIDλŠ” μ•„λž˜ λͺ…λ Ήμ–΄λ‘œ 확인할 수 μžˆλ‹€.

$ id -gn {USERNAME}

 

3) 만료 λ‚ μ§œ μ§€μ •

μ‚¬μš©μž 계정이 μƒμ„±λœ ν›„ νŠΉμ • λ‚ μ§œμ— 만료(μžλ™ μ‚­μ œ)λ˜λ„λ‘ μ„€μ •ν•  수 μžˆλ‹€. -e μ˜΅μ…˜μ„ μ΄μš©ν•˜μ—¬ μž„μ‹œ 계정 등을 λ§Œλ“€ λ•Œ 주둜 μ‚¬μš©ν•œλ‹€. λ‚ μ§œ ν˜•μ‹μ€ YYYY-MM-DDλ₯Ό μ΄μš©ν•΄μ•Ό ν•œλ‹€. (ex. 2023-04-06)

$ sudo useradd -e {YYYY-MM-DD} {USERNAME}

μ‚¬μš©μž 계정 만료 λ‚ μ§œλŠ” μ•„λž˜ λͺ…λ Ήμ–΄λ‘œ 확인할 수 μžˆλ‹€.

$ sudo change -l {USERNAME}

 


 

λ§Œλ“  계정 μ‚¬μš©ν•˜κΈ°

1) 계정 μ „ν™˜ν•˜κΈ°

μ‚¬μš©μžλ₯Ό μƒμ„±ν–ˆλ‹€λ©΄ 계정을 μ „ν™˜ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ‹€.

$ su {USERNAME}

ν™ˆ λ””λ ‰ν† λ¦¬κΉŒμ§€ μ „ν™˜ν•˜μ—¬ μ‚¬μš©ν•˜λ €λ©΄ '-'λ₯Ό 뢙인닀.

$ su - {USERNAME}

 

2) κ΄€λ¦¬μž κΆŒν•œ λΆ€μ—¬ν•˜κΈ°

ν•΄λ‹Ή μ‚¬μš©μžλŠ” 일반 User둜 μƒμ„±λ˜λŠ”λ°, λ§Œμ•½ sudoers에 λ“±λ‘ν•˜μ—¬ κ΄€λ¦¬μž κΆŒν•œμ„ λΆ€μ—¬ν•˜κ³  μ‹Άλ‹€λ©΄ /etc/sudoers νŒŒμΌμ— 계정을 μ„€μ •ν•΄μ£Όμ–΄μ•Ό ν•œλ‹€. sudoers μ„€μ • μ „ sudo λͺ…λ Ήμ–΄λ₯Ό μ΄μš©ν•˜λ € ν•˜λ©΄ λ‹€μŒκ³Ό 같이 μ—λŸ¬ λ©”μ‹œμ§€κ°€ ν‘œκΈ°λœλ‹€.

$ sudo -i

둜컬 μ‹œμŠ€ν…œ κ΄€λ¦¬μžμ—κ²Œ 일반적인 지침을 λ°›μ•˜μœΌλ¦¬λΌ λ―ΏμŠ΅λ‹ˆλ‹€.
보톡 μ„Έκ°€μ§€λ‘œ μš”μ•½ν•©λ‹ˆλ‹€:

    #1) νƒ€μΈμ˜ μ‚¬μƒν™œμ„ μ‘΄μ€‘ν•˜μ‹­μ‹œμ˜€.
    #2) μž…λ ₯ν•˜κΈ° 전에 ν•œ 번 더 μƒκ°ν•˜μ‹­μ‹œμ˜€.
    #3) λ§‰κ°•ν•œ νž˜μ—λŠ” μƒλ‹Ήν•œ μ±…μž„μ΄ λ’€λ”°λ¦…λ‹ˆλ‹€.

[sudo] idox의 μ•”ν˜Έ: 
idox은(λŠ”) sudoers μ„€μ • νŒŒμΌμ— μ—†μŠ΅λ‹ˆλ‹€.  이 μ‹œλ„λ₯Ό λ³΄κ³ ν•©λ‹ˆλ‹€.

 

sudoers 파일 κΆŒν•œμ€ 440으둜 읽기만 κ°€λŠ₯ν•˜κ³  μ“°κΈ°κ°€ λΆˆκ°€λŠ₯ν•˜λ―€λ‘œ root κ³„μ •μœΌλ‘œ μ ‘μ†ν•˜μ—¬ 파일 κΆŒν•œμ„ μˆ˜μ •ν•œλ‹€.

$ chmod +w /etc/sudoers

/etc/sudoers νŒŒμΌμ„ μ—΄μ–΄ root μ•„λž˜μ— μ‚¬μš©μžλ₯Ό μΆ”κ°€ν•œλ‹€.

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
idox    ALL=(ALL)       ALL

파일 μˆ˜μ • > μ €μž₯ > λ‹«κΈ° ν›„ sudoers νŒŒμΌμ€ λ‹€μ‹œ μ“°κΈ° κΆŒν•œμ„ μ œκ±°ν•΄μ£ΌλŠ” 것을 ꢌμž₯ν•œλ‹€.

$ chmod -w /etc/sudoers
728x90
320x100