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


16

샌드 박스 VM 환경에서 방화벽이 있고 로컬 시스템 외부에서 액세스 할 수없는 Ubuntu Linux 설정이 있습니다. 따라서 해당 VM에서 관리자에게 sudo로 아무것도 실행하고 암호가 필요하지 않은 기능을 설정하고 싶습니다.

이것이 안전하지 않다는 것을 알고 있지만이 VM은 항상 작동하지 않으며 개인 암호를 실행해야합니다. 이것이 "안전하지"않더라도 원하는 기능을 얻는 방법이 있습니까?

답변:


23

에서 남자의 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.

다른 태그는 ALL사용자 ray가 암호없이 모든 호스트에서 명령을 실행할 수 있도록하기위한 것입니다.

ray ALL= NOPASSWD: ALL

2
이 답변에서 설명하는 구성 파일은 /etc/sudoers입니다. 이것을 일반 구성 파일처럼 편집하지 말고 대신 visudo명령을 루트로 사용해야합니다 .
paulhauner

1

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

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

$ visudo

다음 줄을 추가하십시오

기본값 : username ! authenticate

특정 사용자에 대한 암호 프롬프트가 완전히 비활성화됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.