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.