sudoers
한 번 실행되고 완료되면 자동으로 삭제되는 프로그램이 있습니다 . ssh
세션에서 이 함수를 호출하는 스크립트가 있습니다 . 실행하려는 명령을 사용할 수 없을 때 원합니다 sudoers
.
SUDO_ASKPASS
비밀번호를 입력하라는 메시지가 표시되는 작업 실행을 건너뛸 수 있도록 해당 기능을 재정의하는 방법이 있습니까 ?
내 최선의 시도는 다음과 같습니다.
SUDO_ASKPASS=/bin/false sudo -A /opt/sbin/mycommand
하지만 그게 날 떠났어
sudo: pam_authenticate: Conversation error
sudo
기본적으로 내가 실행하는 명령이 sudoers에 있는지 여부에 관계없이 비밀번호를 묻는 메시지를 표시하고 싶지 않습니다 .
-t
나의 게으른 수정은 명령줄에서 그것을 제거 ssh
하고 실제로 터미널을 사용할 필요가 없기를 바라는 것입니다.
또 다른 해결책은 내 스크립트를 건배 sudoers
하고 ASCII 엄지손가락 또는 유용한 것을 인쇄하도록 하는 것입니다.
이 문제를 해결하는 쉬운 방법이 있나요?
답변1
당신은 물어볼 수 있습니다 sudo -l
. 실행할 명령의 전체 경로를 반환하거나 0이 아닌 상태로 종료됩니다. 여기서는 출력을 무시하고 상태 반환을 확인합니다.
if sudo -l somecommand... >/dev/null
then
echo "This is permitted" >&2
else
echo "You are out of luck today" >&2
fi