샌드박스 가상 머신 환경에는 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
그리고 다음 줄을 추가하세요
기본값: 사용자 이름 ! 인증
이렇게 하면 특정 사용자에 대한 비밀번호 프롬프트가 완전히 비활성화됩니다.