리눅스에서 암호없는`sudo`를 설정하는 방법?


156

sudoRHEL (Fedora, CentOS 등) 또는 Ubuntu 배포에서 암호없는 액세스를 어떻게 설정할 수 있습니까? (이것이 배포판에서 동일하다면 더 좋습니다!)

설정 : 무단 액세스를 염려하지 않는 개인 및 / 또는 실험실 / 훈련 장비 .


1
@Richipal의 대답은 최소한의 노력으로 가장 잘 작동하는 actullay입니다. sudoers 규칙이 역순으로 적용되는 것 같습니다.
a1an

2
@ a1an 규칙은 sudoers 파일에 나열된 것과 동일한 순서로 적용되며, 적용되면 서로 재정의됩니다. 따라서 규칙을 전혀 변경하지 않으려면 마지막에 적용하여 재정의 할 수 없도록 파일 끝쪽에 규칙을 적용하십시오.
rsjethani

답변:


173

medina의 논평 덕분에 편집 하십시오 : 맨 페이지에 따르면, 당신은 쓸 수 있어야합니다

ALL            ALL = (ALL) NOPASSWD: ALL

모든 사용자가 암호없이 모든 명령을 실행할 수 있도록합니다.


참고로 이전 답변을 남겨 두겠습니다.

양식의 줄을 추가하면

%wheel         ALL = (ALL) NOPASSWD: ALL

/etc/sudoers합니다 (사용 visudo물론, 명령),이 그룹의 모든 사람이하게됩니다 wheel암호를 제공하지 않고 임의의 명령을 실행합니다. 따라서 가장 좋은 해결책은 모든 사용자를 특정 그룹에 배치하고 그와 같은 줄을 넣는 것입니다. sudoers분명히 wheel사용하는 실제 그룹으로 바꿔야 합니다.

또는 사용자 별칭을 정의 할 수 있습니다.

User_Alias     EVERYONE = user1, user2, user3, ...

그리고 그것을 사용하십시오 :

EVERYONE       ALL = (ALL) NOPASSWD: ALL

/etc/sudoers사용자를 추가하거나 제거 할 때마다 업데이트해야합니다 .


2
모든 사용자를 지정 하지 않고 ALL작동하지 *않습니까? 의 예를 참조하십시오 sudoers(5).
medina

1
@medina : 그래서, 나는 맨 페이지를 읽을 때 그것을 놓쳤다. 편집하겠습니다.
David Z

6
Ubuntu에서 /etc/sudoers.d에 파일을 생성하고이 항목을 파일에 넣으면 sudoers를 편집하지 않아도됩니다.
Xetius

1
CentOS7에서이 항목은 기본적으로 주석 처리되어 있습니다.
killjoy

1
복사 / 붙여 넣기를 통해 centOS에서 사용하기 만했지만 구성을 직접 입력하려는 모든 시도에 실패했습니다. 그러나 결과는 공백을 제외하고는 동일하게 보입니다 ...
MUY Belgium

95

위의 솔루션을 사용해 보았습니다. 다음 해결책이 나를 위해 일했습니다 / etc / sudoers 파일을 편집하고 다음 줄을 추가하십시오

username ALL=(ALL) NOPASSWD: ALL

키는 말한다 마지막 행 다음에 추가하는 것입니다

#includedir /etc/sudoers.d

1
//, 이것은 특정 응용 프로그램이 시스템 사용자 Richipal에 대한 자체 규칙을 추가 할 때 더 나은 방법으로 보입니다. sudoers.d에 대한 추가 정보 : sudo.ws/man/1.8.13/sudoers.man.html
Nathan Basanese

1
//, Gearoid Murphy의 진단 중 일부를 답에 기꺼이 추가 하시겠습니까?
Nathan Basanese

1
이 설명에 감사드립니다. CentOS 7에서는 #includedir /etc/sudoers.d 줄 다음에 추가하면 CentOS 6에서 파일의

3
% wheel의 NOPASSWD를 무시하는 문제 /etc/sudoers.d/USERNAME는 그룹의 NOPASSWD 권한 을 무시하여 발생하는 것으로 보입니다 . NOPASSWD를 적용 /etc/sudoers.d/USERNAME하면 문제가 해결됩니다.
eel ghEEz

1
포함이 중요한 후에 이것에 큰 업
Theodore Howell

27

이 페이지의 모든 답변을 시도했지만 유용한 결과는 없었습니다. 결국 나는 그것을 알아 냈습니다.이 명령을 사용하여 sudo 권한을 나열하십시오.

sudo -l

이것은 당신에게 다음과 같은 결과를 줄 것입니다 :

User gmurphy may run the following commands on this host:
    (root) NOPASSWD: ALL
    (ALL) ALL

루트 권한으로 구성되었지만 여전히 암호 ( "(ALL) ALL")를 예상하는 sudo 규칙과 일치하는 그룹 (관리자)의 일부임을 나타냅니다. 이것은 sudo가 나를 자극하도록 강요했다. 문제의 규칙은 관리자였습니다.

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

일단 이것을 언급하면 ​​암호없이 sudo 할 수있었습니다. 나는 이것이 다른 누군가에게 사용되기를 바랍니다.


1
아, 고마워요! 이것은 나를 미치게 만들었습니다 ... 제 경우에는 제 사용자가 "관리자"뿐만 아니라 "스도"그룹의 일원이었고 각 사용자의 권한이 귀하의 경우와 같이 일치하지 않았습니다. . 이제이 물건이 작동합니다! :)
neezer

14
라인 아웃을 주석 처리하는 것은 무딘 도구입니다. 당신은 듣고 관심이있을 수에 따라 "sudo는이의 sudoers 파일을 읽고 위에서 아래로 순서대로 사용 권한을 적용 파일의 마지막 라인은 이전의 갈등을 덮어 쓰게됩니다 그래서." ubuntuforums.org/showthread.php?t=1132821 - 그리고 이것은 나를 위해 일했습니다.
David J.


6

sudoers 파일을 건드리지 않고 다른 방법이 있습니다.

  • /etc/pam.d/su아래 줄을 편집 하고 주석을 해제하십시오.

    auth           sufficient      pam_wheel.so trust use_uid
    
  • 사용자를 wheel그룹에 추가하십시오 .


2

sudoers 파일을 건드리지 않고 다른 방법이 있습니다.

  • /etc/pam.d/sudo아래 줄을 편집 하고 추가하십시오.

    충분한 pam_wheel.so 신뢰 use_uid
  • 사용자를 wheel그룹에 추가하십시오 .

"sudo"가 아닌 "su"와 관련하여 원래 답변에 대한 "topdog"및 "Daniel Serodio"를 제안합니다. 나는 그것을 참조로 사용했고 그들의 게시물을 뻔뻔스럽게 복사하고 수정했습니다.


1
나는 그대로 복사하는 대신 그것들을 신용하는 것이 더 나을 것이지만, 당신의 대답이 정확히 어떻게 다른지 명확하게 생각합니다. 나는 이것이 암호없는 su대신 / 암호없는 것을 허용한다고 가정 sudo합니까? 다니엘의 추가는 단지 형식화입니다.
mwfearnley
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.