๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • Tried. Failed. Logged.
๐Ÿง์šด์˜์ฒด์ œ/๋ฆฌ๋ˆ…์Šค

๋ฆฌ๋ˆ…์Šค - ํŠน์ • ์‚ฌ์šฉ์ž sudo ๊ถŒํ•œ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค(sudoers)

by Janger 2023. 11. 9.
728x90

 

 

ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ sudo ๊ถŒํ•œ์„ ์ฃผ๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•๋“ค

 

1. /etc/sudoers ์„ค์ • ํŒŒ์ผ ์ˆ˜์ •

2. sudo ๊ทธ๋ฃน์— ์‚ฌ์šฉ์ž ์ถ”๊ฐ€

 

 

์‚ฌ์ „ ์ค€๋น„ - ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž ๋งŒ๋“ค๊ธฐ

 

janger@desktop:~$ sudo useradd -m dummy
janger@desktop:~$ echo "dummy:dummy" | sudo chpasswd

-m : ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ž๋™ ์ƒ์„ฑ

 

janger@desktop:~$ cat /etc/passwd | grep dummy
dummy:x:1001:1001::/home/dummy:/bin/sh

์ƒˆ๋กœ ์ƒ๊ธด ์œ ์ € ์ •๋ณด๋ฅผ ํ™•์ธ

 

 

1. /etc/sudoers ์„ค์ • ํŒŒ์ผ ์ˆ˜์ •

 

sudoers ์„ค์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์šฐ์„  ์“ฐ๊ธฐ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค. 

์•„๋ž˜๋Š” sudoers์˜ ๊ธฐ๋ณธ ์†์„ฑ ์ •๋ณด์ด๋‹ค. ์‚ฌ์šฉ์ž์™€ ๊ทธ๋ฃน์—๋งŒ ์ฝ๊ธฐ ์˜ต์…˜(r)๋งŒ ์žˆ์–ด์„œ ์“ฐ๊ธฐ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. (๋ณด์•ˆ ๋ชฉ์ )

janger@desktop:~$ ls -l /etc/sudoers
-r--r----- 1 root root 1671 Feb  8  2022 /etc/sudoers

 

 

 

"chmod +w /etc/sudoers"๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์“ฐ๊ธฐ ์˜ต์…˜(w)์„ ์ถ”๊ฐ€ํ•œ๋‹ค. 

janger@desktop:~$ sudo chmod +w /etc/sudoers
janger@desktop:~$ ls -l /etc/sudoers
-rw-r----- 1 root root 1671 Feb  8  2022 /etc/sudoers

 

 

 

์›ํ•˜๋Š” ์—๋””ํ„ฐ๋กœ ์„ค์ •ํŒŒ์ผ์„ ์—ด๊ณ  [/etc/sudoers] ํŒŒ์ผ์— "์‚ฌ์šฉ์ž๋ช…   ALL=(ALL:ALL) ALL" ์ž…๋ ฅ

# User privilege specification
root    ALL=(ALL:ALL) ALL
dummy   ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

๊ทธ๋ฃน ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๊ทธ๋ฃน๋ช… ์•ž์— %๋ฅผ ๋ถ™์ธ๋‹ค. 

 

 

sudoers ๊ตฌ์„ฑ

์‚ฌ์šฉ์ž๋ช…   ํ˜ธ์ŠคํŠธ๋„ค์ž„=(์‚ฌ์šฉ์ž์†Œ์œ ๊ถŒ:๊ทธ๋ฃน์†Œ์œ ๊ถŒ) ๋ช…๋ น์–ด

 

 

์„ค์ •์„ ๋งˆ์น˜์—ˆ๋‹ค๋ฉด ์“ฐ๊ธฐ ์˜ต์…˜(w)์„ ๋ชจ๋‘ ์ œ๊ฑฐ(-w)ํ•œ๋‹ค. 

janger@desktop:~$ sudo chmod -w /etc/sudoers
janger@desktop:~$ ls -l /etc/sudoers
-r--r----- 1 root root 1696 Nov  9 14:54 /etc/sudoers

 

 

ํ˜„์žฌ ์‚ฌ์šฉ์ž๋ฅผ dummy๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค. 

janger@desktop:~$ su dummy
Password:
$

 

sudo ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ ๋‚˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค. 

$ sudo whoami
[sudo] password for dummy:
root

 

 

๋งŒ์•ฝ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์„ ๋ฌด์‹œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์„ค์ • ํŒŒ์ผ(/etc/sudoers)์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•œ๋‹ค. 

dummy   ALL=(ALL:ALL) NOPASSWD:ALL

 

$ sudo whoami
root

 

 

 

2. sudo ๊ทธ๋ฃน์— ์‚ฌ์šฉ์ž ์ถ”๊ฐ€

 

์‚ฌ์šฉ์ž๋ฅผ sudo ๊ทธ๋ฃน์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ sudo ๊ถŒํ•œ์„ ์ฃผ๋Š” ๋ฐฉ๋ฒ•๋„ ์กด์žฌํ•œ๋‹ค. 

์•„๋ž˜๋Š” ๊ธฐ๋ณธ ์•„์ด๋””์ธ "janger"๊ฐ€ sudo ๊ทธ๋ฃน์— ์†ํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

janger@desktop:~$ cat /etc/group
...
sudo:x:27:janger
...

 

 

"usermod -aG sudo ์‚ฌ์šฉ์ž๋ช…"์„ ์ž…๋ ฅํ•˜์—ฌ ํŠน์ • ์‚ฌ์šฉ์ž๋ฅผ sudo ๊ทธ๋ฃน์— ์ถ”๊ฐ€ํ•œ๋‹ค. 

janger@desktop:~$ sudo usermod -aG sudo dummy

 

janger@desktop:~$ cat /etc/group
...
sudo:x:27:janger,dummy
...

 

 

๋‹ค์‹œ ํ˜„์žฌ ์‚ฌ์šฉ์ž๋ฅผ dummy๋กœ ๋ณ€๊ฒฝํ•ด sudo ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

janger@desktop:~$ su dummy
Password:
$ sudo whoami
root

 

"deluser ์‚ฌ์šฉ์ž๋ช… sudo"๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ์‚ฌ์šฉ์ž๋ฅผ sudo ๊ทธ๋ฃน์—์„œ ์ œ์™ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

janger@desktop:~$ sudo deluser dummy sudo
Removing user `dummy' from group `sudo' ...
Done.
janger@desktop:~$ cat /etc/group
...
sudo:x:27:janger
...

 

 

 

์ฐธ๊ณ : 

https://heshandharmasena.medium.com/explain-sudoers-file-configuration-in-linux-1fe00f4d6159

 

Sudoers file Configuration in Linux

The sudoers file is a file Linux administrators use to allocate system rights to system users. Read more…

heshandharmasena.medium.com

 

 

728x90