Je partage mon PC Ubuntu personnel 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 l'ai ajouté à la sudoer
liste.
É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 l'un de ces utilisateurs sont-ils toujours privés?
Puis-je modifier les fichiers de mon collègue via la
sudo
commande, mêmesudo su
ou vice versa?
permissions
sudo
Jizhou Huang
la source
la source
Réponses:
Si votre collègue est dans la liste des sudoers, il est root autant que vous s'il le veut (et il peut aussi vous imiter), puis il peut tout voir.
C'est la pire configuration que vous puissiez avoir si vous voulez la confidentialité des utilisateurs. Vous devriez définitivement lire comment fonctionne la gestion des utilisateurs sur Linux. Voici quelques articles avec lesquels vous pouvez commencer:
Et même si quelqu'un a un accès physique à la machine en question, il n'y a pas d'intimité, il pourrait tomber au démarrage dans un shell racine et tout voir quoi qu'il arrive, et si cela était protégé par mot de passe, il pourrait toujours utiliser une clé USB et allez dans cette voie.
Donc, la meilleure chose dans ce cas est une bonne gestion des utilisateurs, un mot de passe pour la racine et un lecteur chiffré et / ou des répertoires personnels chiffrés.
la source
sudo -i
cela ne fonctionne pas :)Une alternative simple consiste à conserver vos données privées dans un fichier crypté (pourrait être un fichier d'archive tar, que vous cryptez, par exemple avec gpg). Vous devez vous rappeler d'écraser et de supprimer les fichiers de texte clair après les avoir consultés.
Une autre alternative pour tous ceux qui partagent un ordinateur et un accès sudo (root) est d'utiliser la maison cryptée et le swap crypté.
Mais cela n'aidera pas si vous êtes connecté en même temps. En fait, vous devez redémarrer l'ordinateur pour vous débarrasser de vos fichiers au format texte clair même avec la 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 choses.
la source
ecryptfs-mount-private
LD_PRELOAD
hacks de l' espace utilisateur : faites simplement un simple enregistreur de touches et lancez-le sur certains scripts python pour effectuer une segmentation floue de K-means en fonction du temps / du regroupement de la frappe et de l'analyse de texte, et terminé. Vous avez maintenant la phrase secrète de l'utilisateur et vous pouvez probablement accéder à ses données personnelles.Une fois que vous êtes en mesure d'obtenir des
root
autorisations (par exemple à l' aidesudo
,su
etc.).Vous avez un accès complet à tous les fichiers du système.
Ainsi, les deux utilisateurs qui ont l'
sudo
autorisation et peuvent devenirroot
utilisateurssudo bash
auront un accès complet à tous les fichiers du systèmeSelon ce Q&A dans
SE-Security
: Vous pourriez être en mesure de modifierSELinux
(ce qui n'est pas Ubuntu) afin de limiter l'root
accès:la source
Pour que ce que les autres réponses disent déjà soit parfaitement clair: cet autre utilisateur n'est pas seulement "root autant que vous" (réponse de Videonauth), il peut aussi devenir vous (basculer vers votre compte utilisateur) .
En effet, avec les privilèges de superutilisateur, on peut basculer vers n'importe quel compte.
Vous savez probablement
qui est une option pour ouvrir un shell root si root n'a pas de mot de passe défini (vous ne pouvez donc pas vous connecter directement en tant que root).
su
est l'abréviation de "changer d'utilisateur". Vers quel utilisateur passe-t-il? Aucun n'est indiqué, non? Mais à partir de la page de manuel, nous pouvons apprendre que:Donc, c'est effectivement
si vous n'avez pas renommé
root
autre chose.Si vous venez de courir
su <someuser>
, vous serez invité à entrer un mot de passe. Donc, si vous exécutezsu root
, vous êtes invité à entrer le mot de passe de root (qui n'existe pas dans Ubuntu par défaut, donc vous ne pouvez pas vous connecter (notez qu'aucun mot de passe défini ne signifie qu'il n'y a aucun moyen de se connecter via un mot de passe qui est différent du mot de passe étant la chaîne vide)). Mais si vous exécutezsudo su root
, vous êtes invité à entrer votre propre mot de passe. Et vous n'y êtes invité que parsudo
. Une foissudo
votre mot de passe reçu, il exécute la commande qu'il a reçue en tant que paramètres avec des privilèges de superutilisateur. Comme on peut basculer vers n'importe quel compte avec des privilèges de superutilisateur, une invite de mot de passe n'est pas nécessaire.Donc en exécutant
, l'autre sudoer peut se connecter en tant que vous.
la source
sudo su
toujours par défaut UID 0 et GUID 0? Si oui, peu importe comment vous avez nommé «root».root
enjohn
,sudo su
est désormais équivalent àsudo su john
et ne l'est plussudo su root
.Il est possible de limiter les programmes pouvant être exécutés à l'aide de l'escalade de privilèges 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 sur Unix et Linux . Voir la réponse de slm pour une suggestion sur la limitation des privilèges dans
/etc/sudoers
.Consultez également la
man
page sudoers en tapantman sudoers
et n'oubliez pas de la tester. N'oubliez pas qu'avec un accès sudo illimité, un utilisateur peut se faire passer pour n'importe quel autre utilisateur. par exemple, si l'utilisateurfoo
devait exécuter la commandeils pourraient alors agir en tant qu'utilisateur
bar
, avec tous les privilèges de cet utilisateur.la source
sudoers
lignes figurant dans ce slm et de mtak réponses ne fonctionnent pas pour donner la possibilité d'effectuer certaines actions et pas d' autres, comme il est facile trivialement de les utiliser pour exécuter une commande. (Voir les commentaires sur chacune de ces réponses pour des explications détaillées sur les raisons.) Cette réponse peut ne pas être strictement erronée dans la mesure où il est parfois possible d'autoriser les utilisateurssudo
à exécuter des commandes spécifiques en tant que root sans en faire des administrateurs. Mais il est très difficile de bien faire les choses .Les réponses précédentes ne s'appliquent pas entièrement, si vous avez marqué
encrypt home folder
lors de l'installation d'Ubuntu. Cela garantit des dossiers de départ 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 de départ. Votre collègue devrait changer votre mot de passe pour lire les fichiers, ce qui serait remarqué.Et bien sûr, les gens ont raison, que partager des machines avec des données précieuses ou sensibles dessus et en plus de l'accès root avec des collègues, n'est pas une bonne idée.
Selon la valeur de ces données, je vous suggère de demander votre propre machine.
la source
sudo su - <username>
qui n'a pas besoin du mot de passe des autres utilisateurs réussisse normalement à déchiffrer le répertoire des autres utilisateurs. Mais je peux me tromper ici, je dois le tester dans une machine virtuelle et je le ferai plus tard. Quoi qu'il en soit, dans 99% des cas, cela revient à ceci: "Si j'ai un accès physique à votre machine, vous êtes arrosé!".