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

29

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

Quelle est la raison d’établir de telles autorisations laxistes?

    
posée ændrük 02.06.2011 - 03:53
la source

5 réponses

24

Un dossier Public existe dans votre répertoire personnel ( /home/user ) pour partager des 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 sur le Répertoire de base.

Si vous n'avez pas besoin d'autoriser les autres utilisateurs à accéder à votre dossier personnel (autres utilisateurs ou utilisateurs comme www-data pour un serveur Web), vous pourrez utiliser chmod o-rwx "$HOME" (supprimer read / write / execute de "other") , équivalent à chmod 750 "$HOME" puisque l'autorisation par défaut 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 par défaut.

Pour une configuration à l’échelle du système, modifiez /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, donc j'éditerais le fichier /etc/profile et ajouterais la ligne:

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 corriger 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 ~ - permet à tout le monde de descendre dans le répertoire ( x ), mais ne reçoit pas de liste de répertoires ( r ne doit pas être ajouté)
  • find ~/Public -type f -exec chmod o+r {} \; - permet à tout le monde de 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 répertorier leurs contenus

Si vous utilisez coreutils GNU (par exemple sur Ubuntu, pas sur un système embarqué avec busybox uniquement), les deux commandes précédentes utilisant find et chmod peuvent être remplacées par cette seule commande qui crée récursivement des dossiers et fichiers lisibles (et ajoute en outre le bit d’exécution (descend) pour les répertoires uniquement ):

chmod -R o+rX ~/Public
    
réponse donnée Lekensteyn 02.06.2011 - 10:04
la source
11

Selon un membre du personnel d'Ubuntuforms.org , il est plus facile de partager des fichiers entre de nouveaux utilisateurs. .

Vous pouvez remplacer l’autorisation par 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 d'Ubuntu est 755

    
réponse donnée Jason Iverson 02.06.2011 - 04:19
la source
5

Vous pouvez consulter la section Gestion des utilisateurs du serveur Ubuntu. Guide qui couvre les détails nécessaires. Le paragraphe Sécurité du profil utilisateur répondra probablement à vos questions - officiellement.

    
réponse donnée Pavlos G. 02.06.2011 - 05:09
la source
3

Selon Mark Shuttleworth ,

  

"La majorité des utilisateurs des systèmes Ubuntu ont soit l’utilisation exclusive du   machine (ordinateur portable personnel) ou partagent avec des amis et des parents. nous   supposons que les personnes qui partagent la machine sont soit fiables, soit   position de pirater la machine (démarrage à partir d'USB!) trivialement. Par conséquent,   il y a peu ou pas d'avantages "

... de supprimer ces autorisations.

    
réponse donnée ignis 29.09.2013 - 00:48
la source
1

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 find 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 de permettre aux autres d’exécuter des fichiers exécutables.

    
réponse donnée spinup 25.03.2012 - 21:11
la source

Lire d'autres questions sur les étiquettes