Olá,
Na época do eBox eu usei isto:
#!/usr/bin/perl
# Usage:
# sudo perl ./ebox-passwd.pl <username> <password>
use strict;
use warnings;
use EBox;
use EBox::Global;
my ($username, $password) = @ARGV;
EBox::init();
my $users = EBox::Global->modInstance('users');
defined $users or die "eBox userandgroups module needed";
my %user = (
username => $username,
password => $password,
);
$users->modifyUser(\%user);
Você pode experimentar adaptar ai pra sua necessidade...
Abraços,
Jorge Quintão