O comportamento do comando sudo é controlado pelo arquivo / etc / sudoers em seu sistema. Esse comando deve ser editado com o comando visudo, que executa a verificação de sintaxe para garantir que você não quebre acidentalmente o arquivo.
Especifique usuários com permissões do Sudo
A conta de usuário que você cria ao instalar o Ubuntu é marcada como uma conta de administrador, o que significa que pode usar o sudo. Todas as contas de usuário adicionais que você criar após a instalação podem ser de administrador ou de usuário padrão. As contas de usuário padrão não têm permissões sudo.
Você pode controlar graficamente os tipos de contas de usuários da ferramenta Contas do usuário do Ubuntu. Para abri-lo, clique no seu nome de usuário no painel e selecione Contas de usuário ou pesquise Contas de usuário no painel.
Faça o Sudo Esquecer sua Senha
Por padrão, o sudo lembra sua senha por 15 minutos após você digitá-la. É por isso que você só precisa digitar sua senha uma vez ao executar vários comandos com sudo em rápida sucessão. Se você está prestes a deixar alguém usar seu computador e deseja que o sudo peça a senha quando for executado, execute o seguinte comando e o sudo esquecerá sua senha:
sudo –k
Sempre peça uma senha
Se você preferir ser avisado sempre que usar o sudo, por exemplo, se outras pessoas acessarem seu computador regularmente, será possível desativar completamente o comportamento de lembrar senhas.
Essa configuração, como outras configurações do sudo, está contida no arquivo / etc / sudoers. Execute o comando visudo em um terminal para abrir o arquivo para edição:
sudo visudo
Apesar de seu nome, este comando é padronizado para o novo editor de nano amigável ao usuário, em vez do editor vi tradicional no Ubuntu.
Adicione a seguinte linha abaixo das outras linhas de Padrões no arquivo:
Defaults timestamp_timeout=0
Alterar o tempo limite da senha
Para definir um tempo limite de senha diferente - um mais longo como 30 minutos ou um mais curto como 5 minutos - siga as etapas acima, mas use um valor diferente para timestamp_timeout. O número corresponde ao número de minutos que o sudo lembrará sua senha. Para que o sudo lembre sua senha por 5 minutos, adicione a seguinte linha:
Default timestamp_timeout=5
Nunca peça uma senha
Você também pode fazer com que o sudo nunca peça uma senha - contanto que você esteja logado, todos os comandos prefixados com sudo serão executados com permissões de root. Para fazer isso, adicione a seguinte linha ao seu arquivo sudoers, onde username é seu nome de usuário:
username ALL=(ALL) NOPASSWD: ALL
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Executar comandos específicos sem uma senha
Você também pode especificar comandos específicos que nunca precisarão de uma senha quando executados com o sudo. Em vez de usar "ALL" após NOPASSWD acima, especifique o local dos comandos. Por exemplo, a linha a seguir permitirá que sua conta de usuário execute os comandos apt-get e shutdown sem uma senha.
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get,/sbin/shutdown
Isso pode ser particularmente útil ao executar comandos específicos com o sudo em um script.
Permitir que um usuário execute somente comandos específicos
Embora você possa colocar comandos específicos na lista negra e impedir que os usuários os executem com o sudo, isso não é muito eficaz. Por exemplo, você pode especificar que uma conta de usuário não possa executar o comando shutdown com sudo. Mas essa conta de usuário poderia executar o comando cp com o sudo, criar uma cópia do comando de desligamento e encerrar o sistema usando a cópia.
Uma maneira mais eficaz é colocar na lista de permissões comandos específicos. Por exemplo, você pode conceder uma permissão de conta de usuário padrão para usar os comandos apt-get e shutdown, mas não mais. Para isso, adicione a seguinte linha, em que standarduser é o nome de usuário do usuário:
standarduser ALL=/usr/bin/apt-get,/sbin/shutdown
sudo -U standarduser –l
Logging Sudo Access
Você pode registrar todo o acesso sudo adicionando a seguinte linha. / var / log / sudo é apenas um exemplo; você pode usar qualquer localização de arquivo de log que desejar.
Defaults logfile=/var/log/sudo
sudo cat /var/log/sudo