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

2023. 4. 6. 16:50·🌌 OS/Linux-λ¦¬λˆ…μŠ€
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
μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)

'🌌 OS > Linux-λ¦¬λˆ…μŠ€' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[E] CentOS 7 ν™˜κ²½ GitLab μ„€μΉ˜ 쀑 Requires: policycoreutils-python-utils μ—λŸ¬ λ°œμƒ (νŒ¨ν‚€μ§€ μ˜μ‘΄μ„± 문제)  (0) 2023.04.10
[E] Found 271 pre-existing rpmdb problem(s), 'yum check' output follows:  (0) 2023.04.10
[E] Linux 인터넷 μ—°κ²° μ•ˆλ  λ•Œ - dhcp, dhclient μ‚¬μš©  (0) 2023.03.22
[E] μœ μ„  κ΄€λ¦¬λ˜μ§€ μ•ŠμŒ, Network에 Wired Connection μ—†λŠ” 경우 (Linux 인터넷 μ•ˆλ¨)  (0) 2023.03.22
[E] Ubuntu 18.04 λΆ€νŒ… μ•ˆλ¨, 검은 화면에 μ»€μ„œλ§Œ 깜빑일 λ•Œ  (0) 2023.03.21
'🌌 OS/Linux-λ¦¬λˆ…μŠ€' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [E] CentOS 7 ν™˜κ²½ GitLab μ„€μΉ˜ 쀑 Requires: policycoreutils-python-utils μ—λŸ¬ λ°œμƒ (νŒ¨ν‚€μ§€ μ˜μ‘΄μ„± 문제)
  • [E] Found 271 pre-existing rpmdb problem(s), 'yum check' output follows:
  • [E] Linux 인터넷 μ—°κ²° μ•ˆλ  λ•Œ - dhcp, dhclient μ‚¬μš©
  • [E] μœ μ„  κ΄€λ¦¬λ˜μ§€ μ•ŠμŒ, Network에 Wired Connection μ—†λŠ” 경우 (Linux 인터넷 μ•ˆλ¨)
mxnxeonx
mxnxeonx
"μ•„, 이거 λ­μ˜€λ”λΌ"λ₯Ό ν•˜μ§€ μ•ŠκΈ°μœ„ν•œ 일기μž₯.
  • mxnxeonx
    MJ's Development Diary
    mxnxeonx
  • 전체
    였늘
    μ–΄μ œ
    • λΆ„λ₯˜ 전체보기 (154)
      • πŸ’» Language (43)
        • Java : μžλ°” (18)
        • Python : 파이썬 (9)
        • ROS : λ‘œλ΄‡μ‹œμŠ€ν…œ (9)
        • Android : μ•ˆλ“œλ‘œμ΄λ“œ (4)
        • JavaScript : μžλ°”μŠ€ν¬λ¦½νŠΈ (2)
      • 🌐 Environment (19)
        • IDE : ν†΅ν•©κ°œλ°œν™˜κ²½ (9)
        • Virtual : κ°€μƒν™˜κ²½ (10)
      • βš™ Framework (12)
        • Vue-λ·° (3)
        • Spring-μŠ€ν”„λ§ (7)
      • πŸ’Ύ DataBase (18)
      • 🌌 OS (36)
        • Linux-λ¦¬λˆ…μŠ€ (36)
      • πŸ’¬ CI · CD (7)
        • Git : κΉƒ (7)
      • πŸ“ƒ ETC (3)
      • πŸ€– AI (4)
  • 링크

    • GitHub
  • 인기 κΈ€

  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.3
mxnxeonx
[Linux] λ¦¬λˆ…μŠ€ μ‚¬μš©μž(User) 생성 방법
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”