I want to protect my folders in $HOME from an accidental deletion. I applied chattr +i on them but i noticed that the last is applied recursively, thus, indeed the folder can't be deleted but also i can't write in it.
Não é recursivo, é apenas como os diretórios funcionam. Um diretório é basicamente um arquivo especial com uma lista de nomes e inodes. (Pelo menos costumava ser; você ainda pode cat
diretórios em alguns BSDs.) Quando você tenta criar, renomear ou excluir um arquivo, você não está alterando o arquivo em si, você está alterando seu diretório pai. Se o diretório estiver marcado como imutável, você não poderá alterá-lo, mas os subdiretórios ainda poderão ser modificados.
I also tried to apply a sticky bit with chmod 1775 and change the ownership of the folder with chown root foldername. Normally, with sticky bit enabled, only the owner of the folder can delete it but, strangely, in my case although the folder is owned by root, i can delete it with my normal user.
O bit pegajoso permite excluir objetos se você possui o próprio objeto ou seu diretório pai.
I noticed that the users folders in /home partition, although they are owned by the current user and have rwx permissions for the owner, they can't be deleted/changed. How is this achieved?
Veja acima - ao deletar um objeto do sistema de arquivos, você deve ter permissão de 'gravação' no diretório pai , não no próprio objeto. Nesse caso, /home
é de propriedade de root e você só tem permissões de "leitura" + "execução".
Em conclusão,
backups.
objeto do sistema de arquivos: n. um arquivo, diretório, nó de dispositivo, link simbólico, canal, soquete Unix ou qualquer outra coisa que possa ser armazenada no sistema de arquivos.