Comment changer le propriétaire en utilisateur actuel sur le dossier et contenant les dossiers dans mon répertoire personnel?
12
En utilisant, sudo nautilusj'ai créé certains dossiers et je veux me débarrasser de l'autorisation root sur eux. Mais j'en ai beaucoup et je veux le faire dans un répertoire entier et ses dossiers contenant.
Alors, comment autoriser la lecture / écriture à l'utilisateur actuel de tous les fichiers et dossiers d'un répertoire spécifique situé à l'intérieur de la maison?
Pour annuler les dommages causés par l'utilisation, sudo nautilusvous devez vous rendre propriétaire de tous les répertoires (et de leur contenu) appartenant à root.
Vous pouvez utiliser findpour ce faire, car il dispose d'un test pour rechercher uniquement les fichiers appartenant à un utilisateur spécifique.
Cela trouvera tous les répertoires de votre maison appartenant à root:
sudo find ~ -type d -user root
Vous pouvez ensuite répéter la findcommande et ajouter l'action que vous souhaitez faire - en changeant récursivement la propriété de tous les répertoires trouvés et de leur contenu à l'utilisateur actuel:
-user root trouver uniquement les éléments appartenant à root
-exec faire la commande suivante sur tout ce qui a été trouvé
sudo chown -R changer récursivement de propriétaire
$USER l'utilisateur actuel
: changer également le groupe en utilisateur spécifique
Plus efficacement, vous pouvez omettre le -type dpour rechercher des fichiers de tout type appartenant à root, et également omettre le -Rcomme le findfera la récursion pour vous en agissant sur tous les fichiers
Vous devez exécuter votre findwith sudo( sudo find ...) pour inspecter les rootsous-répertoires appartenant à l'utilisateur avec des 0700protections et tout ce qui se trouve en dessous. Idem pour la réparation.
waltinator
"défendre contre ce qui est probable" ou "défendre contre ce qui est possible"? Votre choix.
waltinator
@waltinator bien sûr :) merci de l'avoir mentionné pour que je puisse m'améliorer. J'essaie juste de ne pas utiliser sudoavant d'avoir besoin
Zanna
10
L'exécution d'outils GUI, comme nautilusas rootis Considered Harmful pour cette raison, entre autres (fonctions cachées, possibilité d'exécuter silencieusement des fragments de programme de qui sait où, ...).
Vous n'avez pas de problème de "permission", vous avez un problème de "propriété".
Pour trouver tous les fichiers détenus par root(qui appartiennent vraiment à quelqu'un d'autre), procédez comme suit:
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 à des non-vous, dont la propriété vous sera retournée.
Ce que vous devez faire est de changer la propriété du dossier de la racine de l'utilisateur (et du groupe) à l'autre utilisateur (et groupe) que vous souhaitez.
Imaginez que vous souhaitiez travailler sur / home / randomFolder et que l'utilisateur dont vous souhaitez gérer la propriété soit vitor-abella , ce que vous devez faire est simplement de l'exécuter en tant que root:
find
withsudo
(sudo find ...
) pour inspecter lesroot
sous-répertoires appartenant à l'utilisateur avec des0700
protections et tout ce qui se trouve en dessous. Idem pour la réparation.sudo
avant d'avoir besoinL'exécution d'outils GUI, comme
nautilus
asroot
is Considered Harmful pour cette raison, entre autres (fonctions cachées, possibilité d'exécuter silencieusement des fragments de programme de qui sait où, ...).Vous n'avez pas de problème de "permission", vous avez un problème de "propriété".
Pour trouver tous les fichiers détenus par
root
(qui appartiennent vraiment à quelqu'un d'autre), procédez comme suit:Pour vous redonner la propriété, vous pouvez
mais cela changera la propriété de tous les fichiers dans et sous
$HOME
Donne à l'un la possibilité d'ajuster la liste des fichiers, appartenant à des non-vous, dont la propriété vous sera retournée.
la source
Ce que vous devez faire est de changer la propriété du dossier de la racine de l'utilisateur (et du groupe) à l'autre utilisateur (et groupe) que vous souhaitez.
Imaginez que vous souhaitiez travailler sur / home / randomFolder et que l'utilisateur dont vous souhaitez gérer la propriété soit vitor-abella , ce que vous devez faire est simplement de l'exécuter en tant que root:
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é.
la source
$(id -u):$(id -g)
, plutôt que de demander à OP d'imaginer, et$HOME/randomFolder
.