web-dev-qa-db-fra.com

Changer les permissions et la propriété du dossier

J'aimerais que l'utilisateur ait tous les droits sur ce dossier (ainsi que sur tous les sous-répertoires et fichiers qu'il contient):

~/.blabla

appartenant actuellement à root.

J'ai trouvé de nombreux articles (dans ce forum et ailleurs) sur la façon de procéder pour les fichiers, mais je ne trouve pas le moyen de le faire pour des dossiers entiers.

473
user2413

Attribuez à l'utilisateur actuel tout ce qui se trouve dans le dossier (et le dossier lui-même):

Sudo chown -R $USER ~/.blabla
170

Utilisez chownpour changer de propriétaire et chmodpour changer les droits.

Comme l'a dit Paweł Karpiński, utilisez également l'option -R pour appliquer les droits de tous les fichiers d'un répertoire.

Notez que ces deux commandes ne fonctionnent que pour les répertoires. L'option -R leur permet également de modifier les autorisations pour tous les fichiers et répertoires à l'intérieur du répertoire.

Par exemple

Sudo chown -R username:group directory

changera la propriété (utilisateur et groupe) de tous les fichiers et répertoires à l’intérieur de directoryet directorylui-même.

Sudo chown username:group directory

modifiera uniquement l'autorisation du dossier directorymais laissera les fichiers et les dossiers à l'intérieur du répertoire uniquement.

Comme mentionné par enzotib, vous devez utiliser Sudopour changer le propriétaire de la racine à vous-même.

Edit:

Notez que si vous utilisez chown <user>: <file> (notez le groupe omis), il utilisera le groupe par défaut pour cet utilisateur.

Si vous souhaitez modifier uniquement le groupe, vous pouvez utiliser:

chown :<group> <file>
682
Ikke

Si vous préférez, vous pouvez également utiliser une interface graphique. Pour ce faire, vous devez ouvrir Nautilus en tant que root. presse Alt + F2 pour accéder à la boîte de dialogue "Exécuter les applications" et entrez gksu nautilus

Ensuite, accédez au dossier que vous souhaitez modifier et cliquez dessus avec le bouton droit de la souris. Ensuite, sélectionnez "Propriétés" dans le menu contextuel. Vous pouvez maintenant sélectionner l'utilisateur ou le groupe dont vous souhaitez être le "propriétaire" du dossier, ainsi que les autorisations que vous souhaitez leur accorder. Enfin, cliquez sur "Appliquer les autorisations aux fichiers inclus" pour appliquer les modifications de manière récursive.

Bien qu'il semble que cela ne fonctionne pas toujours pour certaines opérations dans une arborescence de dossiers profonde. Si cela ne fonctionne pas, utilisez la commande de terminal appropriée.

alt text

54
andrewsomething

Si cela appartient à root, vous pouvez le faire

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

Depuis ./blabla appartenant à root, vous devez obtenir les privilèges root pour changer cela. C'est ce que fera Sudo. L'option -R de la commande chown indique: ce répertoire et tout ce qu'il contient de manière récursive.

26
AndyB

vous devriez essayer chmod -R

10
Pawełkowy

Le premier chmod -R peut gâcher vos autorisations système si vous le faites par erreur sur des fichiers et des répertoires système.

La seconde chmod -R peut gâcher les drapeaux dans ces dossiers et ce n’est pas une bonne idée de donner des autorisations sur certains dossiers à tous les utilisateurs.

Vous devriez plutôt essayer chown:

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