• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

smbpasswd per script

Psacg

Newbie
Hallo Leute,
ich stelle mich wahrscheinlich einfach nur zu blöd an! ich habe vor einer weile ein Script geschrieben mit dem man User aus einer CSV Datei auslesen und in Linux und Samba anlegen kann!
nun, nach einem Samba update funktioniert nur noch das Unix User anlegen, nicht aber das Samba User anlegen!

system("echo $passwd\n$passwd | smbpasswd -a -e -s $username > /dev/null 2>&1") / 256

das ganze ist in PHP geschrieben und wird als root ausgeführt (über webmin!)
nach einigem Suchen im Internet habe ich das so umgeschrieben wie es oben steht, früher stand da nur "smbpasswd -a -e -s $username $passwd" aber da ging gar nichts!
mit dem neuen legt er zwar den User im smbpasswd an, aber legt das Password nicht fest, das ist dann einfach XXXXXXXXXX....X!

vielleicht hat ja einer von euch eine Idee!

Danke
Peter
 
OP
P

Psacg

Newbie
ja, genau das brauch ich, den smbpasswd Befehl dem ich das Kennwort mit übergeben kann!
danke
 
A

Anonymous

Gast
Hallo,
es gibt eine interes Shellkommando mit Namen expect.
Anbei ein kleines Shellskript, was dir Sambauser anlegt.

Aufruf: Name_des_skripts Username Passwort_des_Users
Code:
#!/usr/bin/expect -f 
set USER [lindex $argv 0] 
set PASSWD [lindex $argv 1]   
 stty -echo 
 spawn -noecho smbpasswd -a $USER 
 
expect { 
    "New SMB password:" { 
         sleep 0.5 
         send "$PASSWD\r" 
         exp_continue 
     } 
     "Retype new SMB password:" { 
         sleep 0.5 
         send "$PASSWD\r" 
         exp_continue 
     } 
     "Das Samba-Passwort wurde geändert." { 
         exit 0 
     } 
 }

Ich hoffe, es hilft dir weiter.

Gruß
 
OP
P

Psacg

Newbie
Wunderbar, dank an Renate! Sorry das ich erst jetzt schreibe aber ich war die Woche krank, bin erst seit heute wieder online!
das funktioniert wunderbar, das Script ist klasse und macht genau das was ich will!
Danke
 
Oben