사용자가 비밀번호 없이 sudo를 사용하도록 허용

사용자가 비밀번호 없이 sudo를 사용하도록 허용

샌드박스 VM 환경에는 방화벽이 설정되어 있고 로컬 시스템 외부에서 액세스할 수 없는 Ubuntu Linux가 설정되어 있습니다. 따라서 해당 VM에서 관리자(내가 설정한)에게 비밀번호 없이 sudo를 사용하여 무엇이든 실행할 수 있는 기능을 제공하고 싶습니다.

이것이 안전하지 않다는 것을 알고 있지만 이 VM은 항상 켜져 있지 않으며 실행하려면 개인 비밀번호가 필요합니다. 따라서 이것이 "안전"하지 않더라도 원하는 기능을 얻을 수 있는 방법이 있습니까?

답변1

에서남자 sudoers:

   NOPASSWD and PASSWD

   By default, sudo requires that a user authenticate him or herself
   before running a command.  This behavior can be modified via the
   NOPASSWD tag.  Like a Runas_Spec, the NOPASSWD tag sets a default for
   the commands that follow it in the Cmnd_Spec_List.  Conversely, the
   PASSWD tag can be used to reverse things.  For example:

    ray  rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm

   would allow the user ray to run /bin/kill, /bin/ls, and /usr/bin/lprm
   as root on the machine rushmore without authenticating himself.

또 다른 태그는 ALLray 사용자가 비밀번호 없이 모든 호스트에서 명령을 실행할 수 있도록 허용하는 것입니다.

ray ALL= NOPASSWD: ALL

답변2

언급한 대로 시스템이 특정 보안 환경에서 실행되지 않는 한 암호 프롬프트를 비활성화하는 것은 좋지 않습니다.

가능한 해결책 중 하나는 NOPASSWD 옵션보다 기억하기 더 쉬운 이 한 줄짜리 솔루션입니다. 관리자권한 받아 실행해보세요

$ visudo

그리고 다음 줄을 추가하세요

기본값: 사용자 이름 !인증하다

이렇게 하면 특정 사용자에 대한 비밀번호 프롬프트가 완전히 비활성화됩니다.

관련 정보