Réinitialiser le mot de passe de l'utilisateur sans root

8

Existe-t-il un moyen d'autoriser les utilisateurs non root à modifier le mot de passe d'un autre utilisateur. Plus précisément, existe-t-il un moyen d'accorder aux employés du service d'assistance la possibilité de réinitialiser les mots de passe? Le service d'assistance peut déjà réinitialiser les mots de passe Windows, ce qui est facile à déléguer.

Ceux-ci sont sur une variété de types de serveurs, bien que la plupart sur HP-UX. Malheureusement, les applications qui s'exécutent sur le serveur nous empêchent d'utiliser LDAP, ces serveurs sont donc indépendants et les utilisateurs oublient leurs mots de passe. Souvent. Exiger un administrateur de serveur qui connaît le mot de passe root, surtout au milieu de la nuit, est un gaspillage de ressources.

Si cela est possible, cela empêche-t-il également l'utilisateur de changer de racine, comme Windows empêche les utilisateurs de changer les mots de passe administrateur à partir de comptes non administrateurs.

Brian
la source

Réponses:

8

Ajoutez un groupe appelé helpdesk et ajoutez-y tous les utilisateurs de heldesk. Ajoutez ensuite ce qui suit au fichier sudoers.

%helpdesk ALL=/usr/bin/passwd

Maintenant, ils peuvent sudo pour changer les mots de passe mais rien d'autre.

Jim
la source
1

Étant donné que HP-UX est censé prendre en charge PAM , j'ose mentionner ici la tentative de nettoyage propre suivante pour résoudre ce problème:

utilisez pam_tcb (tcb - l'alternative à / etc / shadow) , et il y aura les fichiers de mot de passe des utilisateurs par utilisateur - ils peuvent être manipulés sans les droits root (en fait, dans Owl, passwd n'est pas setUID root), et vous peut donner l'autorisation de modifier les mots de passe de certains utilisateurs (et non les autres, par exemple, "root") à un groupe spécifique (en modifiant simplement les autorisations des fichiers fantômes).

Mais ce n'est pas encore une solution pratique prête, car je ne vois pas de port pam_tcbpour HP-UX.

imz - Ivan Zakharyaschev
la source
-1

Mise à jour: Peu importe, passwd est déjà root setuid. Oops.

Vous pouvez attribuer l'attribut setuid au programme passwd. Fais juste

sudo chmod u+s `which passwd`

Assurez-vous ensuite que seuls certains utilisateurs peuvent l'utiliser, modifiez donc le groupe et limitez les autorisations:

sudo chgrp password_reset_delegates `which passwd`
sudo chmod 770 `which passwd`

Et ajoutez vos utilisateurs à ce groupe

sudo adduser frank password_reset_delegates
sudo adduser barbara password_reset_delegates

Vous voudrez peut-être faire une copie du programme passwd sans le setuid afin que les autres utilisateurs puissent changer leur propre mot de passe.

Alternativement, vous pouvez configurer sudo et autoriser l'accès sudo uniquement au programme passwd pour les utilisateurs du helpdesk.

James
la source
L'utilisation de la méthode d'accès sudo créera également une belle piste d'audit à réviser si nécessaire. Vous pourrez voir qui fait quoi pour quels utilisateurs.
mcmeel
sudo est la façon dont j'irais, mais quelqu'un l'a déjà signalé, et j'ai pensé présenter des options.
James
Idée potentiellement intelligente, sauf pour le fait qu'il passwdexécute déjà suid root car il doit écrire dans les bases de données de mots de passe du système.
MikeyB
haha, oups, vous avez raison.
James
Pensez à supprimer votre réponse si elle est erronée;).
Bart De Vos