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


Réponses:


32

Un Publicdossier existe dans votre répertoire de base ( /home/user) pour partager des fichiers avec d'autres utilisateurs. Si un autre utilisateur souhaite accéder à ce Publicdossier, 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 (autres personnes ou humains, comme www-datapour un serveur Web), vous pourrez utiliser chmod o-rwx "$HOME"(supprimer lecture / écriture / exécution de "autre", ce qui équivaut à chmod 750 "$HOME"puisque l'autorisation par défaut est 750 ). Sinon, vous devez également modifier le umaskparamètre pour empêcher les fichiers nouvellement créés d'obtenir des autorisations de lecture pour le monde par défaut.

Pour une configuration 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 voudrais donc éditer le /etc/profilefichier et ajouter 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 027dans 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 ~/Publicdossier avec tout le monde, lancez les commandes suivantes:

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

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

chmod -R o+rX ~/Public


7

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.


12
Je pense qu'avoir le même comportement dans l'édition Server est un trou dans la sécurité
warvariuc

4
C'est une explication folle. Outre les comptes de personnes, il existe des comptes techniques que les utilisateurs peuvent utiliser pour isoler des applications. En outre, de nombreuses instructions expliquent comment configurer un serveur FTP local qui partage essentiellement le compte sur la machine.
Barafu Albino

4
Je sais que c'est du vieux fil, mais considérez cela comme une décision stupide. Imaginez que l'un des utilisateurs exécute app / script (ce qui peut être involontaire), capable de lire et d'envoyer des fichiers à partir de tout autre profil.
mauron85


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 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.


0

Puisque c'est la vie privée qui vous intéresse (à en juger par les balises qui ont été appliquées), il est fort possible que la définition des autorisations soit insuffisante (voir la réponse de ignis ). La réponse peut être quelque chose comme un répertoire personnel crypté . 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 ~/.Privaterépertoire, 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

-1

Si vous avez vraiment besoin d'un haut niveau de sécurité: réinstallez-le et assurez-vous de choisir l'option permettant de chiffrer l'intégralité de votre disque. Cela nécessitera un mot de passe pour même démarrer la machine. Vous pouvez bien entendu également chiffrer votre dossier de départ une fois de plus, avec certaines dégradations des performances. mais pas perceptible pour une utilisation normale.

Veuillez noter que le cryptage de votre dossier de base désactivera des applications telles que Dropbox. Dropbox n'est pas un stockage sécurisé qui respecte la vie privée de toute façon, alors cela peut être un problème banal. Cependant, si vous avez besoin d'un stockage sécurisé et privé dans le nuage, je recommanderais personnellement MEGAsync, car vous seul avez les clés pour accéder aux données.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.