#!/usr/bin/perl
#
# lcuseradd
#
# Scott Harrison
# October 27, 2000
use strict;
# This script is a setuid script that should
# be run by user 'www'. It creates a /home/USERNAME directory
# as well as a /home/USERNAME/public_html directory.
# It adds user entries to
# /etc/passwd and /etc/groups.
# Passwords are set with lcpasswd.
# www becomes a member of this user group.
# Standard input usage
# First line is USERNAME
# Second line is PASSWORD
# Third line is PASSWORD
# Command-line arguments [USERNAME] [PASSWORD] [PASSWORD]
# Yes, but be very careful here (don't pass shell commands)
# and this is only supported to allow perl-system calls.
# Security
$ENV{'PATH'}=""; # Nullify path information.
$ENV{'BASH_ENV'}=""; # Nullify shell environment information.
# Add user entry to /etc/passwd and /etc/groups in such
# a way that www is a member of the user-specific group
# useradd [-c comment] [-d home_dir]
# [-e expire_date] [-f inactive_time]
# [-g initial_group] [-G group[,...]]
# [-m [-k skeleton_dir] | -M] [-p passwd]
# [-s shell] [-u uid [ -o]] [-n] [-r] login
system('/usr/sbin/useradd','-c','LON-CAPA user','-G','www','junk');
# Set password with lcpasswd (which creates smbpasswd entry).
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>