sudo 스크립트 - 모범 사례?

sudo 스크립트 - 모범 사례?

일부 명령을 sudo로 실행해야 하는 스크립트가 있습니다. 나는 이미 그것을 보았다독단적스크립트 내에서 sudo를 실행하는 것은 나쁜 생각입니다. 전체 스크립트를 sudo로 실행하는 것이 더 좋습니다(그러면 편의를 위해 sudoer를 수정할 수 있습니다.여기에 명시된 바와 같이).

저도 생각해봤는데 딱히 이유를 못찾겠어요아니요스크립트에서 sudo 명령을 실행합니다. 스크립트와 해당 디렉토리가 모두 루트 소유이므로 순수하다고 가정하면 보안 관점에서 아무런 차이가 없습니다. (그럼에도 전체 스크립트를 sudo로 실행하는 것도 똑같이 위험합니다.) 여기서 뭔가 빠졌나요?

답변1

달리기는 sudo무엇을 기대해야 할지, 그것이 정말로 필요한지 알 수 없기 때문에 나쁜 생각입니다.

  • 비밀번호 프롬프트가 표시됩니까? 그렇다면 비밀번호는 누가 입력하는 걸까요? 기억하세요: 스크립트는 셸에서 사람에 의해 실행될 수도 있지만 시작 시 백그라운드에서, cron에 의해 또는 터미널을 사용할 수 없는 기타 상황에서 실행될 수도 있습니다.

  • 메시지가 표시되면 사용자가 비밀번호를 입력합니까? 개인적으로 저는 비밀번호를 묻는 스크립트를 즉시 중지합니다. 또한 스크립트가 많은 출력을 생성하는 경우 프롬프트가 표시되지 않을 수도 있습니다.

  • sudo사용 가능하고 구성되어 있나요 ? 현재 사용자가 실행할 수 있나요 sudo? 이러한 질문 중 하나에 대한 대답은 "아니요"일 수 있습니다. 이 경우 사용자가 스크립트에 필요한 권한을 제공하는 방법을 선택하도록 해야 합니다.

  • 슈퍼유저가 되어야 합니까? 아마도 스크립트에 루트 권한이 전혀 필요하지 않도록 시스템을 구성했을 수도 있습니다. 이 경우 루트 권한은 sudo완전히 불필요하고 아마도 매우 혼란스러울 것입니다.

제발필요한 권한과 해당 권한을 부여하는 방법을 결정하십시오.

당신이 루트이고 원한다면 다음을 실행하는 sudo것이 좋습니다.줄이다당신의 특권. 예를 들어 nobody:nogroup보안상의 이유로 루트가 소유한 파일을 열었다가 즉시 해당 파일로 전환할 수 있습니다 . 여전히 sudo작동하지 않거나 구성할 수 없는 문제가 남아 있습니다.

관련 정보