File:  [LON-CAPA] / loncom / Attic / lcuseradd
Revision 1.3: download - view: text, annotated - select for diffs
Sun Oct 29 22:20:43 2000 UTC (23 years, 5 months ago) by harris41
Branches: MAIN
CVS tags: HEAD
solidifying group deletion in lcuserdel, improving useradd syntax system command
for lcuseradd

#!/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>