Alterar Mac OS X senha de usuário programaticamente ou via Script

votos
1

Eu preciso ser capaz de mudar a senha de um usuário de uma tarefa cron ou de uma sessão ssh. Existe uma maneira fácil de fazer isso com um script bash? Se não, qual é a maneira mais fácil de fazê-lo em Cocoa?

Publicado 09/12/2008 em 19:09
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

Apple introduziu CSIdentitySetPassword API no Mac OS 10.5 que permite alterar a senha da seguinte forma:

#import <Collaboration/Collaboration.h>

    AuthorizationRef authRef = NULL; // You have to initialize authRef

    CBIdentityAuthority *authority = [CBIdentityAuthority defaultIdentityAuthority];
    CSIdentityRef identity = [CBIdentity identityWithName:user authority:authority].CSIdentity;
    if (CSIdentityGetClass(identity) == kCSIdentityClassUser) {
        CSIdentitySetPassword(identity, (__bridge CFStringRef)newPassword);
        CSIdentityCommit(identity, authRef, NULL);
    }

AuthenticationRef podem ser inicializados como int esta resposta.

Respondeu 21/06/2017 em 18:23
fonte usuário

votos
1

Use o passwdcomando shell.

Respondeu 09/12/2008 em 19:11
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more