차단 스크립트 sudo

차단 스크립트 sudo

나는 비밀번호를 입력하는 것을 좋아하지 않는다스도그래서 난 그걸 비활성화해

%sudo ALL=(ALL) NOPASSWD: ALL

이제 나쁜 부작용이 생겼습니다. 내가 실행하는 모든 쉘 스크립트는 자동으로 실행됩니다.스도나를 대표해.

가장 일반적인 사용 사례는 실험적인 항목을 ${HOME}/local에 설치하고 구성하는 것을 잊어버리는 것입니다.접두사.

질문- 스크립트에서 sudo에 대한 비대화형 호출을 차단하는 기본 방법이 있습니까? 존재하다아키텍처Linux, 좀 더 구체적으로 말씀해 주세요.

답변1

"스크립트된 sudo"와 "대화형 sudo"는 모순되지 않기 때문에 원하는 것을 할 수 없습니다. 터미널에서 sudo를 사용하여 스크립트를 실행할 수 있습니다. 터미널에서 완전히 자동화된 방식으로 명령을 실행할 수 있는 도구의 예로는 , script, , 등이 있습니다.expectscreentmux

sudo가 사용자가 "직접" 실행하고 있음을 어떻게든 감지할 수 있더라도(프로세스가 아닌 키보드 및 마우스와 같은 주변 장치와 상호 작용하기 때문에 그렇지 않음) 악성 스크립트로부터 사용자를 보호할 수는 없습니다. 예를 들어, 악성 스크립트는 귀하의 계정에 가짜 명령을 심어 다음에 이를 실행할 때 sudo귀하의 액세스 권한을 개별적으로 이용하는 래퍼를 호출할 수 있습니다.

어떤 경우든 보호하려는 위협은 특별히 관련이 없습니다.

승인 "아무런 말씀하시기 전에, 아니요. 내 컴퓨터를 내 모든 계정에 로그인된 상태로 두는 것보다 더 잘 압니다. 몇 분 동안 활동이 없으면 자동으로 내 동생의 계정으로 전환되도록 설정했습니다."

소셜 미디어 계정 도용과 같은 의심스러운 작업을 수행하지 않는 일부 소프트웨어를 신뢰하지 않는다면 해당 소프트웨어를 계정에서 실행하지 마십시오. 최소한 다른 계정(물론 sudoer는 아님)에서 실행하세요.GUI 액세스 불가. 더 나은 격리를 위해 가상 머신에서 실행하세요. (아직 완벽하지는 않습니다. 일반적인 맬웨어로부터 안전하지만 정부가 귀하를 표적으로 삼는 경우에는 반드시 그런 것은 아닙니다.)

답변2

또한자일스의 대답Can I block non-interactive sudo invocation?문제의 측면에 따라 상황의 특정 요소에 대한 해결 방법을 제안합니다.

sudo 비밀번호를 입력하는 것이 싫어서 비활성화했습니다.

그리고

이제 나쁜 부작용이 생겼습니다. 내가 실행하는 모든 쉘 스크립트는 나를 대신하여 자동으로 sudo를 수행할 수 있습니다.

만약에귀하의 상황은 일반적으로 sudo여러 가지 다른 명령을 실행하지만 암호를 묻지 않고 자동으로 sudo 스크립트를 실행하여 루트 수준에서 무슨 일이 일어나고 있음을 깨닫는 것입니다.할 수 있다:

  1. NOPASSWD 옵션 취소
  2. 타임스탬프 시간 초과를 인벤토리 이상으로 5분 연장
  3. 신뢰할 수 없는 스크립트를 실행하기 전에 sudo 타임스탬프를 종료합니다.

NOPASSWD이 옵션에 대해 sudoer를 편집하는 방법을 이미 알고 있습니다 .

연장하기 위해timestamp_timeoutsudoers 파일에서 매우 높은 값이나 음수 값으로 설정합니다. 이 매개변수에 대한 매뉴얼 페이지의 관련 조각:

타임스탬프 시간 초과

sudo가 비밀번호를 다시 요청하기 전까지 경과할 수 있는 시간(분)입니다.

기본값은 5입니다.

0보다 작은 값으로 설정하면 시스템이 다시 시작될 때까지 사용자의 타임스탬프가 만료되지 않습니다.

확실하지 않은 스크립트를 실행하려고 하면 다음을 실행하세요.sudo -k"킬" 타임스탬프:

-케이

명령 없이 사용하면 사용자의 캐시된 자격 증명이 무효화됩니다. 즉, 다음에 sudo를 실행할 때 비밀번호가 필요합니다.

sudo스크립트를 실행하고 sudo가 비밀번호를 묻는 메시지를 표시하면 해당 스크립트가 호출되었음을 알 수 있으며 필요한 경우 스크립트를 중단할 수 있습니다.

그런데 설정을 추천합니다프롬프트 매개변수 전달그 안에 텍스트를 포함합니다 sudo. 예:

Defaults passprompt="[sudo] password for %u:"

...따라서 sudo가 (다른 도구와는 달리) 비밀번호를 묻는 메시지를 표시하는 경우 이는 분명합니다.

관련 정보