세 가지 기능을 실행하는 스크립트가 A && B && C
있습니다.
기능 B
요구는 슈퍼 사용자로 실행하는 동안 수 A
와 C
하지 않습니다.
몇 가지 솔루션이 있지만 둘 다 만족스럽지 않습니다.
전체 스크립트를 sudo :
sudo 'A && B && C'
실행하는 것은 좋지 않은 생각
A
이며C
필요하지 않은 경우 수퍼 유저로 보입니다.스크립트를 대화식으로 만듭니다.
A && sudo B && C
암호를 입력해야 할 수도 있지만 각 기능에 시간이 걸릴 수 있으므로 스크립트가 대화식이 아니기를 원하며 스크립트가 나를 기다리지 않기를 바랍니다. 글쎄, 그것이 또한 처음에 스크립트이기 때문에, 나는 그것이 실행되는 것을 볼 필요가 없습니다.
바보 같은 해결책 :
sudo : && A && sudo -n B && C
먼저 no-op를
sudo
먼저 실행하는 것은 어리석은 것 같습니다. 또한 A보다 더 많이 걸리지 않을 것$sudo_timeout
입니다.가상 솔루션 (존재한다고 말하고 싶습니다) :
sudo --store-cred 'A && sudo --use-cred-from-parent-sudo B && C'
처음에는 암호를 묻는 메시지가 표시되고 필요할 때만 해당 자격 증명을 사용합니다.
이 모든 것에 대한 당신의 의견은 무엇입니까? 나는 그것이 매우 일반적인 문제 (무엇에 대한 생각으로 나는 매우, 그 문제에 대한 해결책이 없다는 것을 놀랄 것 make all && sudo make install
)
A
및을C
사용하여 명시 적으로 및 부분을 실행하십시오su -l some_non_priviliged_user
. 타임 아웃 문제가 없으며 A 및 C에 대한 권한이 없습니다. 4가 가능하다고 생각하지 않습니다sudo
. 사용자에게 "전역 상태" 인 것 같습니다.