Eu li que para evitar que um usuário altere sua própria senha, é necessário digitar:
senha -n 10000 $ usuário
Mas como evito que o usuário root também altere a senha do $user?
Histórico: estou tentando configurar acesso exclusivo a alguns diretórios e achei que um novo usuário seria apropriado. É isso? Estou optando por não compactar + proteger com senha esses diretórios, já que a maioria deles tem mais de 1 TB. Alguma dica?
EDIT: A razão por trás da prevenção de tal ação do root é que mesmo os usuários com acesso root não devem poder ter acesso a alguns diretórios exclusivos que estou tentando proteger.
Responder1
O raciocínio para esta questão é questionável ...
Para criticar a solução desejada de criação de um novo usuário - mesmo que outros usuários root não possam alterar a senha do novo usuário, eles não precisam, já que o root pode ler qualquer arquivo ou alterar as permissões do arquivo - eles não ' nunca preciso "ser" esse usuário."
Se você tiver terabytes de dados que deseja impedir que outros usuários acessem - não coloque esses dados nas mesmas máquinas às quais esses usuários têm acesso.
Se você tiver terabytes de dados em uma máquina com vários usuários, por que não permitiria que esses usuários acessassem os dados?
E ainda nem chegamos ao ponto de falar sobre por que existem vários usuários root nos quais você não confia. Conceder vários usuários root é uma coisa boa, mas parece que você tem acesso root para todos os usuários - amigos são ótimos e os deixam entrar, mas eles não precisam de root.
Mesmo usando uma ACL, você não pode impedir que outro usuário root acesse os dados - você (como root) criou a ACL, eles (como root) irão modificá-la.
A única solução verdadeiramente viável é aquela que as várias agências fantasmas inventaram há muito tempo. Máquinas com espaço de ar.
Coloque seus dados "ultrassecretos" em uma unidade e não os conecte à máquina com seus amigos. Ou instale a unidade em uma máquina diferente sem um zoológico de usuários root e que não tenha acesso à rede. Você provavelmente pode permitir que esta máquina (servidor de arquivos) tenha acesso à rede, já que seus amigos provavelmente não terão ferramentas de hacker Spook Grade para obter acesso a esta máquina. Dê acesso apenas a você mesmo e pronto - dados isolados. Esse tipo de máquina é muito barato de criar. CPU, NIC e pronto.
Se você "quer" confiar neles e/ou acessar apenas esses dados desta máquina (com cluster de usuário root), conecte fisicamente a unidade apenas quando estiver no modo de usuário único, offline e você estiver no console .
Talvez existam outras soluções criativas, no entanto, se envolver software, não é possível isolar um usuário root de outro usuário root.
ps: ao me referir ao root, estou usando esse termo para indicar um verdadeiro usuário root - não um usuário com sudo, etc.
Responder2
Em última análise, se você der a alguém acesso root ao seu sistema, você dará a ele tudo no sistema, é por isso que é importante que você confie nas pessoas a quem você dá root.
Responder3
Suponho que você possa definir um atributo de sistema de arquivos estendido imutável em/etc/shadow. Isso impedirá todas as alterações nas senhas, até que oraizo usuário desfaz o bit imutável. O comando é "chattr +i /etc/shadow"
Se você estiver provisionando acesso root a um administrador de sistema profissional, você deve assumir que ele não alterará a senha se você solicitar que não a altere. Por último, você sempre pode mudar para o Kerberos 5 ou algo gerenciado centralmente.