Pesquisa de site

Como desativar o acesso ‘su’ para usuários Sudo


O comando su é um comando especial do Linux que permite executar um comando como outro usuário e grupo. Também permite que você alterne para a conta root (se executada sem argumentos) ou outra conta de usuário especificada.

Por padrão, todos os usuários têm permissão para acessar o comando su. Mas como administrador do sistema, você pode desabilitar o acesso su para um usuário ou grupo de usuários, usando o arquivo sudoers conforme explicado abaixo.

O arquivo sudoers aciona o plug-in de política de segurança sudo que determina os privilégios sudo de um usuário. O comando sudo permite que os usuários executem programas com os privilégios de segurança de outro usuário (por padrão, como usuário root).

Para mudar para outra conta de usuário, um usuário pode executar o comando su em sua sessão de login atual, conforme mostrado. Neste exemplo, o usuário aaronk está mudando para uma conta testuser. O usuário aaronk será solicitado a inserir a senha da conta testuser:

su testuser

Para mudar para a conta root, um usuário deve ter a senha root ou privilégios para invocar o comando sudo. Em outras palavras, o usuário deve existir no arquivo sudoers. Neste exemplo, o usuário aaronk (um usuário sudo) está mudando para a conta root.

Depois de invocar o sudo, o usuário aaronk é solicitado a digitar sua senha, se for válida, o usuário recebe acesso a um shell interativo como root:

sudo su

Desabilitar o acesso su para um usuário Sudo

Para desativar o acesso su para um usuário sudo, por exemplo, o usuário aaronk acima, primeiro faça backup do arquivo sudoers original localizado em /etc/sudoers do seguinte modo:

sudo cp /etc/sudoers /etc/sudoers.bak

Em seguida, abra o arquivo sudoers usando o seguinte comando. Observe que não é recomendado editar o arquivo sudoers manualmente, use sempre o comando visudo:

 
sudo visudo

Na seção de comando aliases, crie o seguinte alias:

Cmnd_Alias DISABLE_SU = /bin/su

Em seguida, adicione a seguinte linha no final do arquivo, substitua o nome de usuário aaronk pelo usuário para o qual deseja desabilitar o acesso su:

aaronk ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU

Salve o arquivo e feche-o.

Em seguida, teste para verificar se a configuração está funcionando da seguinte maneira. O sistema deve retornar uma mensagem de erro como esta: “Desculpe, o usuário aaronk não tem permissão para executar ‘/bin/su’ como root no tecmint. ”.

sudo su

Desabilitar o acesso su para um grupo de usuários Sudo

Você também pode desativar o acesso su para um grupo de usuários sudo. Por exemplo, para desabilitar o acesso su para todos os usuários do grupo admin, modifique a linha:

%admin ALL=(ALL) ALL

para isso:

%admin ALL=(ALL) ALL, !DISABLE_SU

Salve o arquivo e feche-o.

Para adicionar um usuário ao grupo admin, execute o comando usermod (substitua username pelo usuário real):

sudo usermod -aG  admin  username

Para obter mais informações sobre su, sudo e sudoers, verifique suas páginas de manual:

man su
man sudo
man sudoers