web-dev-qa-db-fra.com

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

Je vois souvent des utilisateurs qui tentent de résoudre un problème et quelque part lisent ou essaient simplement de récursivement chown leur répertoire personnel et parfois même de réinitialiser récursivement les autorisations sur quelque chose comme rwxr-xr-x ou similaire.

Imaginez un tel massacre de propriétaires/autorisations - existe-t-il des fichiers/répertoires critiques qui besoin autorisations spéciales ou qui appartiennent à la racine pour que le système fonctionne?

14
Byte Commander

AUCUN fichier dans ~ ne doit appartenir qu'à root.

Si un logiciel nécessite qu'un fichier du répertoire principal votre soit la propriété d'un autre utilisateur, il s'agit d'un bogue qui 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 tels que authorized_keys, known_hosts, etc. ne doivent être accessibles en écriture que par l'utilisateur, mais peuvent être lisibles par tout le monde.

GnuPG

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

17
muru

En général, les fichiers et les répertoires de votre maison doivent appartenir à vous.
J'ai des fichiers étranges appartenant à la racine qui sont probablement le résultat de l’exécution de la commande Sudo; En fait, il existe des programmes qui écrivent des choses sous $HOME (qui ne nécessitent pas de programmes bien conçus nécessitant des privilèges de super-utilisateur - l’effet est l’acquisition par la racine de la propriété de fichiers qui doivent appartenir à l’utilisateur).
Normalement, leur suppression ou leur réappropriation (en fonction du fichier) ne crée pas de problèmes et en règle souvent certains, comme le fameux fichier .Xauthority --- et parfois, après avoir exécuté 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, au moins pour le propriétaire;
  • il doit en être de même des répertoires (où x signifie droit de traverser);
  • .ssh doit être drwx------ (0700) et les clés privées qu'il contient -rw------- (0600)
  • si vous avez un répertoire Public pour le partage, il devrait probablement s'agir de drwxr-xr-x (autorisation de lecture en lecture) ou de drwxrwxrwt (avec autorisation d'écriture et sticky bit, pour permettre l'écriture).

... Je ne peux pas penser à rien de plus besoin d'un traitement spécial.

11
Rmano