sudo가 루트 비밀번호를 요청하게하려면 어떻게합니까?


25

sudo권한이없는 일반 사용자로 실행 하면 루트 비밀번호가 아닌 내 비밀번호를 묻습니다. 편리하지만 종종 명령을 루트로 실행하기 위해 필요한 정보의 양이 줄어 듭니다. 어떻게하면 sudo사용자의 비밀번호 대신 루트 비밀번호를 물어볼 수 있습니까?

나는에 줄로 완료 /etc/sudoers되었다는 것을 알고 있지만 맨 페이지의 BNF 문법을 올바르게 구문 분석하여 정확히 무엇을 작성 해야하는지 알 수는 없습니다.


임의의 명령 노출에 대해 걱정할 필요가 없도록 루트가 아닌 사용자로 허용되는 명령을 제한하는 것이 좋습니다.
Slartibartfast

@ slartibartfast : 그러나 사전 승인 된 목록에없는 루트로 명령을 실행해야 할 때 어떻게됩니까?
David Z

답변:


25

확인 표시를 다시 설정할 수 있습니다.

에서 /etc/sudoers이 줄을 추가합니다 :

Defaults rootpw

sudo가 root 암호를 요구하게하여 rootpw 플래그를 켜십시오.


7
파일 visudo을 수동으로 편집하는 대신 항상 명령을 사용해야 /etc/sudoers합니다. visudo당신은 sudo를 액세스 할 수없는 상황이 발생하지 않도록 당신이 구문 오류를 만들 경우, 반드시 그것을 저장하기 전에 올바른지 확인하기 위해 파일을 확인합니다 ... askubuntu.com/a/81054/166411
콜린 D 베넷

5

rootpw깃발 을 켜야합니다 .


내가 말했듯이 맨 페이지에서 BNF 표기법을 통해 작업 할 수 없었습니다. 그래서이 /etc/sudoers플래그를 활성화하기 위해 어떤 줄을 삽입해야 합니까?
David Z

2
기본값 rootpw
Florian Diesch

@ 플로리안 : whaddya, 그것은 쉽다 :-) 답변으로 게시하면 체크 표시가 나타납니다.
David Z

3

나는이 질문이 오래되었다는 것을 알고 있지만이 사용 사례에서 찾은 가장 간결한 질문입니다 (사소한 비율이지만 사실이지만 올바른 시나리오에서 합법적이고 도움이됩니다).

이 질문에 대한 여러 답변을 포함하여 다양한 출처에서 모든 단계를 통합 한 후이 단계는 Ubuntu-Gnome 16.04 LTS에서 작동합니다.

  1. 루트 비밀번호 설정
    • 이것은 먼저하는 것이 중요 합니다 ! 표준 보안 구성으로 인해 우분투에는 ROOT 사용자의 암호가 자동으로 없습니다.
    • 이 작업을 먼저 수행하지 않으면 루트 권한에 액세스하지 못하게됩니다. 라이브 디스크로 부팅하고 하드 드라이브를 마운트하고 sudoers 파일을 편집하면이 문제를 해결할 수 있지만이를 피하는 것이 가장 좋습니다.
    • 터미널을 열고 다음을 입력하십시오. sudo passwd
    • 루트 사용자의 새 비밀번호를 설정하십시오.
  2. 루트 비밀번호를 요구하도록 SUDO 구성을 변경하십시오.
    • SUDO는 루트 권한을 요청하는 사용자가 필요합니다
    • 대신 "rootpw"플래그를 설정하면 SUDO에게 루트 사용자의 비밀번호를 요구하도록 지시합니다.
    • 터미널을 열고 다음을 입력하십시오. sudo visudo
    • "/ etc / sudoers"파일이 열립니다
    • 다른 "Defaults"줄 다음에 다음을 추가하십시오. Defaults rootpw
    • 저장하십시오 (나노라고 가정하면 기본값입니다. CTRL + O입니다)
    • 파일을 닫고 (CTRL + X) 터미널을 종료합니다
  3. 끝났습니다!

간단한 참고 사항-또한 루트 사용자가 그래픽 로그인에서 로그인하는 데 사용할 수 없어서 제외 방법을 찾고 싶었습니다. 분명히 루트 사용자는 기본적으로 제외되며 Gnome 그래픽 로그인을 통해 로그인하는 데 사용할 수 없습니다. 이는 매우 좋은 일입니다!


downvote를 되돌리려면 개선을 제안 할 수 있습니까?
SRDC

잘못되지 않은 것 같습니다.
Ruslan

1
아마도 다음과 같은 단순하고 작동하는 구성 때문일 수 root ALL=(ALL) ALL Defaults targetpw ALL ALL=(ALL) ALL 있습니다. 루트 암호를 알고있는 모든 사용자에 대해 루트 sudo를 허용합니다. 순전히 두 줄을 솔루션으로 변경 Defaults rootpw하면에서 잠금이 발생합니다 sudo. 또한 다음 sudoers과 같이 사용자를 추가해야합니다 . myusername ALL=(ALL) ALL또는 그룹에 유사한 권한을 부여한 다음 myusername해당 그룹에 추가하십시오 .
Paul Parker

1

대상 암호가 필요한 공통 구성 (원하는 것이 아님) :

Defaults targetpw
ALL ALL=(ALL) ALL

두 번째 줄은 "모든 명령을 실행할 때 모든 호스트의 모든 사용자가 모든 사용자를 가장 할 수 있습니다"와 같이 크게 읽습니다. 그리고 Defaults targetpw그들이 가장하는 사용자의 암호를 알아야한다는 것을 의미합니다.

이 간단한 구성을 순진하게 변경하여 다음을 수행하십시오.

Defaults rootpw

다른 사용자로 명령을 실행할 수있는 권한을 가진 사용자 나 그룹을 떠나지 않습니다.

하나의 작업 가능성은 다음과 같습니다.

Defaults rootpw
myuser ALL=(ALL) ALL

일반 영어에서는 myuser이제 루트 암호를 알고있는 한 모든 호스트에서 모든 사용자로 모든 명령을 실행할 수 있습니다.

또 다른 작업 가능성은 다음과 같습니다.

Defaults rootpw
%sudousers ALL=(ALL) ALL

sudousers루트 암호를 알고 있는 한 그룹 의 모든 구성원은 모든 호스트에서 모든 사용자로 모든 명령을 실행할 수 있습니다. myusersudo 명령을 실행 하려면 sudousers보조 그룹에 추가해야합니다.

su
usermod -a -G sudousers myuser
exit

좋은 설명입니다. 내가 게시 한 단계별보다 자세한 내용은 (우분투 기본값을 기반으로 작동했습니다).
SRDC

0

sudo를 끄고 사용할 수 있습니다 su -c.


비밀번호를 실행할 때마다 비밀번호를 입력해야하므로 불편합니다. 여기서 유스 케이스는 여러 명령을 루트로 빠르게 실행해야합니다.
David Z

-1

사용

수도

원하는만큼 많은 명령을 연속적으로 실행할 수 있습니다.


2
좋은 생각이지만 sudo루트 암호를 묻도록 변경 하지 않으면 루트가 아닌 하나의 암호 만 제시하여 누군가가 루트 액세스 권한을 얻을 수 있습니다. 따라서 실제로 내 질문을 유발 한 보안 문제를 해결하지 못합니다.
David Z

sudo의 용량을 사용하여 사용자의 액세스를 제한하는 대신 루트 암호를 여러 사용자에게 노출하고 있습니다. 또한 루트에서 비밀번호를 제거하여 서버 보안 기능을 제거하고 있습니다.
BillThor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.