web-dev-qa-db-fra.com

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

Je partage mon ordinateur personnel Ubuntu avec l'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 l'a ajouté à la liste sudoer.

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

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

  • Puis-je modifier les fichiers de mon collègue via la commande Sudo, même Sudo su, ou vice versa?

31
Jizhou Huang

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), et il peut alors tout voir.

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

Et même dans ce cas, si une personne a un accès physique à la machine en question, il n’y a aucune confidentialité, il peut tomber au démarrage dans un shell racine et tout voir, quoi qu’il en soit, et si cela est protégé par mot de passe, il peut toujours utiliser une clé USB allez dans ce chemin.

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

52
Videonauth

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 crypté (LVM avec cryptage) 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.
19
sudodus

Une fois que vous êtes en mesure d’obtenir les autorisations root(par exemple, en utilisant Sudoname__, suname __, etc.).
Vous avez un accès complet à tous les fichiers du système.

Ainsi, les deux utilisateurs disposant de l'autorisation Sudoet pouvant devenir rootà l'aide de Sudo bash disposeront d'un accès complet à tous les fichiers du système.

Selon cette Q & A dans SE-Security: Vous pourrez peut-être modifier SELinux(qui n'est pas Ubuntu) afin de limiter l'accès à rootname__:

Si votre question est "puis-je le faire facilement et en toute sécurité maintenant?" La réponse est non. Si votre réponse est "Je suis prêt à en savoir plus sur SELinux, à me gâter avec ma distribution et à supporter pas mal de choses qui ne fonctionnent pas", la réponse est qu'il est possible de contraindre root beaucoup plus que votre installation moyenne. Cela dit, cela ne vous rend en aucun cas invulnérable aux exploits - cela ne permet pas non plus à un utilisateur de contourner ce contrôle d'accès supplémentaire, que ce soit par logiciel ou physiquement.

8
Yaron

Pour rendre parfaitement claires ce que les autres réponses ont déjà dit: Cet autre utilisateur est non seulement "root autant que vous" (réponse de Videonauth), ils peuvent également vous devenir (passez à 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

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

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

Appelé sans nom d'utilisateur, su devient par défaut le super-utilisateur.

Donc, c’est effectivement

Sudo su root

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

Si vous exécutez simplement su <someuser>, vous serez invité à entrer un mot de passe. Donc, 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 signifie qu’il n’ya aucun moyen de vous connecter via un mot de passe. est 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.

5
UTF-8

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

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

Consultez également la page sudoers manen tapant man sudoers et n'oubliez pas de le tester. N'oubliez pas qu'avec un accès Sudo sans entrave, un utilisateur peut emprunter pleinement l'identité de tout autre utilisateur. par exemple, si l'utilisateur foodevait exécuter la commande

Sudo exec su - bar

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

3
charmer

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 aurait besoin de changer votre mot de passe pour lire les fichiers, ce qui serait remarqué.

Et bien sûr, les gens ont raison de dire que partager des machines avec des données précieuses ou sensibles et, en plus, un accès root avec des collègues, n’est pas une bonne idée.

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

0
s1mmel