it-swarm-eu.dev

Změnit oprávnění a vlastnictví složky

Chtěl bych, aby měl uživatel úplná práva na tuto složku (stejně jako všechny podadresáře a soubory v ní):

~/.blabla

v současné době vlastní root.

Našel jsem četné příspěvky (na tomto fóru i jinde) o tom, jak to udělat pro soubory, ale nemůžu najít způsob, jak to udělat pro celé složky.

556
user2413

Nastavte, aby aktuální uživatel vlastnil vše uvnitř složky (a samotné složky):

Sudo chown -R $USER ~/.blabla
279

Použijte chown ke změně vlastnictví a chmod ke změně práv.

Jak řekl Paweł Karpiński, použijte volbu -R pro uplatnění práv na všechny soubory uvnitř adresáře.

Všimněte si, že oba tyto příkazy fungují také pro adresáře. Možnost -R způsobí, že také změní oprávnění pro všechny soubory a adresáře uvnitř adresáře.

Například

Sudo chown -R username:group directory

změní vlastnictví (uživatel i skupina) všech souborů a adresářů uvnitř samotného directory a directory.

Sudo chown username:group directory

změní pouze oprávnění ke složce directory, ale soubory a složky zůstanou uvnitř adresáře.

Jak již bylo zmíněno v enzotibu, musíte použít Sudo ke změně vlastnictví z root na sebe.

pravit:

Pokud používáte chown <user>: <file> (Všimněte si vynechané skupiny), použije výchozí skupinu pro daného uživatele.

Pokud chcete změnit pouze skupinu, můžete použít:

chown :<group> <file>
730
Ikke

Pokud chcete, můžete to provést také pomocí grafického uživatelského rozhraní. K tomu budete muset otevřít Nautilus jako root. lis Alt + F2 pro přístup do dialogu „Spustit aplikace“ a zadejte gksu nautilus

Dále přejděte a klikněte pravým tlačítkem na složku, kterou chcete upravit. Poté z kontextové nabídky vyberte „Vlastnosti“. Nyní můžete vybrat uživatele nebo skupinu, kterou chcete být „vlastníkem“ složky, a také oprávnění, která byste jim chtěli udělit. Nakonec stiskněte tlačítko „Použít oprávnění pro uzavřené soubory“, chcete-li použít změny rekurzivně.

Zdá se, že to u některých operací ve stromu hlubokých složek nefunguje vždy. Pokud to nefunguje, použijte příslušný příkaz terminálu.

alt text

56
andrewsomething

Pokud je ve vlastnictví root, můžete to udělat

Sudo chown <your username>:<your usergroup> -R <path to>/.blabla

Protože ./blabla ve vlastnictví root, musíte získat oprávnění root, abyste to mohli změnit. To udělá Sudo. Volba -R pro příkaz chown říká: tento adresář a vše v něm rekurzivně.

30
AndyB

měl bys zkusit chmod -R

11
Praweł

Za prvé chmod -R může zmatit vaše systémová oprávnění, pokud to omylem uděláte v systémovém souboru a adresářích.

Druhý chmod -R může v těchto složkách zkomplikovat příznaky a není dobrým nápadem udělit oprávnění pro některé složky všem uživatelům.

Měli byste místo toho zkusit a chown:

 Sudo tree -fai ~/.blabla  | xargs -L1 -I{} Sudo chown youruser:youruser {}
2

Příklady

Nejprve zadejte seznam oprávnění pro demo.txt a zadejte:

# ls -l demo.txt

Ukázkové výstupy:

-rw-r--r-- 1 root root 0 Aug 31 05:48 demo.txt

V tomto příkladu změňte vlastnictví souboru na uživatele vivek a uveďte seznam oprávnění, spusťte:

# chown vivek demo.txt
# ls -l demo.txt

Ukázkové výstupy:

-rw-r--r-- 1 vivek root 0 Aug 31 05:48 demo.txt

V tomto dalším příkladu je vlastník nastaven na vivek, následuje dvojtečka a skupinová věže je také nastavena na vivek group, run:

# chown vivek:vivek demo.txt
# ls -l demo.txt

Ukázkové výstupy:

-rw-r--r-- 1 vivek vivek 0 Aug 31 05:48 demo.txt
1
Benyamin Jafari