특정 사용자로 비밀번호없는 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.