J'ai eu beaucoup de problèmes lors du changement de l'autorisation d'un dossier myfolder
résidant dans /
. J'ai émis la commande
sudo chown -R luca:luca /myfolder/.*
Mon intention était de changer la propriété de tous les fichiers cachés dans /myfolder
.
Malheureusement, j'ai réalisé que la propriété de a également /
été modifiée, ce qui m'a bien sûr laissé un système cassé. Je pense que cela s'est produit à cause des ..
matchs .*
, mais cela me semble toujours bizarre.
La modification du répertoire parent est-elle le comportement correct ou dois-je déposer un rapport de bogue?
Si c'était mon erreur en utilisant chown, quelles sont les meilleures pratiques à utiliser pour éviter de changer la propriété des dossiers et fichiers système?
.*
signifie tout fichier qui se termine par .
*.
signifie tout fichier qui commence par.
/
directement (création de dossiers, suppression, etc.) à moins que cela ne soit absolument nécessaire (ouvrez une question pour ce que vous voulez réaliser). Il est également dangereux d'utiliser des caractères génériques + des privilèges root car, le plus souvent, vous n'êtes pas sûr à 100% de ce qui est affecté par le caractère générique.
chmod
et ce chown
sont des commandes similaires, toutes deux commencent par ch
, contiennent un o
et ont deux autres lettres similaires ( n
et m
). </ literal> Sérieusement, ils sont tous deux de la forme: [cmd] -R [mode or user] [one or more files]
. Certaines solutions proposées sur cette question fonctionnent également pour votre cas, par exemple celui de Sean Reifschneider (au milieu). Cette réponse s'applique également aux fichiers masqués uniquement en supprimant le modèle glob pour les fichiers non masqués.
..
match.*