안녕하세요. 오늘은 linux의 그룹 파일에 대해 간단하게 알아보겠습니다. 그리고 sudo도 다시 한 번 보도록 하겠습니다.

 


 먼저 root가 아닌 유저로, sudo su라는 것을 쳐 보면, 이렇게 나오는 경우가 있습니다.

 

 ?는 sudoers 설정 파일에 없습니다. 이 시도를 보고합니다. 이런 메세지가 뜨는데요. 이는, 해당 유저가 sudo 권한이 없기 때문입니다. 그러면 어떻게 해야 할까요? 해당 설정 파일에 유저를 추가하거나, 그 파일에서 sudo 권한이 적용되어 있는 그룹에 해당 유저를 추가하면 됩니다.

 

 저는 두 번째 방법을 이용하겠습니다.

 

 

 adduser user group은 user를 group에 추가합니다. 이 명령어를 추가하면 /etc/group 파일이 어떻게 바뀌는지도 보겠습니다.

 


 그룹을 저장하고 있는 파일을 보겠습니다.

 

 그러면 한 행당 3개의 :가 있음을 알 수 있습니다. 제 시스템에서 root의 그룹 번호는 0임을 알 수 있습니다. 상당히 중요한 수인 듯 싶습니다. 이 수는 메모해 두는 게 좋겠습니다. 이것을 기준으로 4개의 값이 있는데요. 여기서 저는 1, 3, 4번째 필드만 보겠습니다. 각각 그룹 이름, 그룹 번호, 속해있는 유저들을 의미합니다. adm은 syslog와 cho가 ,을 구분자로 구분되어 있는데요. 이 둘이 해당 그룹에 속해 있다는 것을 의미합니다.

 

 이제 문제의 sudoers 파일을 열어보겠습니다.

 

 

그러면 주석으로 된 부분이 보이는데요. 이 중에서, 저는 sudo가 필요합니다. 이것과 관련된 것은 sudo임을 알 수 있습니다.

 

 

 adduser cho sudo를 입력해 보겠습니다. 그리고 group 파일을 열어보겠습니다.

 

 

 그러면, sudo 그룹에 cho가 추가되었음을 알 수 있습니다.

 


 cho로 다시 로그인을 해서, sudo su를 해 보면, 아까와 같이 sudoers 관련 오류가 나지 않고 루트로 바뀌었음을 알 수 있습니다.

 

 

 이제, sudo 그룹에서 cho를 제거해 보겠습니다.

 

 

 그러면 27: 뒤에 아무것도 없음을 알 수 있습니다.

 

 

 cho가 속해있는 그룹을 보면 문제의 그룹이 없다는 것을 알 수 있습니다. root와 sudo 그룹이 sudo 권한을 가지고 있다면, cho는 문제의 명령을 수행하지 못하게 될 겁니다.