У мене є не-адміністратори, яким потрібно змінити свій пароль. passwd
Команда , очевидно , обмежена адміністраторами.
На веб-сайті сервера є посилання зміни пароля, але воно не працює, і користувачі отримують помилку. Внутрішньо Mac OS X записує таке повідомлення:
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.}
У мене в сервісі веб-сайтів є можливість перевірити можливість дозволу зміни паролів. Що було б причиною цієї помилки?
EDIT: Користувачі , створені з допомогою програми сервера відмінно, але біда з користувачами , створених з dscl
командного рядка . Ось точні команди, які використовуються для створення тестового користувача під назвою "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
Потім я виконав sudo dscl . read /Users/qwer
і порівняв його з sudo dscl . read /Users/uiop
другим користувачем тесту.
У записах такі ключі є унікальними для користувача, створеного за допомогою програми Сервер:
dsAttrTypeNative:_writers_hint
dsAttrTypeNative:_writers_jpegphoto
dsAttrTypeNative:_writers_passwd
dsAttrTypeNative:_writers_picture
dsAttrTypeNative:_writers_realname
dsAttrTypeNative:_writers_UserCertificate
LastName
RealName
Ці збіги:
AppleMetaNodeLocation
PasswordPolicyOptions
PrimaryGroupID
RecordType
UserShell
І вони унікальні для кожного користувача (або у випадку, якщо пароль затуманений):
dsAttrTypeNative:KerberosKeys
dsAttrTypeNative:ShadowHashData
AuthenticationAuthority
GeneratedUID
GeneratedUID
NFSHomeDirectory
RecordName
UniqueID
Password
Я перевірив AuthenticationAuthority, але єдине, що відрізняється, - це ім'я користувача в рядку, і це також може вважатися еквівалентним.
Додатково groups qwer
і groups uiop
дайте точно такий же вихід.
Здається, нічого не заважає "qwer" змінювати свій пароль, за винятком того, що їх командний обліковий запис створено в командному рядку; однак метод dscl повинен бути абсолютно дійсним.