From owner-freebsd-questions Tue Jan 22 11:43:40 2002 Delivered-To: freebsd-questions@freebsd.org Received: from sage-american.com (sage-american.com [216.122.141.44]) by hub.freebsd.org (Postfix) with ESMTP id B4BA437B41A for ; Tue, 22 Jan 2002 11:43:26 -0800 (PST) Received: from SAGEONE (adsl-64-219-20-214.dsl.crchtx.swbell.net [64.219.20.214]) by sage-american.com (8.9.3/8.9.3) with SMTP id NAA24272; Tue, 22 Jan 2002 13:43:16 -0600 (CST) Message-Id: <3.0.5.32.20020122134304.01831ca0@mail.sage-american.com> X-Sender: jacks@mail.sage-american.com X-Mailer: QUALCOMM Windows Eudora Pro Version 3.0.5 (32) Date: Tue, 22 Jan 2002 13:43:04 -0600 To: "Joe & Fhe Barbish" , "Bob Giesen" From: jacks@sage-american.com Subject: RE: pw in script to create new user. Cc: "FBSD Questions" In-Reply-To: References: <004b01c1a30b$5fcb20c0$328dfea9@pegasus> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Joe: I ran #pw -D and no pw.conf was created (4.4-stable)....???? At 02:14 PM 1.22.2002 -0500, Joe & Fhe Barbish wrote: >To all who responded I want to say thanks for your input. >I have gotten my script to work. >Now for the archives I am summarizing how the pw command works. > >When FBSD is installed the PW command does not have it's >pw.conf option file. Pw stills works but you have no idea what >the defaults are and the command line gets full using the pw flags. >The first thing you should do if you want to use the pw command to >add users is to create the pw.conf file, do this by >entering pw -D this will create the /etc/pw.conf file. >The comments in the file are self explanatory. >I added the default group and the additional groups. > >pw -D = create /etc/pw.conf file >pw adduser tom -m -c tom brown = tom =userid -m = create home directory -c >full name field >pw deluser tom -r = delete user tom -r = remove home directory >pw showuser tom = display this users entry in password file >pw showuser tom -P = display password info in human readable form >pw showuser -a = display all entries in password file > >The pw command can also be used for groups >pw addgroup networking >pw showgroup networking > >The pw command can also change settings in the userid password file. > >My /etc/pw.conf looks like this > ># ># /etc/pw.conf - user/group configuration defaults ># created 01/20/2002 by Joe Barbish > ># Password for new users? no=nologin yes=loginid none=blank random=random >defaultpasswd = "yes" > ># Reuse gaps in uid sequence? (yes or no) >reuseuids = "yes" > ># Reuse gaps in gid sequence? (yes or no) >reusegids = "yes" > ># Path to the NIS passwd file (blank or 'no' for none) >nispasswd = > ># Obtain default dotfiles from this directory >skeleton = "/usr/share/skel/" > ># Mail this file to new user (/etc/newuser.msg or no) >newmail = "no" > ># Log add/change/remove information in this file >logfile = "/var/log/userlog" > ># Root directory in which $HOME directory is created >home = "/home" > ># Colon separated list of directories containing valid shells >shellpath = "/bin" > ># Comma separated list of available shells (without paths) >shells = "sh","csh","tcsh" > ># Default shell (without path) >defaultshell = "sh" > ># Default group (leave blank for new group per user) >defaultgroup = "network" > ># Extra groups for new users >extragroups = "wheel" > ># Default login class for new users >defaultclass = "" > ># Range of valid default user ids >minuid = 1000 >maxuid = 32000 > ># Range of valid default group ids >mingid = 1000 >maxgid = 32000 > ># Days after which account expires (0=disabled) >expire_days = 0 > ># Days after which password expires (0=disabled) >password_days = 0 > >###################################################### >The script that the folks here helped me with. > >#! /bin/sh > >pw adduser tom -m -c testing -h 0 <<- EOD > water > EOD ># water is the password used for tom > > > > > > > > >-----Original Message----- >From: owner-freebsd-questions@FreeBSD.ORG >[mailto:owner-freebsd-questions@FreeBSD.ORG]On Behalf Of Bob Giesen >Sent: Tuesday, January 22, 2002 1:10 AM >To: Joe & Fhe Barbish; FBSD Questions >Subject: Re: pw in script to create new user. > >----- Original Message ----- >From: "Joe & Fhe Barbish" >To: "FBSD Questions" >Sent: Monday, January 21, 2002 10:52 PM >Subject: pw in script to create new user. > > >> I have sh script with this in it >> Pw adduser tom -m -c bkup manager -o >> The /etc/pw.conf has all the defaults, one is to >> make the password the same as the userid. >> The -o option will take input from keyboard for the >> Password but this is a canned script so I need to >> Some how pass the password value to the pw command -0 option. >> >> How can I configure the script to hold the password value >> for that userid so when the pw adduser command is executed >> the correct password gets used in creating the user? > > Three thoughts: >1) Does pw offer no other way of providing the password, other than via >stdin (keyboard)? >2) Putting unencrypted passwords into a text file (such as your script) does >present something of a security risk. >3) If the answer to (1) is no and (2) doesn't faze you, you can redirect >stdin within the script. I am not familiar with pw (perhaps because I'm >running v3.2), so I'll expand on your example command for adding tom: > >Pw adduser tom -m -c bkup manager -h 0 << EOF >tomspassword >EOF > > The first line's "<< EOF" tells sh to take the expected stdin input from >the following lines, up to the first line that BEGINS with "EOF." So, just >put tom's password on the following line and then EOF on the very next line. > Two points worth mentioning: >1) My choice of "EOF" was arbitrary. You may use EOP, EOI, XYZ, SILLY, or >whatever you like, so long as you use exactly the same string to signal the >end of input redirection. >2) EOF (or EOP, SILLY, or whatever you use) MUST BEGIN the line to signal >the end of redirection. Any space (or other character) before the ending >EOF will mess up your script (which, since you're operating as root, has the >potential to make things interesting, to say the least). (Exception: you >may precede the finishing string (EOF, or whatever) with a tab IF YOU USE >"<<-" instead of "<<" for the redirection on the first line. E.g.: > >Pw adduser tom -m -c bkup manager -h 0 <<- EOF > tomspassword > EOF > > My mail client turned the tabs to spaces; there should be tabs before >"tomspassword" and the final "EOF" here. Sometimes, the <<- & tab >functionality helps to make a more readable script. > Hope this helps... >- Bob > > > >To Unsubscribe: send mail to majordomo@FreeBSD.org >with "unsubscribe freebsd-questions" in the body of the message > > Best regards, Jack L. Stone, Server Admin =================================================== Sage-American http://www.sage-american.com jacks@sage-american.com "My center is giving way, my right is in retreat; ....situation excellent! ....I shall attack!" =================================================== To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message