[Linux] Sudo
- Linux
- 2021. 3. 13.
이번 글에서는 Linux 의 Sudo 명령어에 대해 알아보겠습니다.
1. Sudo
linux 에서는 일반 user 도.. root 유저만 사용 가능한 명령어를.. 실행할 수 있는 권한을 부여받을 수 있습니다.
예를 들어 일반 user 가 'useradd' 명령어를 사용할 수 있는 권한을 부여받은 경우..
'sudo' 명령어와 함께 'useradd' 명령어를 다음과 같이 사용할 수 있습니다.
sudo useradd test
useradd 명령어는 기본적으로 root 유저만 사용할 수 있는 명령어입니다.
1-1) sudo user
위와 같이 root 유저의 접근권한을 부여받은 user 를 'sudo user' 라고 하는데.
'sudo user' 를 등록 및 수정하기 위해선 /etc/sudoers 파일을 수정해야 합니다.
이때 주의점으로는 /etc/sudoers 파일은 vi 명령어가 아닌 visudo 명령어를 사용해 편집해야 합니다.
1-2) add sudo user & group
sudo user 와 group 을 추가하는 방법은 다음과 같습니다.
예를 들어 test 라는 user 와 wheel 이라는 group 에 모든 root 권한 명령어 사용 권한을 부여하고 싶은 경우
visudo 명령어를 이용해 /etc/sudoers 파일을 열어
visudo
다음과 같이 입력한 뒤 저장합니다.
test ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
group 은 group 이름 앞에 % 를 붙여줍니다.
그 결과.. sudo 권한을 부여받기 전에 접근 권한이 없던 useradd 명령어를
마치 root 유저처럼.. 사용할 수 있는 것을 확인할 수 있습니다.
sudo useradd minho
동일하게 wheel 이라는 그룹을 부여받은 user 도 정상적으로 useradd 명령어를 사용할 수 있습니다.
1-3) add sudo user & group (no password)
이때 sudo 권한을 부여받았더라도.. user 가 해당 명령어들을 실행할 때 마다 password 를 입력해야 하는데
password 입력없이 실행하기 위해선 /etc/sudoers 파일에 다음과 같이 입력한 뒤 저장합니다.
test ALL=(ALL) NOPASSWD:ALL
%wheel ALL=(ALL) NOPASSWD:ALL
그 결과 다음과 같이 sudo 명령어로 root 권한 명령어들을 실행할 때 더이상 password 를 입력하지 않아도 됩니다.
1-4) add sudo user & group (restricted way)
물론, root 권한의 모든 명령어가 아닌.. 특정 명령어들만 사용하도록 제한할 수 도 있습니다.
이때는 /etc/sudoers 파일에 (ALL) 이 아닌 지정하고 싶은 명령어들의 위치를 작성하면 되는데
대부분의 명령어들은 /usr/sbin 위치에 path 가 있으므로.. 이곳에서 원하는 명령어를 찾아 작성하면 됩니다.
cd /usr/sbin
1-5) check given rights
특정 사용자가 부여받은 sudo 권한에는 어떠한 것들이 있는지.. 확인하기 위해선 'sudo -l' 명령어를 사용합니다.
sudo -l
이때 만약 sudo 에 등록되어 있지 않은 user 는 다음과 같이 sudo 를 실행할 수 없다고 나오며
sudo 에 등록되어 있는 사용자는 다음과 같이 부여받은 sudo 권한 목록을 확인할 수 있습니다.
'Linux' 카테고리의 다른 글
[Linux] Tar (0) | 2021.03.13 |
---|---|
[Linux] Gzip (0) | 2021.03.13 |
[Linux] User & Group (2) (0) | 2021.03.13 |
[Linux] User & Group (1) (0) | 2021.03.13 |
[Linux] Switching User (SU) (0) | 2021.03.10 |