Sudo을 암호없이 사용하는 다른 방법

가장 고전적인 방법중에 하나가 /etc/sudoers을 건들이는 방법을 선택을 합니다. 하지만 가끔 초보자분들중
적용이 안된다는 분도 계시고 저처럼 그 파일을 건들이는 것에 대한 아주 약간의 거부감(??)을 가지고있는
분이라면 이런 방법도 있습니다. 아주 간단합니다. 파일을 만들어 한줄만 넣어주면 됩니다.

바로 /etc/sudoers.d/에 sudoers-custom 이라는 파일을 만들어서 정의을 해주면 됩니다… 즉 그 파일안에

계정이름 ALL=(ALL:ALL) NOPASSWD: ALL

이런식으로 적용을 하면 됩니다. 당연히 root가 아니라면 sudo 권한을 가지고 있어야겠죠…

데비안에서 이런 방법으로 정의해서 사용을 하는데 데비안계열이라 우분투에서도 잘 적용이됩니다.

그냥 아주 간단한 팁이지만 적용이 안될때 이 방법을 사용을 하시면 잘됩니다…그냥 재로그인이
그런것없이 적용이 됩니당…

초행자분들에게 작게나마 도움이나마 되셨으면 좋겠네요…

다들 아시는 팁이겠지만 모르는 분들을 위해서… 저는 다시 자러갑니다…!!! 후다닥…

제가 sudo/su 암호없이 인증하는 pam 모듈을 만든 이유는,
sudo를 사용하도록 하는 것이 보안상의 이유인데, 암호를 제거하면, 보안상의 문제가 발생할 소지가 많아지죠.
그래서, sudoers에서 NOWPASSWD를 사용하는게 꺼림칙했던 것입니다.
암호를 없애는 대신 제한을 두고 싶었고, 그 제한은 바로 tty로 로그인 한 계정에 한하여, 암호없이 인증하는 것이었습니다.
sudoers에는 requrietty라는 것이 있습니다. 이게 그러한 의미를 지니고 있습니다
하지만, 이것은 sudo를 실행하는 것에 대한 제한이지, 암호를 입력하는 것에 대한 제한이 아닙니다.

Defaults requiretty
Defaults:특정사용자 !requiretty
%sudo ALL=(ALL:ALL) ALL
특정사용자 ALL=NOPASSWD: ALL

위와 같이 sudoers를 설정한 경우, sudo를 실행하려면 특정사용자를 제외하고는 tty로 로그인하였을 경우에만 sudo를 실행할 수 있고,
특정사용자는 암호를 입력하지 않아도 되게 됩니다.

제가 원한 것은 로컬로 로그인한 경우에는 sudo에서 암호없이 인증가능하고, 원격 접속이거나, 데몬의 경우는 sudo는 실행가능 하되, 암호를 입력받게 하는 것이었고,
그런 설정은 sudoers에서는 할 수 없더군요.
참고로 sudoers에서 적어주는 머신이름에 localhost 등을 적어주는 것은 실제로 머신이름을 검사하는 것이 아니라서 의미가 없더군요.

아… 그렇군요… 하나 배워가네요… 그렇게 저도 설정을 해야겠군요…
좋은 팁 감사합니다… 잘 배워갑니다…

즐거운 하루되세요…