Eu já vi [RESOLVIDO] Por que o sudo pede a senha do usuário na sessão tmux/ssh? · GitHub Gist , e parece que isso está lá por design, mas pensei em perguntar de qualquer maneira:
Digamos que eu use um comando como este:
tmux new-session -d 'sudo udevadm monitor -e' \; attach
Assim que tmux
inicia a nova sessão, ele pede a sudo
senha, conforme o esperado. Mas então eu tento "enganar" tentando validar de sudo
antemão:
$ sudo --validate
[sudo] password for user:
$ tmux new-session -d 'sudo udevadm monitor -e' \; attach
... e isso pede novamente uma sudo
senha assim que tmux
inicia a sessão - mesmo que eu já tenha inserido a senha com sucesso anteriormente.
Então, existe uma maneira de iniciar uma tmux
sessão com (um) processo(s) sudo dentro, com apenas uma validação de senha sudo de antemão?
A solução mais simples, se você puder modificar /etc/sudoers, é desmarcar a
tty_tickets
opção para seu usuário:Então você pode executar um comando sudo antes de executar o tmux, e o sudo atualizará seu timestamp (único) e permitirá os comandos sudo subsequentes sem um prompt de senha (dentro do timestamp_timeout).
Esta é a opção pertinente porque, normalmente, a opção tty_tickets é definida, o que requer uma senha para cada tty e o tmux inicia um novo tty.