À l'aide de Sudo nautilus
, j'ai créé des dossiers et je souhaite supprimer les droits d'accès root sur ceux-ci. Mais j'en ai beaucoup et je veux le faire dans un répertoire entier et ses dossiers.
Alors, comment autoriser les utilisateurs actuels en lecture/écriture à accéder à tous les fichiers et dossiers d’un répertoire spécifique situé dans le répertoire principal?
Pour réparer les dommages causés à l'aide de Sudo nautilus
, vous devez vous rendre propriétaire de tous les répertoires (et de leur contenu) appartenant à root.
Vous pouvez utiliser find
pour cela, car il dispose d'un test pour rechercher uniquement les fichiers appartenant à un utilisateur spécifique.
Ceci trouvera tous les répertoires de votre maison appartenant à root:
Sudo find ~ -type d -user root
Vous pouvez ensuite répéter la commande find
et ajouter l'action que vous souhaitez effectuer - modification récurrente de la propriété de tous les répertoires trouvés et de leur contenu pour l'utilisateur actuel:
Sudo find ~ -type d -user root -exec Sudo chown -R $USER: {} +
~
le répertoire de base-type d
ne trouve que des répertoires-user root
ne trouve que les fichiers appartenant à root-exec
fait la commande suivante sur tout ce qui a été trouvéSudo chown -R
change récursivement de propriétaire$USER
l'utilisateur actuel:
change également le groupe en utilisateur spécifiquePlus efficacement, vous pouvez omettre le -type d
pour rechercher les fichiers de tout type appartenant à root, ainsi que le -R
en tant que find
effectuera la récursion en agissant sur tous les fichiers.
Sudo find ~ -user root -exec Sudo chown $USER: {} +
L'exécution d'outils graphiques, tels que nautilus
en tant que root
, est considérée comme néfaste pour cette raison, parmi d'autres (fonctions cachées, possibilité d'exécuter des fragments de programme en mode silencieux pour ceux qui savent où, ...).
Vous n'avez pas de problème de "permission", vous avez un problème de "propriété".
Pour trouver tous les fichiers appartenant à root
(appartenant réellement à quelqu'un d'autre), faites:
Sudo find $HOME \! -user $USER
Pour vous redonner la propriété, vous pouvez
Sudo chown -R $(id -u):$(id -g) $HOME
mais cela changera la propriété de tous les fichiers dans et sous $HOME
Sudo find $HOME \! -user $USER >/tmp/list-of-files
# edit the list of files, and delete file files you don't want to chown
nano /tmp/list-of-files
xargs Sudo chown $(id -u):$(id -g) </tmp/list-of-files
Donne à l'un la possibilité d'ajuster la liste des fichiers, appartenant à not-you, dont la propriété sera redéfinie.
Ce que vous devez faire est de changer la propriété du dossier de l'utilisateur (et du groupe) racine à l'autre utilisateur (et groupe) de votre choix.
Imaginez que vous souhaitiez travailler / home/randomFolder, et que l'utilisateur auquel vous souhaitez attribuer un droit de propriété soit vitor-abella, il vous suffit de l'exécuter comme racine:
chown -R vitor-abella:vitor-abella /home/randomFolder
Cela peut prendre un certain temps s'il y a beaucoup de fichiers et de sous-dossiers, mais après cela, vous devriez être sur la bonne voie.
À votre santé.