web-dev-qa-db-fra.com

Pourquoi les autres utilisateurs peuvent-ils voir les fichiers dans mon dossier personnel?

Je viens d'ajouter un nouvel "utilisateur de bureau" défavorisé et j'ai été surpris de découvrir qu'il peut voir les fichiers de mon dossier personnel.

Quelle est la raison pour configurer de telles autorisations laxistes?

36
ændrük

Un dossier Public existe dans votre répertoire de base (/home/user) pour le partage de fichiers avec d'autres utilisateurs. Si un autre utilisateur souhaite accéder à ce dossier Public, le bit d'exécution pour le monde doit être défini dans le répertoire de base.

Si vous n'avez pas besoin d'autoriser d'autres personnes à accéder à votre dossier de départ (d'autres personnes ou utilisateurs tels que www-data pour un serveur Web), vous pourrez utiliser chmod o-rwx "$HOME" (supprimer les opérations de lecture/écriture/exécution de "other", équivalent à chmod 750 "$HOME", par défaut la permission est 750). Sinon, vous devez également modifier le paramètre umask pour empêcher les fichiers nouvellement créés d’obtenir des autorisations de lecture pour le monde.

Pour une configuration à l'échelle du système, éditez /etc/profile; Les paramètres par utilisateur peuvent être configurés dans ~/.profile. Je préfère la même politique pour tous les utilisateurs. Je vais donc modifier le fichier /etc/profile et ajouter la ligne suivante:

umask 027

Vous devez vous reconnecter pour appliquer ces modifications, sauf si vous êtes dans un shell. Dans ce cas, vous pouvez exécuter umask 027 dans le shell.

Maintenant, pour réparer les autorisations existantes, vous devez supprimer les autorisations de lecture/écriture/exécution des autres:

chmod -R o-rwx ~

Maintenant, si vous décidez de partager le dossier ~/Public avec tout le monde, exécutez les commandes suivantes:

  • chmod o+x ~ - autorise tout le monde à descendre dans le répertoire (x), mais n'obtient pas de liste de répertoires (r ne doit pas être ajouté)
  • find ~/Public -type f -exec chmod o+r {} \; - autoriser tout le monde à lire les fichiers dans ~/Public
  • find ~/Public -type d -exec chmod o+rx {} \; - permet à tout le monde de descendre dans les répertoires et de lister leur contenu

Si vous utilisez GNU coreutils (par exemple sous Ubuntu, et non sur un système embarqué ayant uniquement busybox), les deux commandes précédentes utilisant find et chmod peuvent être remplacées par cette seule commande qui rend les dossiers et les fichiers lisibles. (et ajoute en plus le bit execute (descendant) pour les répertoires uniquement ):

chmod -R o+rX ~/Public
31
Lekensteyn

Selon un membre du personnel Ubuntuforms.org , il s'agit de faciliter le partage de fichiers entre nouveaux utilisateurs.

Vous pouvez modifier l'autorisation 700 ou 750 si vous ne souhaitez pas que les fichiers soient lisibles et exécutables par d'autres.

La commande est:

chmod 750 $HOME

Remarque: la valeur par défaut pour Ubuntu est 755

12
Jason Iverson

selon Mark Shuttleworth ,

"La majorité des utilisateurs de systèmes Ubuntu ont un usage exclusif de la machine (ordinateur portable personnel) ou partagent des informations avec leurs amis et leurs proches. Nous supposons que les personnes partageant la machine sont soit de confiance, soit en mesure de la pirater USB!) trivialement. En conséquence, il y a peu ou pas d'avantage "

... de supprimer ces autorisations.

6
ignis

Vous pouvez lire la section User Management du Ubuntu Server Guide qui couvre les détails nécessaires. Le paragraphe Sécurité du profil utilisateur répondra probablement à vos questions - officiellement.

5
Pavlos G.

Je pense que la réponse de Lekensteyn peut être améliorée en remplaçant les deux dernières commandes find par chmod en utilisant l'option -X (notez le X majuscule). Les deux commandes de recherche peuvent être remplacées par

chmod -R o+rX ~/Public

Cela différencie de manière appropriée les fichiers et les répertoires, mais a pour effet supplémentaire d'autoriser d'autres personnes à exécuter des fichiers exécutables.

1
spinup

Puisque c'est la vie privée qui vous intéresse (à en juger par les balises qui ont été appliquées), il est très possible que la définition des autorisations soit insuffisante (voir réponse d'ignis ). La réponse peut être quelque chose du genre n répertoire personnel chiffré . Cette solution est spécifiquement conçue contre les attaques d’un autre utilisateur d’un ordinateur. Bien entendu, il ne sera pas possible d'empêcher un autre utilisateur d'endommager vos fichiers (en supprimant simplement le répertoire ~/.Private, supprimant ainsi tous vos fichiers), mais ils ne pourront pas monter le répertoire et voir les fichiers sans votre mot de passe.

Le moyen le plus simple d'y parvenir est lors du processus d'installation, une case à cocher indiquant "Crypter votre répertoire de base" doit être sélectionnée.

Comme il est peu probable que vous souhaitiez réinstaller uniquement pour cela (et parce qu'il comporte toujours tous les risques inhérents à son exécution sans réinstallation), vous pouvez procéder comme suit:

Sudo apt-get install encryptfs-utils
encryptfs-migrate-home
0
v010dya