ํน์ ์ฌ์ฉ์์๊ฒ 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