앱을 설치한다던지, 데스크탑 용도로 ubuntu 를 사용하는 경우, sudo 명령어를 종종 사용하는데, 그때마다 패스워드를 입력해야 하는 것은 번거로운 일입니다. 물론 서버이거나 보안이 필요한 PC 인 경우는 사용하지 말아야 도움이 되겠지요?
(하지만 생각해보면 sudo 명령어를 쓴다는 것은 이미 로그인을 한 상태라는 것;;;)
조심해야 합니다!! 해당 파일을 잘못 수정하는 경우, root 권한을 아예 사용하지 못하여 업데이트 등을 사용할 수 없을 수 있습니다. 수정에 대한 책임은 각자.....
자 시작해 봅시다..
일단 vi 를 자주 사용해보았다고 한다면 아래 명령어를 사용합니다.
$ sudo visudo
vi를 사용하는 것보다 GUI text editor 에 더 익숙하다면 자신이 잘 사용하는 editor 를 사용하여 수정을 합니다.
위 visudo 를 실행하면 /etc/sudoers 라는 파일을 수정하게 되는 겁니다.
$ sudo gedit /etc/sudoers
위와 같이 적당한 editor 를 사용하는 것도 나쁘지 않은 방법입니다.
파일을 열면 아래와 비슷한 구문이 보일겁니다.
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
해당 부분에서 가장 마지막에 아래와 같은 내용을 추가합니다.
# Allow member without password
dante2k ALL=(ALL) NOPASSWD: ALL
제가 사용하는 계정은 dante2k 이고 해당 사용자가 sudo 를 사용하는 경우 패스워드 입력을 받지 않겠다는 설정입니다.
주의!! 위의 내용에서 자신의 계정만 다르게 작성하여야 합니다. 위에도 말했던 것처럼 잘못입력하는 순간 sudo 명령어는 영영 사용하지 못하는 경우가 발생합니다.
다른 방법이 하나 있습니다.
/etc/sudoers.d/ 폴더에 위 추가내용을 개별 파일로 작성해 추가하는 방법입니다.
예를 들어, dante2k 라는 파일을 /etc/sudoer.d/ 폴더에 생성하는데 내용은 위의 추가 부분에 해당하는 내용을 기술합니다.
$ sudo echo "dante2k ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/dante2k
위의 명령어를 터미널에서 실행하면 /etc/sudoers.d/ 폴더 밑에 dante2k 라는 파일이 생성되고, "" 안의 내용이 들어갑니다.
이렇게 하면 위에서 /etc/sudoers 파일을 수정한 것과 동일한 설정을 하는 것입니다.
둘중에서 자신이 원하는 방법 한개를 선택하여 사용하시면 됩니다.
이상으로 패스워드 없이 sudo 명령어를 사용하는 방법에 대해서 알아보았습니다.