shadow/useradd.local

64 lines
1.4 KiB
Bash

#!/bin/sh
#
# Here you can add your own stuff, that should be done for every user who
# was new created.
#
# When you create a user with useradd, this script will be called
# with the login name as parameter. Optional, UID, GID and the HOME
# directory are added.
#
case "$1" in
--help|--version)
echo Usage: $0 username [uid gid home]
exit 0
;;
esac
# Check for the required argument.
if [ $# -lt 1 -o $# -gt 4 ]; then
echo Usage: $0 username [uid gid home]
exit 1
fi
USER=$1
if [ $# -eq 4 ]; then
GID=$3
HOMEDIR=$4
else
GID=$(id -g $USER)
HOMEDIR=$(grep -E "^${USER}:" /etc/passwd| cut -d: -f6,6)
fi
# Update NIS database
# make -C /var/yp
# Main useradd tool creates this if specified on command line
[ -d $HOMEDIR ] || exit 0
#
# Copy also skeleton files from /usr/etc/skel (boo#1173321)
#
USRSKELDIR=/usr/etc/skel
if [ -d $USRSKELDIR ] ; then
for file in $(ls -A $USRSKELDIR); do
# Only copy if not exist yet, i.e. does *not* exist in /etc/skel, which is still
# being preferred ...
test -e $HOMEDIR/$file && continue
cp -a $USRSKELDIR/$file $HOMEDIR
chown -R $USER.$GID $HOMEDIR/$file
done
fi
# If SELinux is enabled, we have to run restorecon to assign
# appropriate fcontexts to the respective $HOME and files under it
if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled ; then
test -x /sbin/restorecon || exit 2
/sbin/restorecon -R $HOMEDIR
fi
# All done.
exit 0