Commit 3f60d10a authored by Vitaly Lipatov's avatar Vitaly Lipatov

rewrite add_user script

parent adf38d92
#!/bin/bash
# Written by Vitaly Lipatov <lav@etersoft.ru> (c) 2012, 2017
# ./add_user.sh [-f] LOGIN "FIO"
# ./add_user.sh [-f] LOGIN "FIO" UID
#. $(dirname $0)/migrate_user_passwd.conf
......@@ -23,48 +23,52 @@ LOGIN="$1"
[ -n "$LOGIN" ] || fatal "Run me with LOGIN as param"
RUSERNAME="$2"
[ -n "$RUSERNAME" ] || fatal "Run with FIO after LOGIN"
RGECOS="$2"
[ -n "$RGECOS" ] || fatal "Run with FIO after LOGIN"
RUID="$3"
[ -n "$RUID" ] || RUID=$()
# TODO
[ -n "$RUID" ] || fatal "RUID missed"
#RUID=$()
# TODO RGID
RGID=100
DOMEMAIN=etersoft.ru
read RGIVENNAME RSURNAME <<< "$RGECOS"
# cannot be empty
[ -n "$RSURNAME" ] || RSURNAME="User"
RHOMEDIR=/home/$LOGIN
RSHELL=/bin/bash
USEREMAIL=$LOGIN@$DOMEMAIL
cat <<EOF
Данные о пользователе $RGIVENNAME $RSURNAME:
LOGIN=$RUSERNAME
EMAIL=$USEREMAIL
LOGIN=$LOGIN
UID=$RUID GID=$RGID
HOME=$RHOMEDIR
SHELL=$RSHELL"
EOF
if [ -z "$FORCEEMAIL" ] ; then
USEREMAIL=$RUSERNAME@$DOMEMAIL
else
USEREMAIL="$FORCEEMAIL"
fi
# samba-tool domain passwordsettings set --min-pwd-length=6 --complexity=off --max-pwd-age=0 --min-pwd-age=0
# Пока сбрасывается при логине по ssh
# To force a user to change their password at next logon, set the pwdLastSet attribute to zero (0).
# никто не будет знать :)
# --random-password \
RPASSWORD=$(pwgen -1)
#RPASSWORD=$(pwgen -1)
if [ -n "$FORCE" ]; then
echo "# samba-tool user delete $RUSERNAME"
samba-tool user delete $RUSERNAME
echo "# samba-tool user delete $LOGIN"
samba-tool user delete $LOGIN
fi
# http://samba.2283325.n4.nabble.com/Full-list-of-options-when-using-samba-tool-user-create-td4685327.html
samba-tool user create $RUSERNAME \
samba-tool user create $LOGIN \
--must-change-at-next-login \
--surname="$RSURNAME" \
--given-name="$RGIVENNAME" \
--company="Etersoft" \
--mail-address="$RUSERNAME@$DOMEMAIL" \
--mail-address="$USEREMAIL" \
--unix-home=$RHOMEDIR \
--uid-number=$RUID \
--gid-number=$RGID \
......@@ -72,39 +76,6 @@ samba-tool user create $RUSERNAME \
--random-password \
|| fatal "Error during create user"
samba-tool user setpassword $RUSERNAME --newpassword "$RPASSWORD" || fatal "Error during set password"
samba-tool user setexpiry $RUSERNAME --noexpiry
for grp in $(./migrate_group.sh --list $RUSERNAME) ; do
samba-tool group addmembers $grp $RUSERNAME
done
echo "Установлен пароль $RPASSWORD"
echo
test -n "$USEREMAIL" || fatal "E-mail is missed."
#echo "E-mail: $USEREMAIL"
EMAIL="$FROMEMAIL" mutt "$USEREMAIL" -s "Новый пароль для Этерсофта" << EOF
Добрый день!
Этерсофт переходит на новую схему аутентификации с использованием AD (службы каталогов).
Вам нужно заново задать ваш пароль для входа в систему.
Для этого после удачного входа в систему откройте консоль и введите команду
\$ passwd
на запрос
Current Password:
укажите временный пароль, указанный ниже. Нажмите Enter и укажите свой пароль, который вы обычно используете для входа.
Ваш логин: $RUSERNAME
Временный пароль: $RPASSWORD
Старый пароль будет действовать ещё некоторое время, до окончания переходного периода.
With best regards,
Etersoft robot,
$(LANG=C date)
EOF
echo "Mailed from $FROMEMAIL to $USEREMAIL"
#samba-tool user setpassword $RUSERNAME --newpassword "$RPASSWORD" || fatal "Error during set password"
samba-tool user setexpiry $LOGIN --noexpiry
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment