사용자가 비밀번호 없이 sudo를 사용할 수 있도록 허용

사용자가 비밀번호 없이 sudo를 사용할 수 있도록 허용

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

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

답변1

~에서만수돌:

   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.

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

ray ALL= NOPASSWD: ALL

답변2

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

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

$ visudo

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

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

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

관련 정보