Acabei de notar na minha máquina Ubuntu (sistema de arquivos ext3) que remover permissões de gravação de um arquivo não impede que o root grave nele.
Essa é uma regra geral de permissões de arquivo UNIX? Ou específico para o Ubuntu? Ou uma configuração incorreta na minha máquina?
# touch abc # chmod ugo-w abc # python Python 2.6.4 (r264: 75706, 7 de dezembro de 2009, 18:45:15) [GCC 4.4.1] no linux2 Digite "ajuda", "direitos autorais", "créditos" ou "licença" para obter mais informações. >>> open ('abc', 'w'). write ('AAA \ n') >>> # cat abc AAA
A gravação no arquivo falha (conforme o esperado) se eu fizer isso na minha conta de usuário normal.
Esse comportamento é normal?
Existe uma maneira de impedir que o root grave acidentalmente um arquivo? (De preferência, usando mecanismos normais do sistema de arquivos, não o AppArmor etc.)
Por favor, ensine-me sobre algo que eu definitivamente não entendo.
NOTA: Entendo que o root tem controle total sobre o sistema e pode, por exemplo, alterar as permissões em qualquer arquivo. Minha pergunta é se as permissões atualmente definidas são aplicadas no código em execução como root . A idéia é que o usuário root se impeça de gravar acidentalmente em um arquivo.
NOTA: Também entendo que um não deve estar conectado como root para operações normais. Acabei de perceber esse comportamento e estou lhe perguntando sobre isso.
fonte
chattr
. existe um modo no modo de usuário de definir esses atributos?root
proteger um arquivo tão bem que nem ele pode excluí-lo"!CAP_DAC_OVERRIDE
capacidade de permitir que ele ignore ACLs e permissões.sudo chflags <s|u>chg <file>
torná-lo imutável para o sistema ou usuário, respectivamente, esudo chflags no<s|u>chg <file>
para desabilitar o sinalizador imutável para o sistema ou usuário, respectivamente.Sim, isso é normal. Raiz é deus.
Sim, existem maneiras de impedir que o root substitua arquivos.
chattr
(+i
define,-i
desativa). Requer acesso root, funciona apenas em ext2 / ext3 (provavelmente também ext4), mas é prático.sudo
para acessar as funções do sistema.Esses métodos seguem logicamente do ponto 1. Como você pode ver, os dois últimos métodos geralmente não são úteis, da mesma forma que proteger o Windows contra vírus desconectando a rede geralmente não é útil. É por isso que a raiz é perigosa. [+]
[*] Descontando a possibilidade de "acidentalmente" gravar diretamente no dispositivo de bloco, é claro. Sim, o root pode fazer isso. Sim, você pode impedir isso: desconecte o dispositivo.
[+] É também de onde vêm esses mitos de BOfH. Eles não são todos mitos.
fonte
Você também pode restringir o acesso a arquivos para o usuário root, usando o kernel do Linux "Capacidades": http://www.securityfocus.com/infocus/1400
Também existe a possibilidade de usar o SE-Linux ou algum outro patch do kernel para tornar alguns arquivos imutáveis até mesmo para o root.
fonte
Eu acho que, enquanto o root for o superusuário, e ele puder fazer qualquer coisa, você não poderá remover nenhuma permissão dele, também se você for o root. É suposto ser a vontade da raiz impedir que ele faça ou não uma operação (como gravar em um arquivo ou abrir um aplicativo).
Portanto, não, é provável que você apenas desative a conta root para evitar um mau uso dela.
Saudações
[nota para si mesmo: sereis humildes ... talvez estejam errados]
fonte