GNU/Linux >> Znalost Linux >  >> Linux

`Oprávnění odepřeno` na CD do adresáře, i když jsou oprávnění správná

Řešení 1:

Adresář bude vyžadovat, abyste mohli zadat spouštěcí bit. Nevím, co jste testovali, ale nemůžete zadejte adresář bez prováděcího bitu nebo v něm čtěte soubory:

$ mkdir foo
$ echo "baz" > foo/bar
$ chmod 660 foo
$ cd foo
bash: cd: foo: Permission denied
$ cat foo/bar
cat: foo/bar: Permission denied

Tedy pokud váš proces má nastavenou schopnost CAP_DAC_OVERRIDE POSIX (jako má root), která vám umožňuje vstupovat do adresářů bez sady spustitelných bitů, iirc.

V zásadě byste se měli snažit udržovat váš adresář .ssh na 700 a vše v něm na 600, jen abyste byli v bezpečí. Manuálová stránka ssh poskytuje pro jednotlivé soubory pokyny pro požadovaná vlastnictví a režimy oprávnění pro soubory v ~/.ssh.

Řešení 2:

Adresář vyžaduje oprávnění ke spuštění, aby cd do toho. Toto je očekávané chování.

Řešení 3:

Abyste mohli ls nebo cd do adresáře, potřebujete oprávnění ke spuštění. I když je nemáte, nemůžete skutečně prohlížet obsah a vidět oprávnění souborů uvnitř, takže s největší pravděpodobností jsou oprávnění k souborům sama o sobě nesprávná, pokud je nemůžete zařadit.

Oprávnění k adresáři 700 a oprávnění k souborům 644 jsou pro mě naprosto v pořádku.


Linux
  1. Ssh a oprávnění k domovskému adresáři?

  2. K čemu jsou Inody dobré?

  3. Jak SSH do konkrétního adresáře?

  1. Rsync mění oprávnění k adresáři?

  2. Cheat sheet pro oprávnění k souborům/adresáři pro Linux

  3. Linux, proč nemohu psát, i když mám skupinová oprávnění?

  1. cd do adresáře bez povolení

  2. Jak zkopírovat adresáře do adresáře pomocí instalace v bash?

  3. Zkontrolujte, zda je adresář úložištěm git (aniž byste do něj museli cd)