I need my admin user can use all commands but can't delete my system files.
Isso não é possível (em particular, se você quiser proteger de algum especialista em Linux malicioso), porque a raiz uid 0 tem ou pode obter todos os privilégios. No entanto, leia também as capacidades (7) (específicas do Linux).
Se você quiser simplesmente evitar erros, você pode usar chattr (para a bandeira imutável). Mas um administrador determinado ainda pode remover esses arquivos "imutáveis" (primeiro removendo o sinalizador imutável).
(Eu acho que você está preocupado principalmente com os administradores júnior cometerem erros triviais, não por hackers maliciosos)
Sugiro, em vez disso, fazer backup regularmente de seu /etc/
(talvez em alguma máquina remota), o que é sempre uma boa coisa a fazer. E você também pode ter seu próprio rm
(como um alias, uma função, outro executável ...) e decidir controlar a versão /etc/
(por exemplo, com git , veja etckeeper )
Leia também sobre os executáveis setuid e setreuid (2) (e, claro, execve (2) ....) chamada de sistema (este mecanismo é o bloco básico de proteção no Unix, e é usado por sudo
& su
& login
).
BTW, a confiança é principalmente uma questão social, e querer soluções puramente técnicas para questões sociais é insensato e ingênuo.