Je veux attribuer 2 mots de passe à un seul compte. Ce que je veux savoir, c'est 1) est-ce possible et 2) quelles sont les implications en termes de sécurité?
La raison pour laquelle je veux le faire est que je suis actuellement occupé par des tests locaux et que je pensais que ce serait pratique dans certaines situations spécifiques. Après quelques recherches, j'ai trouvé quelque chose appelé PAM , mais j'ai du mal à trouver des informations sur le fonctionnement de l'installation / configuration.
J'utilise Ubuntu 12.04.
sudo
pour permettre à user1 d'exécuter des commandes en tant qu'utilisateur2. (sudo
n'est pas seulement pour exécuter des commandes en tant que root; il peut exécuter des commandes comme n'importe quel utilisateur.)Réponses:
Oui, bien que ce soit assez rare, c'est certainement faisable.
Au lieu d'essayer de l'implémenter vous-même, car la
/etc/password
/etc/shadow
méthode d'authentification basée par défaut ne prévoit pas une telle configuration, la manière la plus simple consiste à déléguer l'authentification à un serveur principal qui prend déjà en charge plusieurs mots de passe pour un utilisateur.A est une bien connue LDAP qui
userPassword
attribut est multivalent selon la RFC4519 :Un exemple de besoin de plusieurs valeurs dans l'attribut 'userPassword' est un environnement dans lequel chaque mois, l'utilisateur est censé utiliser un mot de passe différent généré par un système automatisé. Pendant les périodes de transition, comme le dernier et le premier jour des périodes, il peut être nécessaire d'autoriser deux mots de passe pour les deux périodes consécutives pour être valides dans le système.
Malgré cette RFC, vous devrez probablement modifier la configuration de la politique de mot de passe sur la plupart des implémentations de serveur d'annuaire pour que ce paramètre soit réellement accepté.
Côté Linux, rien n'interdit de le faire (ici un compte nommé a
testuser
été donné à la foispass1
etpass2
commeuserPassword
valeurs d'attribut):Voici quelques implications techniques et liées à la sécurité de ce type de configuration:
la source
J'ai juste essayé de créer 2 entrées pour un utilisateur dans le
/etc/shadow
fichier et cela n'a pas fonctionné. Quelle que soit la première entrée, c'était l'entrée de mot de passe utilisée.Exemple
Création d'un utilisateur de test.
Définissez le mot de passe sur "super123":
Modifiez manuellement le
/etc/shadow
fichier et faites une deuxième entrée:Essayez ensuite de vous connecter avec le compte en utilisant les 2 mots de passe.
La première entrée
/etc/shadow
est ce qui est utilisé, l'entrée en deuxième position ne fonctionne jamais, si vous les retournez comme ceci:Ensuite, le deuxième mot de passe fonctionne et le premier ne fonctionne pas.
Utilisez sudo
Cette approche est un hack total, je voudrais simplement l'utiliser
sudo
, c'est en partie pourquoi ellesudo
existe.Vous pouvez ajouter cette entrée à votre fichier sudoers (
/etc/sudoers
) qui autoriserait l'utilisateur joe à faire n'importe quoi comme vous:la source
sudo
peut le faire .. 1Si vous pouvez le faire, vous ne devriez probablement pas.
La configuration PAM est quelque peu complexe et il existe un truisme concernant les mécanismes d'authentification: il existe un ensemble fini de configurations correctes mais un ensemble infini de configurations non sécurisées. Il est donc presque certain que si vous essayez de changer les choses et que vous ne savez pas exactement ce que vous faites, vous allez tout gâcher.
Si vous avez le choix entre la sécurité et "pratique dans certaines situations spécifiques", optez pour la première.
la source
Vous pouvez définir deux noms d'utilisateur différents, chacun avec leur mot de passe, pour le même compte. Exécutez
vipw
pour modifier/etc/passwd
manuellement, dupliquez la ligne existante pour le compte qui vous intéresse et modifiez le nom d'utilisateur (et si vous aimez le champ Gecos , le répertoire personnel et le shell). Exécutezvipw -s
et dupliquez la ligne pour cet utilisateur dans/etc/shadow
. Connectez-vous sous le nouveau nom d'utilisateur et exécutezpasswd
pour changer le mot de passe du nouveau nom d'utilisateur. Vous avez maintenant deux noms d'utilisateur différents, avec des mots de passe différents, pour le même compte (l'ID utilisateur est ce qui détermine le compte).Ce n'est probablement pas une bonne idée. Selon ce que vous essayez de faire, d'autres approches peuvent être plus appropriées:
Créez un autre compte et donnez au premier compte le droit d'exécuter des commandes comme ce compte avec sudo:
la source