Propriétaires / autorisations par défaut des fichiers dans le répertoire de base de l'utilisateur

14

Je vois souvent des utilisateurs qui essaient de résoudre un problème et lisent quelque part ou essaient simplement de récursivement chownleur répertoire personnel et parfois même de réinitialiser les autorisations de manière récursive sur quelque chose de similaire rwxr-xr-xou similaire.

Imaginez un tel massacre de propriétaires / autorisations - y a-t-il des fichiers / répertoires critiques qui ont besoin d'autorisations spéciales ou qui appartiennent à root pour que le système fonctionne?

Byte Commander
la source
1
De quels fichiers parlez-vous? Pourquoi les fichiers critiques appartenant à root se trouveraient-ils dans une maison utilisateur?
mikewimporte
1
@mikewhatever Je sais au moins trois répertoires qui doivent appartenir à root: ~/.gvfs/, ~/.cache/gvfs-burn/et ~/.cache/dconf. Il y en a probablement plus.
Byte Commander
1
drwx------ 2 romano romano 4096 dic 2 2008 .gvfset jamais eu de problème .... (voir la date). Aussidrwx------ 2 romano romano 4096 abr 28 14:57 .cache/dconf
Rmano
3
Il n'y a pas de fichiers "critiques" dans le répertoire d'origine de l'utilisateur, s'il y en a alors c'est le résultat d'une très mauvaise programmation, puisque l'utilisateur peut les supprimer volontairement / par erreur en un éclair. Sauf si c'est une erreur, les fichiers "critiques" sont stockés ailleurs.
kos
FWIW, je peux confirmer que ~ / .gvfs et ~ / .cache / dconf sur mon système appartiennent tous deux à root. J'ai exécuté "sudo ls -Al" sur les deux répertoires, et ils sont tous les deux vides. Bien que j'ai changé le groupe et d'autres autorisations pour les documents, je n'ai jamais exécuté chown. Ainsi, la propriété root de ces deux répertoires pourrait bien être normale, au moins pour Ubuntu 15.04. De plus, je n'ai pas de répertoire ~ / .cache / gvfs-burn, ni les répertoires ipc-admin mentionnés par Byte Commander qui appartiennent à root. Mais, le fichier nommé alpha-numérique dans ~ / .dbus / session-bus appartient à Moi, pas à root.
user173876

Réponses:

17

AUCUN fichier ~ne doit appartenir à root.

Si un logiciel nécessite qu'un fichier de votre répertoire personnel soit la propriété d'un autre utilisateur, il s'agit d'un bug et doit être signalé comme tel.

En dehors de cela, un cas courant implique deux logiciels liés à la sécurité qui nécessitent des autorisations restreintes sur certains fichiers, à savoir:

  1. SSH
  2. GPG

SSH

Voir man ssh, section FILES:

 ~/.ssh/config
     This is the per-user configuration file.  The file format and
     configuration options are described in ssh_config(5).  Because of
     the potential for abuse, this file must have strict permissions:
     read/write for the user, and not writable by others.  It may be
     group-writable provided that the group in question contains only
     the user.

 ~/.ssh/identity
 ~/.ssh/id_dsa
 ~/.ssh/id_ecdsa
 ~/.ssh/id_ed25519
 ~/.ssh/id_rsa
     Contains the private key for authentication.  These files contain
     sensitive data and should be readable by the user but not acces‐
     sible by others (read/write/execute).  ssh will simply ignore a
     private key file if it is accessible by others.  It is possible
     to specify a passphrase when generating the key which will be
     used to encrypt the sensitive part of this file using 3DES.

D' autres fichiers comme authorized_keys, known_hosts, etc. doivent être uniquement modifiables par l'utilisateur, mais peuvent être lisibles par tous.

GnuPG

~/.gnupg(et son contenu) ne doivent être accessibles que par vous. Avec d'autres autorisations, GPG se plaindra des autorisations non sécurisées.

muru
la source
Et alors ~/.gvfs/, ~/.cache/gvfs-burn/et ~/.cache/dconf? Ils appartiennent à root et je pense qu'ils devraient l'être.
Byte Commander
2
@ByteCommander non. Utiliser sudoavec des programmes GUI, avez-vous?
muru
Non pas que je m'en souvienne ... Je crée un nouvel utilisateur et j'y vérifie. Un instant s'il vous plaît.
Byte Commander
@ByteCommander jetez un œil: bugzilla.gnome.org/show_bug.cgi?id=534284
muru
1
@ByteCommander si telle était l'intention, alors sudo -iou sudo -Hprobablement devrait être utilisée.
muru
11

En général, les fichiers et le répertoire de votre maison devraient vous appartenir.
J'ai d'étranges fichiers appartenant à root qui sont probablement le résultat de l'exécution de la sudocommande; en fait, il y a des programmes qui écrivent des choses $HOME(ce que les programmes bien comportés nécessitant des privilèges de super-utilisateur ne devraient pas faire --- l'effet est la prise en charge par la racine des fichiers qui devraient appartenir à l'utilisateur).
Normalement, les supprimer ou les reprendre (selon le fichier) ne crée pas de problèmes et souvent cela en résout certains, comme le fameux .Xauthorityfichier --- et parfois, après l'exécution sudo dconf-editor, vous avez des choses dans des configurations que vous ne pouvez plus modifier.

À propos des modes spéciaux:

  • les scripts doivent être exécutables, bien sûr, au moins pour le propriétaire;
  • il doit en être de même pour les répertoires (où xsignifie droit de traverser);
  • .sshdoit être drwx------(0700) et ses clés privées -rw-------(0600)
  • si vous avez un Publicrépertoire pour le partage, il devrait être probablement drwxr-xr-x(autorisation de lecture à n'importe qui) ou drwxrwxrwt(avec autorisation d'écriture et bit collant, pour permettre l'écriture).

... Je ne peux penser à rien de plus nécessitant un traitement spécial.

Rmano
la source
Et alors ~/.gvfs/, ~/.cache/gvfs-burn/et ~/.cache/dconf? Ils appartiennent à root et je pense qu'ils devraient l'être.
Byte Commander
@ByteCommander --- tout ce que je possède dans mon système, et rien ne fonctionne mal. Pourquoi pensez-vous qu'ils doivent appartenir à root? Dans dconfest votre configuration, et la commande / démon privilégié qui fait le montage des partitions doit transférer la propriété à vous --- sinon il est un bug. J'ai commenté cela sur votre question.
Rmano
J'ai trouvé deux autres fichiers appartenant à root que je ne sais pas si c'est bien ou mal: ~/.dbus/session-bus/7ae519bec942595a6925fb2d5448031b-1et /home/ipc-admin/.aptitude/config, beaucoup de choses sous /home/ipc-admin/.cache/pip/wheels/, /home/ipc-admin/.local/share/session_migration-(null)et /home/ipc-admin/.local/share/applications/mimeapps.list. Pouvez-vous imaginer pourquoi ceux-ci appartiennent à root sur mon système?
Byte Commander