Shell script zur Passwortänderung

Nachtrag: Also ich hab im Paket bnc ein mkpasswd gefunden, so richtig fetzen tut das aber nicht wirklich...

Ich muss auf einem Rechner etwa 50 Accounts mit neuen Passwörter versehen, was kann ich denn da machen? passwd allein nimmt ja auf OpenBSD nicht mal Passwörter durch eine Pipe an.
 
Also ich mach jetzt mal einen neuen Thread auf. Und mach gleich mal ein Doppelpost in Free- und OpenBSD, weil ich da echt nicht weiss, wo ich da auf dem Schlauch stehe..

OpenBSD-kiste mit 4.3 drauf. mkpasswd war nicht zu finden. Irgendwie scheint das Programm auch ein etwas ulkiges Eigenleben zu haben, oder? Unter Linux macht das ganze nix anderes als crypt auch, in den Manpages (die es auch unter OpenBSD gibt, im Gegensatz zum Programm an sich...) steht aber was ganz anderes. Ist ja auch wurscht jetzt!

Also ich hab einen FTP-Server mit 100 Accounts drauf, die brauchen alle neue Passwörter. Gibts da ein Shellscript dafür?
 
OpenBSD-kiste mit 4.3 drauf. mkpasswd war nicht zu finden.

mkpasswd taucht das letzte mal in 4.3BSD-Reno auf, bei 4.4BSD-Light war es schon nicht mehr dabei.

Irgendwie scheint das Programm auch ein etwas ulkiges Eigenleben zu haben, oder? Unter Linux macht das ganze nix anderes als crypt auch, in den Manpages (die es auch unter OpenBSD gibt, im Gegensatz zum Programm an sich...) steht aber was ganz anderes. Ist ja auch wurscht jetzt!

Es gibt unter OpenBSD auch keine Manpage zu mkpasswd.

Also ich hab einen FTP-Server mit 100 Accounts drauf, die brauchen alle neue Passwörter. Gibts da ein Shellscript dafür?

Du koenntest z.B. /etc/master.passwd per Script oder sonstwie beackern und dann mit pwd_mkdb(8) /etc/pwd.db aktualisieren. Oder Du machst das pro User und benutzt dafuer chpass(1).
 
Ist es nicht Teil des Apache-Paketes?

Nur so ne' Idee. :confused:

Nein, ist es nicht. mkpasswd ist irgendwann zwischen 4.3-Reno und 4.4-Lite rausgeflogen. Um genauer zu sein:

Code:
.TH MKPASSWD 8 "March 8, 1991"
.UC 6
.SH NAME
mkpasswd \- generate hashed password table
.SH SYNOPSIS
.B mkpasswd
[
.B \-p
] passwdfile
.SH DESCRIPTION
.ft B
Mkpasswd has been obsoleted by pwd_mkdb(8).
.ft R
...

Und ich weiss ehrlich gesagt auch nicht, wie der OP darauf kommt, dass es unter OpenBSD irgendwo eine Manpage zu mkpasswd gibt. Wenn, dann muss die aus irgend einer Package/einem Port kommen, die ich bei mir nicht installiert habe, und ich habe ziemlich viele Packages installiert (ja, auch apache2).

Im Uebrigen kann man ein paar Informationen darueber, was wann wo vorhanden war, primstens ueber die Online-Manpages auf freebsd.org finden. Die stellen naemlich freundlicherweise nicht nur ihre eigenen Manpages sondern gleich den kompletten Zoo zur Verfuegung (sehr loeblich). Man muss also nicht unbedingt McKusicks CD-Set mit den ganzen alten Sourcen kaufen, sondern kann auch einfach auf freebsd.org blaettern. Zumindest, solange einem die Manpages zur Erforschung der BSD-Geschichte reichen.
 

Danach hat der OP aber nicht gefragt. Er moechte massenhaft Passwoerter neu setzen, nicht neue Passwoerter auswuerfeln. Und er erwaehnt mehrfach explizit mkpasswd, was es aber wie schon geschrieben seit Ewigkeiten nicht mehr gibt (und weder in Free-, Net-, OpenBSD jemals gab).

War das wirklich nötig deswegen gleich drei Threads zu starten? ;)

Nein, das war sicher nicht noetig, und ich finde das Verhalten auch absolut nicht in Ordnung. So nach dem Motto "mir hat nach zehn Minuten noch keiner mein Problem geloest, also spamme ich mal eben alle Foren damit voll".

[EDIT]
Jetzt bin ich selbst Durcheinander gekommen.... ein Thread in FreeBSD und zwei bei OpenBSD... Das oben genannte Package gibt es aber bestimmt auch unter OpenBSD :D

Nein, gibt's nicht unter OpenBSD. Da gibt's AFAIK nur pwgen, evtl. auch anderes, aber nichts mit dem Namen "makepasswd".

-- Kili

ps: ja, ich fuehle mich echt angepisst, nicht von Dir, sondern vom OP, der hier mit vagen und offensichtlich falschen Informationen auflaeuft und sich einfach nur mal eben helfen lassen will -- fuer welches Betriebssystem auch immer. Ich muss mir das nicht antun, und ich werde mir das in Zukunft auch nicht laenger antun. Entweder, die Leute stellen praezise Fragen und bringen Belege dafuer, dass sie selbst nachgeforscht haben und auch wenigstens einigermassen wissen, was sie tun, oder sie werden ignoriert.
 
Danach hat der OP aber nicht gefragt. Er moechte massenhaft Passwoerter neu setzen, nicht neue Passwoerter auswuerfeln. Und er erwaehnt mehrfach explizit mkpasswd, was es aber wie schon geschrieben seit Ewigkeiten nicht mehr gibt (und weder in Free-, Net-, OpenBSD jemals gab).

Es gibt unter OpenBSD auch keine Manpage zu mkpasswd

Code:
bash-3.2# uname -a
OpenBSD voodoo.animoto.intern 4.3 GENERIC#698 i386
bash-3.2# man mkpasswd
man: Formatting manual page...

MKPASSWD(1)                                           MKPASSWD(1)

NAME
       mkpasswd - generate new password, optionally apply it to a
       user

SYNOPSIS
       mkpasswd [ args ] [ user ]

INTRODUCTION
       mkpasswd generates passwords and can apply them  automati-
       cally  to users.  mkpasswd is based on the code from Chap-
       ter 23 of the O'Reilly book "Exploring Expect".

USAGE
       With no arguments, mkpasswd returns a new password.

            mkpasswd

       With a user name, mkpasswd assigns a new password  to  the
       user.

            mkpasswd don

       The  passwords  are  randomly  generated  according to the
       flags below.

FLAGS
       The -l flag defines  the  length  of  the  password.   The
       default  is 9.  The following example creates a 20 charac-
       ter password.

            mkpasswd -l 20

       The -d flag defines the minimum number of digits that must
       be  in  the  password.   The  default is 2.  The following
       example creates a password with at least 3 digits.

            mkpasswd -d 3

       The -c flag defines the minimum number of lowercase alpha-
       betic  characters  that  must  be  in  the  password.  The
       default is 2.

       The -C flag defines the minimum number of uppercase alpha-
       betic  characters  that  must  be  in  the  password.  The
       default is 2.

       The -s flag defines the minimum number of special  charac-
       ters that must be in the password.  The default is 1.

       The  -p  flag  names  a  program  to set the password.  By
       default,  /etc/yppasswd  is  used  if  present,  otherwise
       /bin/passwd is used.

                          22 August 1994                        1

MKPASSWD(1)                                           MKPASSWD(1)

       The  -2  flag  causes characters to be chosen so that they
       alternate between right  and  left  hands  (qwerty-style),
       making  it  harder  for  anyone  watching  passwords being
       entered.  This can also make it  easier  for  a  password-
       guessing program.

       The  -v flag causes the password-setting interaction to be
       visible.  By default, it is suppressed.

EXAMPLE
       The following example creates a 15-character password that
       contains at least 3 digits and 5 uppercase characters.

            mkpasswd -l 15 -d 3 -C 5

SEE ALSO
       "Exploring  Expect:  A  Tcl-Based  Toolkit  for Automating
       Interactive Programs" by Don Libes, O'Reilly  and  Associ-
       ates, January 1995.

AUTHOR
       Don Libes, National Institute of Standards and Technology

       mkpasswd is in the public domain.  NIST and I would appre-
       ciate credit if this program or parts of it are used.

                          22 August 1994                        2

bash-3.2#

Ich hab ja nix gegen ein solides Bashing, aber dann doch bitte nicht mit Spekulationen, die dann so als Expertenwissen aufgeblasen werden, ja? ;)
 
Code:
bash-3.2# man mkpasswd
man: Formatting manual page...

MKPASSWD(1)                                           MKPASSWD(1)

Ich hab ja nix gegen ein solides Bashing, aber dann doch bitte nicht mit Spekulationen, die dann so als Expertenwissen aufgeblasen werden, ja? ;)

Um hier mal wieder zu Fakten zurückzukehren:
kili hat vollkommen recht, wenn er sagt, dass es mkpasswd(1) in OpenBSD nicht gibt.
http://www.openbsd.org/cgi-bin/man....n=1&manpath=OpenBSD+4.3&arch=i386&format=html

PatrickBaer hat es also zusätzlich installiert.
 
Wenn man die Manpage aufmerksam liest, kann man darauf kommen, daß "mkpasswd" vermutlich irgendwas mit Expect zu tun haben muß. Auf meiner FreeBSD-Kiste habe ich "zufällig" Expect installiert und tatsächlich ist dieses ominöse "mkpasswd" vorhanden:
Code:
# which mkpasswd
/usr/local/bin/mkpasswd
# pkg_info -W /usr/local/bin/mkpasswd
/usr/local/bin/mkpasswd was installed by package expect-5.43.0_3
In der Tat ist "mkpasswd" also ein Teil des Expect-Packages. Nichts für ungut, aber in der Zeit, in der du zu diesem Thema drei Threads aufgemacht hast, hättest du auch mal schnell selbst nachsehen können, woher das "mkpasswd" auf deiner 4.3-Kiste gekommen ist.

EDIT: Die Nebenbemerkung war vermutlich leichter Quatsch. :)
 
Ich hab ja nix gegen ein solides Bashing, aber dann doch bitte nicht mit Spekulationen, die dann so als Expertenwissen aufgeblasen werden, ja? ;)

Zeig' mir das CVS-File, in dem diese Manpage ist, und ich halte die Klappe. Wenn es mal so ein Kommando und so eine Manpage gebenen hat, dann muesste das ja noch im CVS zu finden sein.
 
Wenn man die Manpage aufmerksam liest, kann man darauf kommen, daß "mkpasswd" vermutlich irgendwas mit Expect zu tun haben muß. Auf meiner FreeBSD-Kiste habe ich "zufällig" Expect installiert und tatsächlich ist dieses ominöse "mkpasswd" vorhanden:
Code:
# which mkpasswd
/usr/local/bin/mkpasswd

Treffer. Unter OpenBSD haette which mkpasswd aber wenig geholfen, weil dieses Programm dort in der PLIST der expect-Package auskommentiert ist. Die Manpage scheint da versehentlich mal wieder reingerutscht zu sein. Ist jetzt repariert.
 
Zurück
Oben