다음 내용을 포함하는 a.sh 스크립트가 있다고 가정해 보겠습니다.
#!/bin/sh
sudo ls <some_unprivileged_path>
내가 실행하면스도명령하고 실행하다금연 건강 증진 협회"sudo" 바로 뒤에 비밀번호를 묻지 마세요."타임스탬프_시간 초과."
나는 이것을 방지하려고 노력하고 있으며 지금까지 몇 가지 구성을 시도하고 이를 방지하기 위해 변경했습니다.타임스탬프 유형도착하다PPID.
"man sudoers" 관련 부분:
ppid A single time stamp record is used for all processes with the same parent process ID (usually the shell). Commands run from the same shell (or other common parent process)
will not require a password for timestamp_timeout minutes (5 by default). Commands run via sudo with a different parent process ID, for example from a shell script, will be
authenticated separately.
tty One time stamp record is used for each terminal, which means that a user's login sessions are authenticated separately. If no terminal is present, the behavior is the same as
ppid. Commands run from the same terminal will not require a password for timestamp_timeout minutes (5 by default).
명령을 실행하기 위해 쉘이 포크를 하기 때문에 기본 명령보다 더 안전한 것 같습니다. 하지만 확실하지 않습니다. 기본값 대신 ppid를 사용하면 보안 문제가 있습니까?
(더 많은 보안 도구나 습관이 있다는 것을 알고 있지만 "sudo"와 유닉스의 일부 개념에 대해 더 많이 이해하려고 노력하고 있습니다.)