Portál AbcLinuxu, 6. listopadu 2025 15:53
useradd -m -G skupina -c "Jmeno Prijmeni" unamesoučasně vytvořil následující záznam v mysql
INSERT INTO sogo_users VALUES ('uname', 'uname', MD5('heslo'),
'Jmeno Prijmeni', 'jmeno@mojedomena.cz');
Lze toho vůbec docílit? Jen pro informaci mám debian squeezee a nechci uživatele ověřovat v mysql, mám to nastavený v systemové db a měnit to nechci. Škoda že nemá SOGo nějakou administraci na vytvoření uživatele, jinak je opravdu super.
/usr/sbin/useradd.local nebo si pohrát s /usr/sbin/adduser.
#!/usr/bin/perl -w
# WARN: not tested
use DBI;
use Getopt::Std;
# TODO: change
$db = "dbname";
$db_host = "localhost";
$db_user = "dbuser";
$db_password = "password";
my $G = "";
our $opt_G;
getopt('G');
$G = $opt_G if $opt_G;
$G ne '' or die("missing parameter -G \"group\"");
my $c = "";
our $opt_c;
getopt('c');
$c = $opt_c if $opt_c;
$c ne '' or die("missing parameter -c \"name\"");
$#ARGV gt -1 or die("missing parameter uname");
$uname = $ARGV[0];
#`/usr/sbin/useradd -m -G $G -c $c $uname`;
system("/usr/sbin/useradd", "-m", "-G", $G, "-c", $c, $uname);
if ($? == -1) {
die("command failed: $!\n");
} else {
printf "command exited with value %d", $? >> 8;
}
my $dbh = DBI->connect("DBI:mysql:database=$db:host=$db_host", $db_user, $db_password)
or die "Can't connect to database: $DBI::errstr\n";
$dbh->do('INSERT INTO sogo_users VALUES(?, ?, ?, ?, ?)', $uname, $uname, MD5($heslo), $jmeno, $jmeno . '@mojedomena.cz');
$dbh->disconnect();
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.