Pourquoi certains fichiers et dossiers sont-ils masqués?

12

Je peux comprendre la raison de cacher des fichiers et des dossiers dans le /home/userrépertoire pour empêcher les utilisateurs de jouer avec les choses. Cependant, je ne vois pas comment le même raisonnement peut être appliqué à des fichiers dans le /etc, /bootet les /varrépertoires qui est le domaine des administrateurs.

Ma question est pourquoi certains fichiers et dossiers sont-ils cachés aux administrateurs? Exemple:

/boot/.vmlinuz-3.11.1-200.fc20.x86_64.hmac
/etc/.pwd.lock
/etc/selinux/targeted/.policy.sha512
/etc/.java
/etc/.java/.systemPrefs
/etc/skel/.bash_profile
/root/.ssh
/root/.config
/var/cache/yum/x86_64/20/.gpgkeyschecked.yum
/var/spool/at/.SEQ
/var/lib/pear/.filemap
Débordement de question
la source
1
regardez la deuxième réponse. La raison de ces fichiers que vous avez énumérés est qu'ils sont des fichiers de configuration qui ne doivent pas être modifiés quotidiennement et sont toujours présents sous la forme .ssh et .bash_profile afin que vous ne vouliez pas savoir qu'ils sont là. C'est juste une convention. Les fichiers dans la file d'attente sont des fichiers temporaires identiques à la plupart des autres fichiers que vous avez répertoriés, ils ne doivent donc pas être modifiés manuellement, ils sont donc masqués
vfbsilva
3
.ssh et .config sont toujours nommés ainsi, qu'ils se trouvent dans le répertoire de base d'un utilisateur normal ou dans le répertoire de base de l'utilisateur root. / etc / skel est censé être un prototype pour les répertoires personnels des nouveaux utilisateurs, et les fichiers ont les mêmes noms que dans les répertoires nouvellement créés.
Mark Plotnick
2
Mais ces fichiers ne sont pas cachés . La lscommande ne répertorie simplement pas les fichiers commençant par un point par défaut (voir info ls) - c'est la conception de ce logiciel particulier.
1
@ illuminÉ: Comment définiriez-vous exactement "caché" sinon comme "non affiché par défaut"? Notez que ce n'est pas seulement une propriété de ls; l'expansion du shell des globes n'inclura pas ces fichiers à moins que le point de tête ne soit explicitement inclus dans le modèle, et généralement les gestionnaires de fichiers ne les afficheront que si vous choisissez l'option "Afficher les fichiers cachés" (oui, l'option utilise ce terme).
celtschk

Réponses:

15

Vous avez mal interprété la justification principale des "fichiers cachés". Ce n'est pas

pour empêcher les utilisateurs de jouer avec les choses.

Bien que cela puisse avoir cette conséquence pour les très nouveaux utilisateurs jusqu'à ce qu'ils apprennent ce qu'est un "fichier dot" (le fichier dot et le répertoire dot sont peut-être des termes plus appropriés et spécifiques que "cachés"). En soi, cela ne vous empêche pas de jouer avec les choses - c'est à cela que servent les autorisations. Cela peut peut-être aider à indiquer aux nouveaux utilisateurs que c'est quelque chose avec lequel ils ne devraient pas jouer jusqu'à ce qu'ils comprennent à quoi cela sert.

Vous pourriez donc considérer le préfixe de point comme une sorte de suffixe de fichier - notez qu'ils n'en ont généralement pas, bien qu'ils le puissent. Cela indique que ce fichier n'est pas intéressant pour la navigation générale, c'est pourquoi lsles navigateurs de fichiers ne l'afficheront généralement pas. Cependant, comme il s'agit d'un préfixe au lieu d'un suffixe, il y a le bonus supplémentaire, lorsque vous les affichez ( ls -a) dans l'ordre lexicographique, pour les voir tous répertoriés ensemble.

Le but normal d'un fichier comme celui-ci est d'être utilisé par une application (par exemple la configuration). Vous n'avez pas besoin de les utiliser directement ou même d'en être conscients.

Ainsi, cette «dissimulation» n'est pas tant destinée à cacher littéralement le fichier à l'utilisateur qu'elle l'est à réduire l'encombrement et à fournir une certaine organisation conceptuelle.

boucle d'or
la source
Merci pour votre réponse. Cela implique-t-il que ces fichiers sont de moindre importance et donc cachés pour réduire l'encombrement?
Débordement de questions du
1
Je suppose que cela dépend de votre point de vue. Cela dit quelque chose sur la signification (probable) du fichier. Ils sont utilisés dans les répertoires personnels pour les configurations par utilisateur , mais ils sont également utilisés dans les répertoires généralement pour indiquer la configuration par répertoire . Deux exemples: les systèmes de contrôle de version tels que git les utiliseront; lors de l' gitanalyse d'un répertoire donné, si un .gitignorefichier est présent, il le lira; et lorsque vous démarrez gdb, il lira un $PWD/.gdbinitfichier s'il est présent ( et une ~/.gdbinitautre méthode courante).
goldilocks
4

/etc/skelcontient des fichiers à copier dans les répertoires personnels des nouveaux utilisateurs. Par conséquent, les noms sont, bien sûr, les mêmes que dans le répertoire personnel d'un utilisateur. Cela explique /etc/skel/.bash_profile. Le répertoire /rootest également un répertoire personnel, à savoir le répertoire personnel de l'utilisateur root. Cela explique /root/.sshet /root/.config.

/etc/.pwd.locksemble être un fichier de verrouillage. Normalement, les fichiers de verrouillage ne vous intéressent pas, il est donc logique qu'il soit masqué.

Pour les autres fichiers, je ne sais pas à quoi ils servent, mais je suis sûr qu'il y a aussi une bonne explication pourquoi ils sont cachés.

Et bien sûr, goldilocks a raison de dire que les fichiers dot ne sont pas cachés afin d'empêcher quiconque de jouer avec eux (l'idée de base d'Unix est de supposer que l'utilisateur sait ce qu'il fait), mais afin d'éviter qu'ils encombrent vos listes de répertoires ( bien que pour les fichiers de configuration dans le répertoire personnel, j'aurais considéré un etcsous-répertoire comme une meilleure solution).

celtschk
la source
+1 "fichiers de configuration dans le répertoire personnel" était une idée assez stupide. Ils sont cachés juste pour apparaître chaque fois que vous ne voulez vraiment pas les voir.
maaartinus
3

Cela peut être une réponse très avisée, mais je pense que la principale raison pour laquelle les fichiers de points et les répertoires de points sont marqués de cette façon n'est pas de les cacher ou de les masquer - je pense que c'est juste pour faire savoir à l'utilisateur que dans ces fichiers et répertoires se trouvent le programme et l'utilisateur. paramètres qui peuvent être modifiés par eux ou par les programmes eux-mêmes.

Le fait que les fichiers de points et les répertoires de points soient omis par défaut par la ligne de commande lset dans les vues de la plupart des gestionnaires de fichiers n'est qu'une marchandise - vous ne voulez pas afficher les détails internes / pour tout, sauf si l'utilisateur le demande; si l'utilisateur souhaite modifier un paramètre et qu'il ne peut pas le faire via une interface graphique, il est très probable qu'il trouve le paramètre qu'il recherche dans un fichier de points .

par exemple> à l'intérieur, $HOME/.vimrcvous trouverez le paramètre de configuration pour vim.

jimm-cl
la source