Como faço para aumentar o tempo limite para lembrar a senha do sudo?
61
Eu já sei que preciso ajustar o arquivo / etc / sudoers, mas gostaria de ver informações completas e também uma solução que não exija que eu use o vieditor.
Atualização: nunca, tente editar o arquivo com outra coisa que não visudo.
você pode definir o EDITOR env var ao usar visudo :: sudo env EDITOR = nano visudo
Boa pessoa
Respostas:
86
Execute sudo visudoe adicione esta linha:
Defaults timestamp_timeout=-1
Veja man 5 sudoers. -1faz com que a senha nunca exceda o tempo limite. Você pode alterar o número para o que quiser em minutos.
A página do manual sudodiz que sudo -v"estende o tempo limite do sudo por mais 5 minutos".
A execução de 'sudo visudo' em vez de editar o arquivo diretamente faz com que o sistema valide o arquivo sudoers antes de confirmar as alterações. Por exemplo, se você deixar um caractere perdido em algum lugar, ao salvar e sair, ele dirá "há um erro no arquivo sudoers, o que você gostaria de fazer?" ... portanto, você terá a chance de voltar e editar. Isso realmente aconteceu comigo há 10 minutos.
Sim, mas visudoexecuta algumas verificações básicas de integridade no arquivo sudoers antes de salvar. Se você bagunçar o arquivo usando vidiretamente, você poderá se impedir de usar o sudo, tornando muito difícil desfazer a alteração.
nohillside
4
Os privilégios são assim em outros sistemas, então nada a ver com a Apple. visudoenvolve o editor padrão do sistema (eu acho que o usuário root padrão se o root substituiu o padrão), então não tem nada a ver com vi bar no nome. No meu sistema (não entre a Apple), fico nano. Experimente export EDITOR='/bin/nano'o editor que desejar e use o visudo.
20412 Chris
4
Um ... Você não pode usar o root para corrigi-lo, porque você não pode obtê-lo, porque acabou de empacotar seu arquivo sudo ... Esse é o ponto.
Davisales
11
Em uma função profissional, você pode ter acesso ao sudo, mas não a senha de root. Seu servidor pode estar em um datacenter em todo o país, dificultando o acesso ao modo de usuário único. Mas, se você fosse profissional, provavelmente não receberia esses avisos. O ponto é que você deve aprender com os profissionais. Não procure maneiras de evitar formar bons hábitos. Então temos que ouvir seus gritos frenéticos no Stack Exchange e no IRC.
de Bruno Bronosky
11
(Talvez seja óbvio para todos, mas adicionando): timestamp_timeout é em minutos, pode incluir um componente fracionário.
usuário
3
Tenha muito cuidado ao modificar /etc/sudoersdiretamente!
Por exemplo, tentei diretamente a sugestão acima:
sudo sh -c 'echo "\nDefaults timestamp_timeout=-1">>/etc/sudoers'
que estragou meu /etc/sudoersarquivo (em uma VM do CentOS Virtualbox). Deveria ter ficado:
sudo sh -c 'echo -e "\nDefaults timestamp_timeout=-1">>/etc/sudoers'
Felizmente, eu tive acesso à conta root, logada como root, usei visudoe consertei o problema! Então, eu concordo com os comentários acima para usar visudo.
Há uma razão para esses privilégios serem definidos. Eles são definidos na tentativa de forçá-lo a usar, em visudovez de editar o arquivo você mesmo. Além disso, isso não tem nada a ver com o OS X. É padrão * nix. Além disso, se você deseja usar um editor não padrão, basta definir a $EDITORvariável de ambiente antes de chamar visudo. por exemplo EDITOR=nano sudo visudo.
Davisales
1
Desative sudo timeout com este comando:
sudo sh -c 'echo "\nDefaults timestamp_timeout=-1">>/etc/sudoers'
Para reativar o tempo limite do sudo com este método:
sudo sed -i "/Defaults timestamp_timeout=-1/d" /etc/sudoers
Na página do manual sudoers: o arquivo sudoers deve sempre ser editado pelo comando visudo que bloqueia o arquivo e faz a verificação gramatical. É imperativo que os sudoers estejam livres de erros de sintaxe, pois o sudo não será executado com um arquivo de sudoers sintaticamente incorreto.
Matteo
@ Matteo Bem, você pode fazer o que quiser em sua propriedade, desde que esteja ciente das consequências. Em algumas situações, isso é bom, por exemplo, eu o uso em versões novas do Mac, que não possuem dados valiosos como parte de um script de automação. Sugeri uma edição desta resposta para fornecer um aviso. Idealmente, sudodeve haver uma maneira única de alterar isso sem precisar editar um arquivo!
precisa saber é o seguinte
11
Cuidado, este é um conselho perigoso. Use o visudo.
Respostas:
Execute
sudo visudo
e adicione esta linha:Veja
man 5 sudoers
.-1
faz com que a senha nunca exceda o tempo limite. Você pode alterar o número para o que quiser em minutos.A página do manual
sudo
diz quesudo -v
"estende o tempo limite do sudo por mais 5 minutos".A execução de 'sudo visudo' em vez de editar o arquivo diretamente faz com que o sistema valide o arquivo sudoers antes de confirmar as alterações. Por exemplo, se você deixar um caractere perdido em algum lugar, ao salvar e sair, ele dirá "há um erro no arquivo sudoers, o que você gostaria de fazer?" ... portanto, você terá a chance de voltar e editar. Isso realmente aconteceu comigo há 10 minutos.
fonte
visudo
executa algumas verificações básicas de integridade no arquivo sudoers antes de salvar. Se você bagunçar o arquivo usandovi
diretamente, você poderá se impedir de usar o sudo, tornando muito difícil desfazer a alteração.visudo
envolve o editor padrão do sistema (eu acho que o usuário root padrão se o root substituiu o padrão), então não tem nada a ver com vi bar no nome. No meu sistema (não entre a Apple), fico nano. Experimenteexport EDITOR='/bin/nano'
o editor que desejar e use o visudo.Tenha muito cuidado ao modificar
/etc/sudoers
diretamente!Por exemplo, tentei diretamente a sugestão acima:
sudo sh -c 'echo "\nDefaults timestamp_timeout=-1">>/etc/sudoers'
que estragou meu
/etc/sudoers
arquivo (em uma VM do CentOS Virtualbox). Deveria ter ficado:sudo sh -c 'echo -e "\nDefaults timestamp_timeout=-1">>/etc/sudoers'
Felizmente, eu tive acesso à conta root, logada como root, usei
visudo
e consertei o problema! Então, eu concordo com os comentários acima para usarvisudo
.fonte
Todas as informações para sudoers podem ser encontradas no terminal com o comando
Você pode até usar um texto simples para editar arquivos, mas os privs dificultam isso. sudoers é
-r--r----- (Octal 0440)
Isso indica que a Apple realmente não quer que você mexa com o arquivo. Essa é realmente a segurança principal do sistema operacional.
As opções para edição são vi, emacs ou meu BBEdit favorito.
fonte
visudo
vez de editar o arquivo você mesmo. Além disso, isso não tem nada a ver com o OS X. É padrão * nix. Além disso, se você deseja usar um editor não padrão, basta definir a$EDITOR
variável de ambiente antes de chamarvisudo
. por exemploEDITOR=nano sudo visudo
.Desative sudo timeout com este comando:
Para reativar o tempo limite do sudo com este método:
fonte
sudo
deve haver uma maneira única de alterar isso sem precisar editar um arquivo!