22Aug

8 maneiras de ajustar e configurar Sudo no Ubuntu

Como a maioria das coisas no Linux, o comando sudo é muito configurável. Você pode executar comandos sudo executar específicos sem pedir uma senha, restringir usuários específicos a apenas comandos aprovados, comandos de log executados com sudo e muito mais.

O comportamento do comando sudo é controlado pelo arquivo sudoers /etc/ em seu sistema. Este comando deve ser editado com o comando visudo, que executa verificação de sintaxe para garantir que você não acidentalmente quebre o arquivo.

Especificar usuários com permissões Sudo

A conta de usuário que você criou ao instalar o Ubuntu é marcada como uma conta de administrador, o que significa que ela pode usar sudo. Quaisquer contas de usuário adicionais que você crie após a instalação podem ser contas de usuário Administrador ou Padrão - as contas de usuário padrão não possuem permissões sudo.

Você pode controlar graficamente os tipos de conta de usuário da ferramenta de contas de usuário do Ubuntu. Para abri-lo, clique no seu nome de usuário no painel e selecione Contas de usuário ou procure Contas de usuário no traço.

Faça Sudo Esqueça sua senha

Por padrão, sudo lembra sua senha por 15 minutos depois de 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 permitir que outra pessoa use seu computador e que deseje que o sudo solicite a senha quando ele for executado em seguida, execute o seguinte comando e o sudo esquecerá sua senha:

sudo -k

Sempre Peça uma senha

Se vocêPrefiro ser solicitado cada vez que você usa sudo - por exemplo, se outras pessoas têm acesso regularmente ao seu computador - você pode desativar completamente o comportamento de lembrança de senha.

Esta configuração, como outras configurações de sudo, está contida no arquivo de sudoers /etc/.Execute o comando visudo em um terminal para abrir o arquivo para edição:

sudo visudo

Apesar do seu nome, esse comando é padrão para o novo editor nano amigável ao invés do editor vi tradicional no Ubuntu.

Adicione a seguinte linha abaixo das outras linhas de Padrão no arquivo:

Padrões timestamp_timeout = 0

Pressione Ctrl + O para salvar o arquivo e, em seguida, pressione Ctrl + X para fechar Nano. Sudo agora sempre solicitará uma senha.

Alterar o tempo de espera da senha

Para definir um tempo limite de senha diferente - um mais longo como 30 minutos ou um 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 em que sudo se lembrará de sua senha. Para que o sudo se lembre da sua senha por 5 minutos, adicione a seguinte linha:

Padrão timestamp_timeout = 5

Nunca peça uma senha

Você também pode ter sudo nunca pedir uma senha - contanto que você esteja logado, cada comando vocêO prefixo com sudo será executado com permissões de raiz. Para fazer isso, adicione a seguinte linha ao seu arquivo sudoers, onde o nome de usuário é seu nome de usuário:

username ALL =( ALL) NOPASSWD: ALL

Você também pode alterar a linha% sudo - ou seja, a linha que permite a todos os usuários nogrupo de sudo( também conhecido como usuários de Administrador) para usar sudo - para que todos os usuários de Administrador não exijam senhas:

% sudo ALL =( ALL: ALL) NOPASSWD: ALL

Executar Comandos Específicos Sem Senha

Você também pode especificar comandos específicos quenunca exigirá uma senha quando executada com sudo. Em vez de usar "ALL" após NOPASSWD acima, especifique a localização dos comandos. Por exemplo, a seguinte linha permitirá que sua conta de usuário execute os comandos apt-get e shutdown sem uma senha.

nome de usuário ALL =( ALL) NOPASSWD: /usr/bin/ apt-get, /sbin/ desligamento

Isso pode ser particularmente útil ao executar comandos específicos com sudo em um script.

Permitir que um usuário execute apenas comandos específicos

Enquanto você pode listar comandos específicos 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 pode executar o comando de desligamento com o sudo. Mas essa conta de usuário pode executar o comando cp com sudo, criar uma cópia do comando de desligamento e desligar o sistema usando a cópia.

Uma maneira mais eficaz é listar comandos específicos. Por exemplo, você pode dar uma permissão de conta de usuário padrão para usar os comandos apt-get e shutdown, mas não mais. Para fazer isso, adicione a seguinte linha, onde o usuário padrão é o nome de usuário do usuário:

standarduser ALL = /usr/bin/ apt-get, /sbin/ desligamento

O comando a seguir nos informará sobre o que o usuário pode executar com sudo:

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 local de arquivo de log que você gosta.

Defaults logfile = /var/log/ sudo

Veja o conteúdo do arquivo de log com um comando como este:

sudo cat /var/log/ sudo

Tenha em mente que, se um usuário tiver acesso de sudo irrestrito, esse usuário pode apagar ou modificar oConteúdo deste arquivo. Um usuário também pode acessar um prompt de raiz com sudo e executar comandos que não serão registrados. O recurso de log é mais útil quando acoplado com contas de usuários que têm acesso restrito a um subconjunto de comandos do sistema.