Post

DevOps Challenge

DevOps Challenge

๐Ÿฅ‘ ๋“ค์–ด๊ฐ€๋ฉฐ

DevOps๋กœ ๋‚˜์•„๊ฐ€๊ธฐ ์œ„ํ•ด ์ฑŒ๋ฆฐ์ง€๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ด ๊ณณ์—์„œ ์ง„ํ–‰์ค‘์ด๋‹ค. 100์ผ ์ฑŒ๋ฆฐ์ง€์ธ๋ฐ ๋งค์ผ ์ด ๊ธ€์— ๊ธฐ๋กํ•˜๋ ค ํ•œ๋‹ค.


Day1 - Linux User Setup with Non-Interactive Shell

Overview

ItemDescription
Date2026-05-30 Sat.
CategoryLinux / User Management
DifficultyEasy
EnvironmentKodeKloud / Nautilus
Keywordsuseradd, nologin, non-interactive shell


Problem

To accommodate the backup agent toolโ€™s specifications, the system admin team at xFusionCorp Industries requires the creation of a user with a non-interactive shell. Hereโ€™s your task:

Create a user named mariyam with a non-interactive shell on App Server 1.


Explanation

๋ฌธ์ œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์€

App Server 1์— mariyam ์ด๋ผ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๋Š”๋ฐ, ๋กœ๊ทธ์ธ ๊ฐ€๋Šฅํ•œ ์ผ๋ฐ˜ ์‰˜์ด ์•„๋‹ˆ๋ผ ๋น„๋Œ€ํ™”ํ˜•(non-interactive) shell๋กœ ์„ค์ •ํ•˜๋ผ

๋Š” ๋œป์ด๋‹ค.

๋ณดํ†ต ๋ฆฌ๋ˆ…์Šค์—์„œ ๋กœ๊ทธ์ธ ๋ชป ํ•˜๋Š” ๊ณ„์ •์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐฑ์—… ์—์ด์ „ํŠธ, ์‹œ์Šคํ…œ ์„œ๋น„์Šค, ๋ฐ๋ชฌ ๊ณ„์ •๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์€ ํŒŒ์ผ ๊ถŒํ•œ๋งŒ ํ•„์š”ํ•˜์ง€ ์‚ฌ๋žŒ์ด SSH ๋กœ๊ทธ์ธํ•  ํ•„์š”๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์•„๋ž˜์™€ ์‰˜์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • /sbin/nologin
  • /usr/sbin/nologin
  • /bin/false

์ผ๋ฐ˜์ ์œผ๋กœ nologin์„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

์ถ”๊ฐ€๋กœ non-interactive shell์€ ๋‹จ์ˆœํžˆ โ€œ๋กœ๊ทธ์ธ์„ ๋ง‰๋Š” ๊ฒƒโ€ ์ด์ƒ์˜ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค.

Linux์—์„œ๋Š” ์„œ๋น„์Šค ์‹คํ–‰์šฉ ๊ณ„์ •์ด๋‚˜ ์‹œ์Šคํ…œ ๊ณ„์ •์„ ์ƒ์„ฑํ•  ๋•Œ ๋ณด์•ˆ์„ ์œ„ํ•ด ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์ œํ•œํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๋งŒ์•ฝ ์ผ๋ฐ˜ shell(/bin/bash ๋“ฑ)์„ ๋ถ€์—ฌํ•˜๋ฉด ํ•ด๋‹น ๊ณ„์ •์œผ๋กœ SSH ๋กœ๊ทธ์ธ์ด๋‚˜ shell ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฐ˜๋ฉด nologin์ด๋‚˜ false๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ณ„์ • ์ž์ฒด๋Š” ์กด์žฌํ•˜์ง€๋งŒ interactive shell ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค. ์ฆ‰, ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์ด๋‚˜ ํŒŒ์ผ ๊ถŒํ•œ ๊ด€๋ฆฌ ์šฉ๋„๋กœ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์‚ฌ๋žŒ์ด ์ง์ ‘ ๋กœ๊ทธ์ธํ•  ์ˆ˜๋Š” ์—†๋‹ค.

ํŠนํžˆ /sbin/nologin์€ ๋กœ๊ทธ์ธ ์‹œ๋„ ์‹œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•œ ๋’ค ์ข…๋ฃŒํ•˜๋ฉฐ, /bin/false๋Š” ์•„๋ฌด ๋ฉ”์‹œ์ง€ ์—†์ด ์ฆ‰์‹œ ์ข…๋ฃŒ๋œ๋‹ค๋Š” ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

์‹ค์ œ ์šด์˜ ํ™˜๊ฒฝ์—์„œ๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณ„์ •๋“ค์€ ๋Œ€๋ถ€๋ถ„ non-interactive shell์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • nginx
  • mysql
  • postgres
  • redis
  • ftp ์„œ๋น„์Šค ๊ณ„์ •
  • backup agent ๊ณ„์ •

๋”ฐ๋ผ์„œ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ๋‹จ์ˆœ ์‚ฌ์šฉ์ž ์ƒ์„ฑ๋ณด๋‹ค๋Š” โ€œ์„œ๋น„์Šค ๊ณ„์ •์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•โ€์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


Answer

1
2
3
4
$ ssh tony@stapp01
$ sudo useradd -s /sbin/nologin mariyam
$ grep mariyam /etc/passwd
mariyam:x:1001:1001::/home/mariyam:/sbin/nologin


This post is licensed under CC BY 4.0 by the author.