sudo가 필요하지 않은 명령과 sudo를 강제로 사용하도록 할 수 있나요?

sudo가 필요하지 않은 명령과 sudo를 강제로 사용하도록 할 수 있나요?

저는 임베디드 Linux 배포판을 자주 사용하기 때문에 때로는 minicom시스템에 연결할 터미널이 하나 또는 여러 개 있을 때도 있습니다. 잘못된 콘솔을 두 번 입력한 reboot다음 내장 장치 대신 호스트 OS를 재부팅했습니다. 내 잘못인 걸 알며 좀 더 조심했어야 했는데, sudo원치 않는 명령을 강제하는 것이 가능한지 궁금합니다 sudo. reboot콘솔에 입력할 때 비밀번호를 입력하고 싶습니다 .

답변1

명령이 포함된 디렉토리 /usr/local/bin앞에 있는 경우 원하는 모든 종류의 확인 질문을 할 수 있는 스크립트를 생성하면 됩니다 .PATHreboot/usr/local/bin/reboot

예를 들어 스크립트는 다음과 같습니다.

#!/bin/sh
echo "Please enter the short hostname of the system you wish to reboot:"
read REBOOTHOST
if [ "$REBOOTHOST" = "$(hostname -s)" ]
then
    # invoke the real reboot command
    exec /sbin/reboot "$@"
else
    echo "Sorry, you're in the wrong system. This is $(hostname -s)."
    echo "Please be more careful!"
fi

암호를 묻는 대신(지금쯤에는 실제로 생각하지 않고도 척추 반사를 통해 할 수 있음) 스크립트는 재부팅하려는 시스템의 호스트 이름을 묻고 다음과 같은 경우 작업 수행을 거부합니다. 호스트 이름 입력 부정확하다. 그러면 의도와 명령을 입력한 실제 호스트 간의 교차 확인이 강제됩니다.

보다 엄격한 구현을 위해 데비안을 살펴보는 것이 좋습니다.molly-guard: 이러한 검사를 쉽게 구현할 수 있는 프레임워크는 물론, 다양한 상황에 맞게 미리 만들어진 여러 검사를 제공합니다.

관련 정보