
Suponha que eu tenha um script a.sh com o conteúdo abaixo:
#!/bin/sh
sudo ls <some_unprivileged_path>
Se eu executarsudocomandar e executarcinzasimediatamente depois disso 'sudo' não pergunte minha senha por causa do"timestamp_timeout."
Estou tentando evitar esta situação, tentei algumas configurações até agora e consegui evitar isso alterandotimestamp_typeparapid.
Parte relacionada do "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).
Como o shell se bifurca para executar um comando, parece que é um pouco mais seguro que o padrão. No entanto, não tenho certeza, há algum problema de segurança ao usar o Ppid em vez do padrão?
(Eu sei que existem ferramentas ou hábitos muito mais seguros, porém estou tentando entender um pouco mais o 'sudo' e alguns conceitos do unix)