특정 사용자로 비밀번호없는 sudo 사용


26

내 시스템에는 두 명의 사용자가 있습니다 : itsadok, 내 기본 사용자 및 elasticsearch, ElasticSearch를 실행하기위한 ulimit가 다른 사용자.

매번 비밀번호를 묻지 않고 보조 사용자로 물건을 실행할 수 있기를 원합니다.

나는 다음 줄을 추가했다 /etc/sudoers:

itsadok ALL=(elasticsearch:elasticsearch) NOPASSWD: ALL

내가 이해하는 방식으로 모든 호스트의 사용자 itsadok이 암호없이 (사용자 또는 그룹) elasticsearch로 명령을 실행할 수 있어야합니다. 그러나 같은 것을 시도

itsadok@dev001$ sudo -u elasticsearch ls

암호를 묻는 메시지가 나타납니다. 기계를 다시 시작해도 도움이되지 않았습니다.

내가 무엇을 잘못하고 있지?

업데이트 :

우리는 줄의 순서 sudoers가 중요 하다는 것을 알았습니다. 올바른 위치처럼 들리는 "사용자 권한 사양"에 선을 배치했지만 %admin나중에 오는 그룹 의 선 이 설정을 재정의하고있었습니다.

sudoers 파일의 끝에 같은 줄을두면 문제가 해결되었습니다.

답변:


12

주석에서 수정 된 답변 : 아래 #includedir에 지시문을 배치하면 무시됩니다. sudo또는 admin그룹 정의 옆에있는 행을 이동 하거나의 별도 파일에 배치하십시오 /etc/sudoers.d/.


작동하지 않았다. 또한 파일에는 이미 root ALL=(ALL:ALL) ALL콜론 주위에 공백이 없으므로 제대로 보이지 않습니다. 안전을 위해, 나는 단지 시도했다 (elasticsearch). 작동하지 않습니다.
itsadok

당신은 맞습니다, 적어도 12.10에서 공백없이 작동합니다. 어떤 우분투를 사용하고 있으며 정확하게이 sudoers줄을 어디에 놓았습니까? 오래된 시스템에서 선을 먼저 놓은 경우 #includedir무시 되었다는 희미한 기억이 있습니다. 파일의 끝에있는 경우 포함 된 파일 위에 삽입하십시오.
Tuminoid

1
귀하의 의견은 나를 올바른 길로 설정했습니다. 이후 설정은 이전 설정보다 우선합니다.
itsadok 2012 년

16

이 단계를 따르세요:

  1. sudoers 파일 편집 (/etc/sudoers.d/file_name에있을 수 있음)
sudo visudo -f /etc/sudoers
  1. 파일 끝에 줄 추가
usernameusedforlogin ALL=(ALL) NOPASSWD:ALL
  1. 파일을 저장
esc :wq!

이를 통해 사용자는 비밀번호없이 모든 호스트에서 모든 명령을 모든 사용자로 실행할 수 있지만 원래 질문의 일부인 그룹 권한은 부여하지 않습니다. 일반적으로 이것은 사용자에게 매우 광범위한 권한을 부여 할 때 좋지 않은 조언입니다.
d4nyll
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.