1 votes

L'utilisateur de Mac OS X Server ne peut pas changer de mot de passe

J'ai des utilisateurs non administrateurs qui doivent changer leur mot de passe. Le site passwd est apparemment limitée aux administrateurs.

Sur le site web du serveur, il y a un lien pour changer le mot de passe, mais il ne fonctionne pas, et les utilisateurs reçoivent une erreur. En interne, Mac OS X enregistre le message suivant :

Jan 21 01:56:02 domain.com collabd[247]: [CSAuthService.m:506 ab93000 +206ms] Could not change password for user 1234 with error Error Domain=com.apple.OpenDirectory Code=4001 "Operation was denied because the current credentials do not have the appropriate privileges." UserInfo=0x1234567890abc {NSLocalizedDescription=Operation was denied because the current credentials do not have the appropriate privileges., NSLocalizedFailureReason=Operation was denied because the current credentials do not have the appropriate privileges.}

Dans le service Web, j'ai coché l'option permettant de modifier les mots de passe. Quelle serait la cause de cette erreur ?

EDIT : Les utilisateurs créés avec l'application Serveur fonctionnent bien, mais le problème se situe au niveau des utilisateurs créés. avec dscl sur la ligne de commande . Voici les commandes exactes utilisées pour créer un utilisateur de test nommé "qwer" :

sudo dscl . create /Users/qwer UniqueID 507
sudo dscl . create /Users/qwer PrimaryGroupID 20
sudo dscl . create /Users/qwer UserShell /bin/bash
sudo dscl . create /Users/qwer NFSHomeDirectory /Users/qwer
sudo mkdir /Users/qwer
sudo chown qwer:staff /Users/qwer
sudo passwd qwer

J'ai ensuite exécuté sudo dscl . read /Users/qwer et l'a comparé avec sudo dscl . read /Users/uiop pour un deuxième utilisateur test.

Dans les enregistrements, les clés suivantes sont uniques à l'utilisateur créé avec l'application Serveur :

dsAttrTypeNative:_writers_hint
dsAttrTypeNative:_writers_jpegphoto
dsAttrTypeNative:_writers_passwd
dsAttrTypeNative:_writers_picture
dsAttrTypeNative:_writers_realname
dsAttrTypeNative:_writers_UserCertificate
LastName
RealName

Ils correspondent :

AppleMetaNodeLocation
PasswordPolicyOptions
PrimaryGroupID
RecordType
UserShell

Et celles-ci sont uniques pour chaque utilisateur (ou dans le cas du mot de passe, elles sont masquées) :

dsAttrTypeNative:KerberosKeys
dsAttrTypeNative:ShadowHashData
AuthenticationAuthority
GeneratedUID
GeneratedUID
NFSHomeDirectory
RecordName
UniqueID
Password

J'ai vérifié AuthenticationAuthority mais la seule chose différente est le nom d'utilisateur dans la chaîne de caractères, donc cela pourrait être considéré comme équivalent également.

En outre, groups qwer y groups uiop donnent exactement le même résultat.

Rien ne semble empêcher "qwer" de changer son mot de passe, si ce n'est le fait que son compte utilisateur a été créé en ligne de commande ; cependant, la méthode dscl devrait être parfaitement valable.

2voto

Kent Points 6002

Selon cet ancien article (10.3 !), l'absence de _writers_password dans la base de données NetInfo empêcherait les utilisateurs de changer leur mot de passe. C'est vraiment dépassé, mais cela semble être un point de départ raisonnable.

http://support.apple.com/kb/TA21256

(Edit)

D'après d'autres sources (aussi loin que " Exécution de Mac OS X Tiger " page 136), cela donne _writers_passwd est une liste d'utilisateurs qui peuvent changer le mot de passe de cet utilisateur particulier. Il suffit donc de le définir sur le nom d'utilisateur.

0 votes

C'est exactement ça. Je n'avais même pas vu ça... Je pensais qu'ils étaient pour l'image mais j'ai apparemment manqué celui de passwd. On dirait que ceux-ci devraient être ajoutés à tout script qui crée des utilisateurs s'ils doivent être en mesure de changer leur propre mot de passe.

0 votes

Au fait, êtes-vous sur un serveur 10.9 ? J'utilise un script similaire à celui de tout le monde (sans _writers_passwd) sur les serveurs 10.5, 10.6 et 10.8, et je n'ai rencontré aucun problème.

1 votes

Et honnêtement, est-ce que ça ferait vraiment mal à Apple de fournir useradd y groupadd des équivalents qui le gèrent correctement ? Garder la trace de toutes les bonnes clés pour maintenir le script à jour est une solution plutôt délicate, puisque manquer quelque chose d'obscur comme cela peut conduire à ce genre de bugs délicats et difficiles à suivre. :) Oh bien.

1voto

Tony Williams Points 11219

Tout d'abord, le passwd commande n'a pas ne nécessite aucun accès administrateur pour changer votre propre mot de passe.

Je pense que vous avez un problème de certificat. Regardez dans le Certificate de l'application Serveur et vérifiez que tous vos certificats sont toujours valides et qu'il n'y a pas d'avertissement concernant un service n'utilisant pas de certificat dans le panneau inférieur. Il semble que le serveur web ne soit pas autorisé à effectuer le changement de mot de passe pour une raison quelconque.

Vous pouvez également vous rendre sur /Library/Server/Wiki/Config et lancez plutil sur tous les fichiers plist pour vous assurer que tout va bien. Je vérifierais également que toutes les permissions de fichiers semblent correctes.

Obtenez-vous la même erreur pour les utilisateurs standard et les administrateurs ? Un utilisateur admin peut-il s'enregistrer avec succès dans Profile Manager ?

0 votes

Le serveur utilise un certificat auto-signé, et il n'a pas expiré. Je ne suis pas sûr de ce que cela a à voir avec l'option passwd cependant. D'après cet article le site passwd est réservée aux administrateurs. Je ne sais pas trop pourquoi.

0 votes

Vérification sur le serveur 10.8 et sur une machine 10.9 passwd fonctionne parfaitement pour que les utilisateurs standard et les administrateurs puissent changer leur propre mot de passe.

0 votes

Voir les informations supplémentaires incluses dans la question. Il semble que la création d'utilisateurs en ligne de commande soit différente, mais je ne sais pas comment.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X