sudo로 명령을 입력하다보면 암호를 물어보는데…
이게 은근 짜증날 경우가 있습니다.
그래서, 본래 암호는 그대로 두고, sudo 실행시 암호를 묻지 않게 하는 방법을 알려드리려 합니다.
sudo cp /etc/sudoers /etc/sudoers.local
sudo visudo -f /etc/sudoers.local
편집기능을 통해서
사용자아이디 ALL=NOPASSWD: ALL
이렇게 추가해주시면 됩니다.
조심하세요… sudoers를 잘못건들면, sudo가 불가능해져서, 루트로 전환이 안될 수 있습니다.
그런 경우에는, sudo를 사용하지 않아도 되는 루트계정으로 접근해서 고쳐야 하기 때문에,
복구모드나, 라이브시디로 부팅하셔서 편집하셔야 합니다.
첫번째 ALL은 머신을 의미하는것으로, 모든 머신에서 접근한 사용자아이디를 대상으로 합니다.
NOPASSWD항목은 PASSWD나 EXEC등으로 바꿀 수 있습니다.
두번째 ALL은 실행대상으로 실행파일을 적게되는데, ALL이라고 하면 모든 실행파일에 대해 sudo 실행시 암호를 묻지 않게 됩니다.
myid mycom=NOPASSWD:/sbin/mount , /sbin/umount, PASSWD: /sbin/shutdown
이런식으로 적게되면 mycom의 myid가 sudo 실행시
mount,umount는 암호를 묻지 않게 됩니다.
PASSWD대신 NOEXEC로 적게되면, 실행권한은 있지만, 쉘로 빠져나가지 못하게 합니다.
이것은 보안상의 옵션이죠.
그런데, sudoers.local은 로컬머신에 대해서 자동으로, 로드됩니다.
sudoers.mycom이러면 mycom머신에 대해서 로드되겠지요.
%h는 호스트명에 대치됩니다.
myid %h= blahblah
이런 내용으로 /etc/sudoers.mycom 이런식으로 적을 수 있습니다.
sudoers 정의 형식도 다양하기 때문에, 자세한 내용은 man sudoers나,
웹검색을 이용하세요.
웹검색의 생활하는 Know How보다, 인터넷 정보과다 시대에 Know Where를 추구하는
좋은 자세라고 생각됩니다.