본문 바로가기
[Linux]

sudoers, sudoers.d/ 차이점

by SAMSUNG Metaverse-Cloud 2024. 10. 22.
728x90

리눅스 일반 사용자가 관리자의 권한을 얻기 위해서는 sudo 권한이 필요하다. 

sudo 명령은 허용된 사용자한테 관리자의 권한으로 명령어를 사용할 수 있게 해준다.

 

이 권한을 주기 위해서는 sudoers 파일에 sudo 권한을 추가해 줘야 한다.

/etc/sudoers 이 파일은 읽기 전용(440)으로 되어있다. 해당 파일이 기본적인 sudo 파일이다.

해당 파일을 수정하기 위해서는 visudo 명령어를 쓰거나 sudoers 파일에 수정권한을 부여하여 관리자 권한을 수정할 수 있다.

하지만 가급적으로 sudoers 파일을 건드리는것을 권장하지는 않는다. 해당 파일이 손상이 되면 시스템 전체 sudo 기능에 문제가 생기기 때문이다.

그렇기에 /etc/sudoers.d 파일을 수정해야 한다.  sudoers는 sudoers를 포함하고 있다.

그러므로 sudoers.d에서 sudo 권한을 추가한다면 자동으로 권한이 추가된다.

 

또한 sudoers.d 에서 파일을 수정하다가 파일이 손상되더라도 해당 사용자에 대한 sudo 권한만 손상되지 전체 sudo 기능에는 영향이 없다.

그렇다면 sudoers.d에서 sudo 권한을 주려면 어떻게 해야할까 ?

 

echo "$USER_NAME ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/$USER_NAME > /dev/null

sudo chmod 440 /etc/sudoers.d/$USER_NAME

위와 같이 입력하면 된다. 

tee 명령어를 통해서 echo 구문에 내가 sudo 권한을 주려고 하는 user name을 적은 후 sudo 권한을 주고 파이프 라인을 생성하여 sudoers.d의 하위에 유저 이름과 같은 파일을 생성해 준다.

그리고 440 권한을 주어 읽기 전용으로 변경한다.

이렇게 sudoer와 다르게 sudoers.d에서는 각 사용자마다 sudo 권한이 생기며 파일이 생기기 때문에 해당 파일이 망가진다 하더라도 시스템의 sudo 권한은 유지된다. 

728x90

'[Linux]' 카테고리의 다른 글

[Linux] su 와 su - 의 차이점  (0) 2024.10.28
인프라 무중단 배포 방식  (0) 2024.10.24
다수의 Linux user 비밀번호 설정 및 변경 방법  (1) 2024.10.22
SMB / NFS / CIFS란 무엇인가?  (23) 2023.11.20
DB 접근 제어 방식  (22) 2023.09.25