두 개의 sudo 명령을 실행하고 출력을 한 명령에서 다른 명령으로 파이프하고 싶습니다. 하지만 최근에 sudo 비밀번호를 입력하지 않으면 비밀번호를 묻는 메시지가 나타납니다. 파이프와 두 sudo가 모두 엉망인 것 같아서 비밀번호를 올바르게 입력할 수 없습니다.
내 해결책은 "sudo ls" 또는 나에게 암호를 묻는 다른 명령을 실행하여 파이프된 명령이 암호를 묻지 않고 작동하도록 하는 것입니다. 이로 인해 다른 무의미한 명령을 실행하지 않도록 sudo를 실행하는 "올바른" 방법이 있는지 궁금합니다. sudo 맨페이지에는 이에 대한 언급이 없는 것 같습니다.
답변1
당신이 찾고있는 것은 sudo -v
매뉴얼 페이지에서입니다.
-v, --validate
Update the user's cached credentials, authenticating the user
if necessary.
(그리고 자격 증명을 명시적으로 제거하는 것에 대응합니다 sudo -k
.)
답변2
Anthon의 답변에 추가하여 서버에 대한 루트 액세스 권한이 있는 경우 NOPASSWD:
사용자가 정의된 줄에 추가 할 수 있습니다 /etc/sudoers
. 추가되면 NOPASSWD:
sudo는 비밀번호를 묻는 메시지를 표시하지 않습니다.
이것이 현재 행인 경우:
myuser ALL=(ALL) <commands>
다음으로 변경하세요.
myuser ALL=(ALL) NOPASSWD: <commands>
추신: visudo
/etc/sudoers 파일을 편집하는 데 사용됩니다.