Solicitar senha ao root ao usar o comando su

1

Estou tentando editar /etc/sudoers via visudo , mas não sei como alterar os direitos de root.

Eu quero root para ser solicitado a senha do user1, quando ele tenta usar su user1 .

    
por Pavel Miron 28.10.2012 / 18:04

4 respostas

5

Bem, não é uma boa ideia, mas é possível. Como alguém aqui apontou, você não pode impedir que o root seja o deus do computador, mas você pode modificar o programa "su" para pedir senhas. Ele pode impedir que o root faça um novo registro em outras contas, a menos que ele compile sua própria versão do su e o use.

Primeiro, você precisará de um compilador para poder reconstruir o su. Como uma raiz, execute:

apt-get install build-essential

Em seguida, baixe e prepare os GNU Coreutils :

ftp://ftp.task.gda.pl/pub/gnu/coreutils/coreutils-8.13.tar.gz
tar xvf coreutils-8.20.tar.xz
cd coreutils-8.20
./configure

Agora, acesse o diretório src e localize o arquivo su.c . Na linha 223, você encontrará:

if (getuid () == 0 || !correct || correct[0] == '
if (!correct || correct[0] == '
cp src/su 'which su'
')
')

Altere para:

apt-get install build-essential

Agora, de volta ao diretório coreutils-8.20 , execute o make. A compilação pode demorar muito tempo. Uma vez feito isso, sobrescreva o binário su atual com o novo:

ftp://ftp.task.gda.pl/pub/gnu/coreutils/coreutils-8.13.tar.gz
tar xvf coreutils-8.20.tar.xz
cd coreutils-8.20
./configure

E novamente - você está fazendo errado.

    
por 28.10.2012 / 21:30
4
  1. root nunca precisa de uma senha para fazer nada. root é um usuário todo poderoso. root = superusuário = administrador = chucknorris
  2. como @Cry Havok apontou / etc / sudoers não tem nada a ver com su , apenas sudo

SIDENOTE: executar su - <user> como usuário comum (não-raiz / sem privilégios) sempre solicitará uma senha.

    
por 28.10.2012 / 20:29
2

A raiz pode se tornar qualquer usuário sem precisar de autenticação. Mesmo se o comando su fosse configurado para solicitar uma senha, o root poderia usar algum outro programa para emitir a chamada do sistema subjacente. O comando su é normalmente configurado para não exigir uma senha porque é inútil para a segurança, e muitos scripts não interativos dependem disso para executar tarefas como um usuário com menos privilégios.

No Ubuntu (e em muitos outros sistemas que usam PAM ), a ausência de um prompt de senha quando o root é executado su é implementado pela seguinte linha em /etc/pam.d/su :

auth       sufficient pam_rootok.so

Observe que sudo e su são programas completamente diferentes. Você não pode alterar o comportamento de su alterando a configuração de sudo .

    
por 29.10.2012 / 00:16
0

A raiz não recebe a senha, Razão por trás disso é a primeira linha em /etc/pam.d/su .

auth       sufficient pam_rootok.so

Acho que algumas linhas devem ser adicionadas antes disso para solicitar que o root seja autenticado para um usuário específico.

    
por 15.11.2016 / 15:09