Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Sep 2009 21:38:00 +0200
From:      Stefan Miklosovic <miklosovic.freebsd@gmail.com>
To:        freebsd-ports@freebsd.org, freebsd-questions@freebsd.org
Subject:   add own program to ports + help with port / program
Message-ID:  <f99a79ec0909131238n671f2d92t274fc45189a92768@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--0016364c778fda77ab04737aafef
Content-Type: text/plain; charset=ISO-8859-1

hi list,

I am about writing shell script which adds system account
by tens (even hundreds). Info about added accounts is stored
in external file which has syntax like this

account-name:comment:email-addres

Briefly,
account-name is name of account
comment field is comment which appears in /etc/passwd comment field
email-address is address where info about just created account is sent
(optional)

eg.
joe:Joe Brown:joe@something.com <Brown%3Ajoe@something.com>
mark:Mark Red:mark@nowhere.org <Red%3Amark@nowhere.org>
tim:Tim Yellow:timmy@example.com <Yellow%3Atimmy@example.com>

Script is checking file syntax and if syntax is bad, it exits.
If it is ok, accounts is being created.

You can modify a lot of infos, these are stored in config file in
/usr/local/etc/pwgroup.conf,
eg

# output file with passwords of newly
# created user accounts
PASSWD_FILE="passwords"

# uid of first created user
UID="2000"

# root home dir of users
HOME_DIR="/home"

# comment for users, appears in /etc/passwd
# in comment field
COMMENT=""

# primary group for users, if empty,
# primary group will be a user name
GROUP="users"

# comma separated list of groups
# users should be a member of
GROUPLIST=""

# shell for users
SHELL="/bin/csh"

# use quotas
QUOTAS="NO"

# hard quote limit
QUOTA_HARD="1536"

# soft quote limit
QUOTA_SOFT="1024"

# disk device upon which users are created
DISK_DEV="/home"

# expiration date of accounts
ACCOUNT_EXP="30-Jun-2010"

# length of password
PASSWORD_LENGTH="8"

==========
as you can see, you can set quotas for users, account expiration
of accounts, password length, shell and so on. Variables in config
file are default, if you do not overwrite some at command line.

some examples:
# pwgrp -a -f users -c "unix begginer" -s /usr/local/bin/bash -q -qh 2048 -l
10 (adding users)
# pwgrp -r -f remove_users (list of users for removing)

Password are generated by apg program
Quotas are set by setquotas.

The main reason I write this mail is to make some feedback about program to
me
and even test it and comment it.

I want to write this program but I do not know if I do it correct and I need
some
feedback about programming style or just some info what do you think about
it.

At this time, there is absence of manual, but if you track code, I think
you understand it.

Any ideas are highly appreciated.

--0016364c778fda77ab04737aafef--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f99a79ec0909131238n671f2d92t274fc45189a92768>