Les fichiers utilisateur sont-ils toujours privés lorsque deux utilisateurs sudo existent dans Ubuntu?

31

Je partage mon ordinateur personnel Ubuntu avec un de mes collègues.

J'ai créé un autre utilisateur avec un mot de passe différent (il le sait bien sûr) et je l'ai ajouté à la liste sudoer .

Étant donné qu'il y a deux sudo utilisateurs dans un seul système Ubuntu:

  • Les fichiers privés (spécifiés par les propriétaires et les autorisations) de ces utilisateurs sont-ils toujours privés?

  • Puis-je modifier les fichiers de mon collègue via la commande sudo , voire sudo su , ou inversement?

posée Jizhou Huang 30.11.2017 - 13:34
la source

6 réponses

52

Si votre collègue figure dans la liste sudoers, il est aussi important que vous s'il le souhaite (et il peut également vous imiter), puis il peut tout voir.

C’est la pire configuration que vous puissiez avoir si vous souhaitez protéger la confidentialité des utilisateurs. Vous devriez lire de manière définitive le fonctionnement de la gestion des utilisateurs sous Linux. Voici quelques articles qui peuvent commencer avec:

Et même dans ce cas, si quelqu'un a un accès physique à la machine en question, il n'y a aucune confidentialité, il peut tomber au démarrage dans un shell root et tout voir, quoi qu'il en soit, et s'il s'agit d'un mot de passe protégé, il peut toujours utiliser un Clé USB et continuez ainsi.

La meilleure chose à faire dans ce cas est donc une gestion appropriée des utilisateurs, un mot de passe pour root et un lecteur chiffré et / ou des répertoires de départ chiffrés.

    
réponse donnée Videonauth 30.11.2017 - 13:38
la source
20

Une alternative simple consiste à conserver vos données privées dans un fichier crypté (par exemple, un fichier archive tar que vous cryptez, par exemple avec gpg). Vous devez vous rappeler d’écraser et de supprimer les fichiers en texte clair après les avoir lus.

Une autre alternative pour tous ceux qui partagent un ordinateur et un accès sudo (root) consiste à utiliser un échange domestique crypté et un swap crypté.

Mais cela ne vous aidera pas si vous êtes connecté en même temps. En fait, vous devez redémarrer votre ordinateur pour vous débarrasser de vos fichiers en format texte clair, même avec une maison cryptée.

En général, la sécurité est très difficile et un système mono-utilisateur avec disque chiffré (LVM avec chiffrement) serait le moyen le plus simple de sécuriser les éléments.

  • Ne stockez pas de données privées sensibles sur un ordinateur partagé
  • Ne stockez pas de données privées sur un ordinateur appartenant à votre employeur
réponse donnée sudodus 30.11.2017 - 13:51
la source
9

Une fois que vous pouvez obtenir les autorisations root (par exemple, en utilisant sudo , su , etc.).
Vous avez un accès complet à tous les fichiers du système.

Ainsi, les deux utilisateurs disposant de l'autorisation sudo et pouvant devenir root en utilisant sudo bash auront un accès complet à tous les fichiers du système

Selon la question et réponse sur SE-Security : Vous pourrez peut-être modifier SELinux (ce qui n’est pas Ubuntu) afin de limiter l’accès à root :

If your question is "can I easily and safely do this now?" the answer is no. If your answer is "I am prepared to learn about SELinux, get down and dirty with my distribution and put up with quite a lot of things not working" the answer is it is possible to constrain root much more than your average install. That said, this does not in any way make you invulnerable to exploits - it does not make it impossible for a user to circumvent this extra access control either in software or physically.

    
réponse donnée Yaron 30.11.2017 - 13:37
la source
5

Pour clarifier ce que les autres réponses ont déjà dit: Cet autre utilisateur est non seulement "root autant que vous" (réponse de Videonauth), il peut également vous devenir (accédez à votre compte utilisateur) .

En effet, avec les privilèges de superutilisateur, il est possible de passer à n’importe quel compte.

Vous savez probablement

sudo su

est une option permettant d'ouvrir un shell root si aucun mot de passe n'est défini pour root (vous ne pouvez donc pas vous connecter directement en tant que root).

su est l'abréviation de "changer d'utilisateur". À quel utilisateur est-il basculé? Aucun n'est indiqué, non? Mais à partir de la page de manuel, nous pouvons apprendre que:

Invoked without a username, su defaults to becoming the superuser.

C'est donc effectivement

sudo su root

si vous n'avez pas renommé root en quelque chose d'autre.

Si vous ne faites que su <someuser> , un mot de passe vous sera demandé. Ainsi, si vous exécutez su root , vous êtes invité à saisir le mot de passe root (qui n'existe pas par défaut dans Ubuntu; vous ne pouvez donc pas vous connecter (notez qu'aucun mot de passe n'est défini, ce qui signifie qu'il n'y a aucun moyen de se connecter via un compte utilisateur). mot de passe différent du mot de passe étant la chaîne vide)). Mais si vous exécutez sudo su root , vous êtes invité à entrer votre propre mot de passe. Et vous n’y êtes invité que par sudo . Une fois que sudo a reçu votre mot de passe, il exécute la commande reçue en tant que paramètre avec les privilèges de superutilisateur. Comme il est possible de passer à n’importe quel compte avec les privilèges de superutilisateur, une invite de mot de passe n’est pas nécessaire.

Donc en exécutant

sudo su <yourusername>

, l'autre sudoer peut se connecter comme vous le souhaitez.

    
réponse donnée UTF-8 30.11.2017 - 19:52
la source
2

Il est possible de limiter les programmes pouvant être exécutés à l'aide de l'ascension de privilèges sudo en modifiant le fichier sudoers ( /etc/sudoers ).

Voir la réponse acceptée à cette question sur le super utilisateur pour plus de détails et ici sous Unix et Linux . Consultez la answer by slm pour une suggestion sur la limitation des privilèges dans /etc/sudoers .

Vérifiez également la page sudoers man en tapant man sudoers et n'oubliez pas de la tester. Rappelez-vous qu'avec un accès sudo libre, un utilisateur peut emprunter pleinement l'identité d'un autre utilisateur. par exemple, si l'utilisateur foo devait exécuter la commande

sudo exec su - bar

ils pourraient alors agir en tant qu'utilisateur bar , avec tous les privilèges de cet utilisateur.

    
réponse donnée charmer 30.11.2017 - 15:42
la source
-1

Les réponses précédentes ne s'appliquent pas pleinement si vous avez marqué encrypt home folder lors de l'installation d'Ubuntu. Cela garantit des dossiers personnels chiffrés pour chaque utilisateur, même si root ne peut pas lire les données sans le mot de passe correct de l'utilisateur / propriétaire de ce dossier personnel. Votre collègue devra changer votre mot de passe pour lire les fichiers, ce qui sera remarqué.

Et, bien sûr, les gens ont raison. Il n’est pas judicieux de partager des machines avec des données précieuses ou sensibles, ainsi qu’un accès root avec des collègues.

En fonction de la valeur de ces données, je vous conseillerais de demander votre propre machine.

    
réponse donnée s1mmel 30.11.2017 - 14:08
la source

Lire d'autres questions sur les étiquettes