Řešení 1:
> sudo ls -al ./log
...
drw-rw-r-- 3 bob bob 4096 Jun 2 04:11 .
Nezdá se, že by Bob měl oprávnění ke spuštění pro ./log, takže nemůže cd
k tomu.
Ale
> ls -al .
...
drwxr-xr-x 2 bob bob 4096 June 1 14:22 log
ukazuje, že ano. Ale nezdá se, že by ukazovali na stejný soubor (jiná oprávnění, jiný modtime).
Zkuste sudo ls -ail ./log
a ls -ail
abyste zjistili, zda je inode stejný.
Řešení 2:
Věci jsou jednodušší než poškození souborového systému nebo selinux. Jak vidíte, chybí vám oprávnění x (spustitelný soubor) v adresáři protokolu. Ve skutečnosti pro adresáře x znamená, že někdo může přejít do tohoto adresáře. Stačí provést "chmod +x log" pro opravu této perm a měli byste k ní mít přístup.
Řešení 3:
Viděl jsem takové věci, když byl poškozen souborový systém, nebo když máte vadný disk. Oprava obvykle spočívá v tom, že spustíte fsck proti souborovému systému a necháte jej opravit nalezené chyby.
Řešení 4:
Zkontrolujte také nastavení SE/Linux. Někdy oprávnění k souboru nemají nic společného s tím, zda k němu máte nebo nemáte přístup.
Řešení 5:
Soubory mohou mít nastaveny neměnné nebo pouze připojené rozšířené atributy. Už se mi to stalo a ani root nemohl soubor smazat.
Rozšířené atributy lze zobrazit pomocí "lsattr" a změnit pomocí "chattr"