|
| Perl script til at oprette ny user via ssh Fra : Peter Bagger |
Dato : 15-04-03 18:34 |
|
Hey
Jeg sidder og lavet et script, der skal oprette en bruger remote på en anden
linux maskine, er den nogle der har prøvet dette ??
Jeg bruger Net::SSH
Følgende er prøvet:
sudo, kan ikke bruge "chpasswd $user:$pass" pga rettigheder til shadow
filen.
crypt (MD5), jeg er ikke istand til at finde den korrekte algoritme, så
passwd filen kan finde ud af det.
/Peter
| |
Peter Makholm (15-04-2003)
| Kommentar Fra : Peter Makholm |
Dato : 15-04-03 19:32 |
|
"Peter Bagger" <peter@powerdot.dk> writes:
> Jeg sidder og lavet et script, der skal oprette en bruger remote på en anden
> linux maskine, er den nogle der har prøvet dette ??
Ikke særlig perl-relevant, men hvad med at kalde adduser eller useradd
på remotemaskinen?
--
Peter Makholm | I laugh in the face of danger. Then I hide until
peter@makholm.net | it goes away
http://hacking.dk | -- Xander
| |
Peter (16-04-2003)
| Kommentar Fra : Peter |
Dato : 16-04-03 06:43 |
|
Det er prøvet, derfor er det perl relevant, da det er perl der sætter
begrænsningen
Det er perl via SSH, der er problemet
NB jeg ved hvad adduser er, men hvad er "useradd" ???
/Peter
"Peter Makholm" <peter@makholm.net> skrev i en meddelelse
news:87he8ztxx4.fsf@xyzzy.adsl.dk...
> "Peter Bagger" <peter@powerdot.dk> writes:
>
> > Jeg sidder og lavet et script, der skal oprette en bruger remote på en
anden
> > linux maskine, er den nogle der har prøvet dette ??
>
> Ikke særlig perl-relevant, men hvad med at kalde adduser eller useradd
> på remotemaskinen?
>
> --
> Peter Makholm | I laugh in the face of danger. Then I hide until
> peter@makholm.net | it goes away
> http://hacking.dk | -- Xander
| |
Rune B. Broberg (16-04-2003)
| Kommentar Fra : Rune B. Broberg |
Dato : 16-04-03 07:54 |
|
Peter <peter@powerdot.dk> wrote:
> Det er pr?vet, derfor er det perl relevant, da det er perl der s?tter
> begr?nsningen
.... og den var?
--
Rune B. Broberg
Feel free to GPG-encrypt email sent to me. Keyid: 0x87CD3DBD
| |
Peter (16-04-2003)
| Kommentar Fra : Peter |
Dato : 16-04-03 10:08 |
|
Jeg kan ikke oprette en bruger remote, med brug af perl over SSH, jeg
mangler ideer, da jeg føler jeg har prøvet alt, jeg kan godt oprette
brugeren,menjegkan ikke få det korrekte passwd, bla fordi jeg ikke kan får
den rigtigte MD5 crypt (jeg er meget lost i dette), jeg har så efter
følgende prøvet at skifte passwd både med passwd og chpasswd uden den store
succes
/Peter
| |
Adam Sjøgren (16-04-2003)
| Kommentar Fra : Adam Sjøgren |
Dato : 16-04-03 10:06 |
|
On Wed, 16 Apr 2003 07:42:34 +0200, peter wrote:
> Det er prøvet, derfor er det perl relevant, da det er perl der
> sætter begrænsningen
> Det er perl via SSH, der er problemet
Kan du prøve at forklare lidt nærmere hvad du gør, hvad du forventer
der skulle ske og hvad der sker i stedet for?
Perl via SSH er problemet - det er ikke særligt specifikt.
> NB jeg ved hvad adduser er, men hvad er "useradd" ???
Det samme, bare anderledes.
Fra Debians adduser(8):
"DESCRIPTION
adduser and addgroup add users and groups to the system
according to command line options and configuration information
in /etc/adduser.conf. They are friendlier front ends to the
useradd and groupadd programs, choosing Debian policy
conformant UID and GID values, creating a home directory with
skele tal configuration, running a custom script, and other
features."
Mvh.
--
"Jag tar en mandarin." Adam Sjøgren
asjo@koldfront.dk
| |
Adam Sjøgren (16-04-2003)
| Kommentar Fra : Adam Sjøgren |
Dato : 16-04-03 11:56 |
|
On Wed, 16 Apr 2003 11:08:11 +0200, peter wrote:
> Jeg kan ikke oprette en bruger remote, med brug af perl over SSH,
> jeg mangler ideer, da jeg føler jeg har prøvet alt, jeg kan godt
> oprette brugeren,menjegkan ikke få det korrekte passwd, bla fordi
> jeg ikke kan får den rigtigte MD5 crypt (jeg er meget lost i dette),
> jeg har så efter følgende prøvet at skifte passwd både med passwd og
> chpasswd uden den store succes
Og så er vi tilbage til det Peter Makholm spurgte om: Hvorfor kalder
ikke ikke bare 'adduser' eller 'useradd' på maskinen, via ssh?
Enten kan du tage den vej ud, eller også må du forklare tydeligere
hvad det er du gør, når den ikke gør det du vil (vis en snip kode,
f.ex., og forklar hvorfor du mener det du gør er det rigtige).
Mvh.
--
"Jag tar en mandarin." Adam Sjøgren
asjo@koldfront.dk
| |
Peter (16-04-2003)
| Kommentar Fra : Peter |
Dato : 16-04-03 13:49 |
|
OK her er kode:
--snip start
# *****************************************
# Opret bruger
# *****************************************
my $crpassword = md5_hex($password);
print "md5 pass ". md5_hex($password)."\n";
$ssh->cmd("sudo /usr/sbin/adduser $brugeNavn -p $crpassword");
print "sudo /usr/sbin/adduser $brugeNavn -p $crpassword\n";
$ssh->cmd("sudo /bin/chown $brugeNavn.$brugeNavn /home/$brugeNavn");
print "sudo /bin/chown $brugeNavn.$brugeNavn /home/$brugeNavn\n";
$ssh->cmd("sudo /bin/chmod 755 /home/$brugeNavn");
print "sudo /bin/chmod 755 /home/$brugeNavn\n";
#print md5($password);
#my(@stdout, $stderr, $exit) = $ssh->cmd("su - ");
my(@stdout, $stderr, $exit) = $ssh->cmd(" /bin/echo $brugeNavn:$password |
/usr/sbin/chpasswd" );
print "STOUT = @stdout\n";
#$ssh->cmd("$password\r");
#$ssh->cmd("$password\r");
-- snip slut
skærm dump fra output
uid=535(webhotel) gid=535(webhotel) groups=535(webhotel)
0
så er jeg på
md5 pass 42a7b62e41985e1ff8b6ea8cb15d6a04
sudo /usr/sbin/adduser pbh3 -p 42a7b62e41985e1ff8b6ea8cb15d6a04
sudo /bin/chown pbh3.pbh3 /home/pbh3
sudo /bin/chmod 755 /home/pbh3
STOUT = chpasswd: can't lock password file
1
Net::SSH::Perl->new(tux)
login(pbh3,pbh3)
Permission denied at ./webtest.pl line 57
************************
man kan ikke tilgå shadow filen udover hvis man er på maskinen som root, det
er derfor jeg spørg om der er nogle, der har prøvet det før, eller har en
god ide til det.
Der er også prøve med adduser
Der skal køre på en redhat 7.3
/Peter
| |
Kim Hansen / A708 (16-04-2003)
| Kommentar Fra : Kim Hansen / A708 |
Dato : 16-04-03 13:56 |
|
"Peter" <peter@powerdot.dk> writes:
> my(@stdout, $stderr, $exit) = $ssh->cmd(" /bin/echo $brugeNavn:$password |
> /usr/sbin/chpasswd" );
my(@stdout, $stderr, $exit) = $ssh->cmd(" /bin/echo
$brugeNavn:$password | sudo /usr/sbin/chpasswd" );
^^^^
chpasswd skal køres som root
--
Kim Hansen | |\ _,,,---,,_ | Det er ikke
Dalslandsgade 8, A708 | /,`.-´` -. ;:-. | Jeopardy.
2300 København S | |,4- ) )-,_. ,\ ( `'-' | Svar _efter_
Tlf: 32 88 60 86 | '---''(_/--' `-'\_) | spørgsmålet.
| |
Peter Makholm (16-04-2003)
| Kommentar Fra : Peter Makholm |
Dato : 16-04-03 13:59 |
|
"Peter" <peter@powerdot.dk> writes:
> my $crpassword = md5_hex($password);
> print "md5 pass ". md5_hex($password)."\n";
>
> $ssh->cmd("sudo /usr/sbin/adduser $brugeNavn -p $crpassword");
Min adduser(8) nævner ikke en -p option, men min useradd(8) gør. Den
skriver følgende:
-p passwd
The encrypted password, as returned by crypt(3). The
default is to disable the account.
Det kunne ikke tænkes at du fik et mere forudsigeligt resultat ved at
bruge crypt-funktionen?
> print "sudo /usr/sbin/adduser $brugeNavn -p $crpassword\n";
> $ssh->cmd("sudo /bin/chown $brugeNavn.$brugeNavn /home/$brugeNavn");
> print "sudo /bin/chown $brugeNavn.$brugeNavn /home/$brugeNavn\n";
> $ssh->cmd("sudo /bin/chmod 755 /home/$brugeNavn");
> print "sudo /bin/chmod 755 /home/$brugeNavn\n";
Dette burde brugeroprettelsesscrptet da selv tage sig af.
> man kan ikke tilgå shadow filen udover hvis man er på maskinen som root, det
> er derfor jeg spørg om der er nogle, der har prøvet det før, eller har en
> god ide til det.
Selvfølgelig kan man ikke det. Det er hele pointen med shadow-filen.
(Stadigvæk ingen perlrelevans)
--
Peter Makholm | Perhaps that late-night surfing is not such a
peter@makholm.net | waste of time after all: it is just the web
http://hacking.dk | dreaming
| -- Tim Berners-Lee
| |
Peter Makholm (16-04-2003)
| Kommentar Fra : Peter Makholm |
Dato : 16-04-03 14:01 |
|
Kim Hansen / A708 <kimhanse@oek.dk> writes:
> my(@stdout, $stderr, $exit) = $ssh->cmd(" /bin/echo
> $brugeNavn:$password | sudo /usr/sbin/chpasswd" );
> ^^^^
>
> chpasswd skal køres som root
Hvilket også sker når det kaldes med sudo (hvis ikke der står særlige
ting i sudo-konfigurationen).
--
Peter Makholm | Ladies and gentlemen, take my advice, pull down your
peter@makholm.net | pants and slide on the ice
http://hacking.dk | -- Sidney Freedman
| |
|
|