
Quero impedir que os usuários do sudo alterem a senha do root. Como isso é possível?
Responder1
Se você está falando de usuários que só têm permissão para executar alguns comandos específicos que você escolheu colocar na lista de permissões - depois de se certificar de que eles não podem ser usados para realizar coisas que você deseja proibir - então, comoRaman Sailopal diz, a solução é simplesmentenãoinclua quaisquer comandos que você não deseja que esses usuários possam executar como root.
Em particular, os usuários não precisam ser root para executar o passwd
comando para alterar seustersenhas, portanto, dependendo de suas necessidades específicas, é provável que você não precise dar a elas a capacidade de executarqualquer passwd
comando como root com sudo
.
No entanto, se você estiver procurando uma maneira eficaz de restringir a capacidade dos usuáriosquem você permitiu executar qualquer comandocomo root ao sudo
executar apenas alguns comandos específicos que você considera perigosos, então a resposta é quenão há nenhuma maneira eficaz de conseguir isso, e você deve reconsiderar se deveria conceder a esses usuários os poderes que você está concedendo a eles agora. Mesmo se você proibisse comandos específicos, os usuários que pudessem executar qualquer um, exceto alguns comandos da lista negra como root, sudo
poderiam simplesmente atingir exatamente o mesmo objetivo usando outros comandos.
Comoo sudo
manualdiz noNOTAS DE SEGURANÇAseção:
Limitações do '!' operador
Geralmente não é eficaz “subtrair” comandos deTODOSusando o
!
operador ' '. Um usuário pode contornar isso trivialmente copiando o comando desejado para um nome diferente e executando-o. Por exemplo:bill ALL = ALL, !SU, !SHELLS
Realmente não impedecontade executar os comandos listados em SUouCARTUCHOSjá que ele pode simplesmente copiar esses comandos para um nome diferente ou usar um escape de shell de um editor ou outro programa. Portanto, este tipo de restrições deve ser considerado, na melhor das hipóteses, consultivo (e reforçado por políticas).
Em geral, se um usuário tiver sudoTODOSnão há nada que os impeça de criar seu próprio programa que lhes forneça um shell root (ou de fazer sua própria cópia de um shell), independentemente de quaisquer
!
elementos ' ' na especificação do usuário.
Este é um caso especial do princípio mais geral de que não se pode dar a alguém a capacidade de desempenhararbitrárioações em um sistema, ao mesmo tempo que as limita efetivamente, tentando proibir algumas ações restritas. Pelo menos você não pode fazer isso simplesmente bloqueando omecanismos comunsque são usados para realizá-los. Eles sempre podem encontrar outro caminho, e podem muito bem fazê-lo. Eles podem encontrar outra maneiramesmo por acidente, então você provavelmente não conseguirá combater eficazmente nem mesmo o descuido deles dessa maneira.
Além disso, se você tem usuários nos quais deseja administrar o sistema, mas em quem não confia para atender à sua exigência de não alterar a senha do root, então você realmente confia neles de alguma das maneiras que realmente importam? Você realmente confia neles com todos osoutrohabilidades que eles possuem, a maioria das quais são muito mais destrutivas? Como escrevi emminha respostaparaO que impede alguém de definir a senha root?sobre a administração de sistemas Ubuntu (onde, por padrão, a adesão ao sudo
grupo confere poderes administrativos):
Você é um membro do
sudo
grupo. Você pode excluir todos os arquivos do sistema. Você pode gravar dados brutos no disco rígido, sobrescrevendo o que está lá de forma irrecuperável. Você pode acessar os arquivos de outros usuários, mesmo que eles tenham definido permissões restritivas. Você pode instalar novo firmware em seus dispositivos físicos. Você pode despejar as senhas dos usuários do banco de dados shadow e tentar quebrá-las ou apenas redefini-las. Você pode instalar malware que viola a privacidade dos usuários ou destrói dados, incluindo keyloggers e ransomware. Você pode fazer coisas realmente estranhas com suas interfaces de rede. Você pode fazer com que o sistema desinforme os usuários sobre a segurança de suas comunicações. Você podeCubra suas faixas. Você pode entregar todos esses poderes, e outros que não listei, para pessoas que os usarão para o mal. Quando se trata de uso indevidosudo
ou Polkit,aquelessão os tipos de coisas com as quais você deve se preocupar.É verdade que você não deve permitir que pessoas não confiáveis entrem em sua casa sem supervisão, mas a razão para isso não é que elas poderiam destrancar a porta por dentro e entrar.*