Em um sistema multiusuário com cotas de disco, permitir que usuários sem privilégios distribuam arquivos para outros usuários permitiria que os usuários abusassem das cotas de disco uns dos outros.
Seria trivial para o Usuário A criar um diretório acessível apenas pelo Usuário A, preenchê-lo com arquivos grandes e entregá-los ao Usuário B. Agora, a cota de disco do Usuário B está esgotada por arquivos que não podem ser acessados pelo usuário B.
A capacidade dos usuários de distribuir arquivos (a semântica do SysV para chown ()) usada para causar vários tipos de problemas de segurança e agora é considerada na literatura como um comportamento interrompido. Por exemplo, se você acidentalmente permitir que outros usuários gravem em seu diretório inicial, outro usuário no mesmo sistema poderá fornecer alguns arquivos / diretórios. Como <your_homedir>/.ssh/authorized_keys
por exemplo. Ou <your_homedir>/.rhosts
nos maus velhos tempos. Cada uma delas pode ser usada para permitir o acesso à sua conta, e você teria dificuldade em provar que não era você.
Em um sistema Linux, você pode usar sudo
para permitir a configuração do atributo "imutável" para os arquivos, mas não o comando para limpá-lo. Esta seria a linha de configuração de exemplo para /etc/sudoers
:
Octaviour ALL=(root) NOPASSWD: /usr/bin/chattr -R +i /your/backup/directory
Você pode executar sudo chattr -R +i /your/backup/directory
, mas não o comando chattr -R -i
correspondente, usando sua conta de usuário comum. O bit imutável normalmente pode ser definido ou limpo apenas pela raiz.
(Se os recursos do Linux estiverem em uso, um processo com o recurso CAP_LINUX_IMMUTABLE poderá fazê-lo. Mas seria muito incomum para usuários normais ter isso, e o uso de recursos em si é bastante incomum.)