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

rewrite add_user script

parent adf38d92
#!/bin/bash #!/bin/bash
# Written by Vitaly Lipatov <lav@etersoft.ru> (c) 2012, 2017 # 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 #. $(dirname $0)/migrate_user_passwd.conf
...@@ -23,48 +23,52 @@ LOGIN="$1" ...@@ -23,48 +23,52 @@ LOGIN="$1"
[ -n "$LOGIN" ] || fatal "Run me with LOGIN as param" [ -n "$LOGIN" ] || fatal "Run me with LOGIN as param"
RUSERNAME="$2" RGECOS="$2"
[ -n "$RUSERNAME" ] || fatal "Run with FIO after LOGIN" [ -n "$RGECOS" ] || fatal "Run with FIO after LOGIN"
RUID="$3" 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 cat <<EOF
Данные о пользователе $RGIVENNAME $RSURNAME: Данные о пользователе $RGIVENNAME $RSURNAME:
LOGIN=$RUSERNAME EMAIL=$USEREMAIL
LOGIN=$LOGIN
UID=$RUID GID=$RGID UID=$RUID GID=$RGID
HOME=$RHOMEDIR HOME=$RHOMEDIR
SHELL=$RSHELL" SHELL=$RSHELL"
EOF EOF
if [ -z "$FORCEEMAIL" ] ; then #RPASSWORD=$(pwgen -1)
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)
if [ -n "$FORCE" ]; then if [ -n "$FORCE" ]; then
echo "# samba-tool user delete $RUSERNAME" echo "# samba-tool user delete $LOGIN"
samba-tool user delete $RUSERNAME samba-tool user delete $LOGIN
fi fi
# http://samba.2283325.n4.nabble.com/Full-list-of-options-when-using-samba-tool-user-create-td4685327.html # 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 \ --must-change-at-next-login \
--surname="$RSURNAME" \ --surname="$RSURNAME" \
--given-name="$RGIVENNAME" \ --given-name="$RGIVENNAME" \
--company="Etersoft" \ --company="Etersoft" \
--mail-address="$RUSERNAME@$DOMEMAIL" \ --mail-address="$USEREMAIL" \
--unix-home=$RHOMEDIR \ --unix-home=$RHOMEDIR \
--uid-number=$RUID \ --uid-number=$RUID \
--gid-number=$RGID \ --gid-number=$RGID \
...@@ -72,39 +76,6 @@ samba-tool user create $RUSERNAME \ ...@@ -72,39 +76,6 @@ samba-tool user create $RUSERNAME \
--random-password \ --random-password \
|| fatal "Error during create user" || fatal "Error during create user"
samba-tool user setpassword $RUSERNAME --newpassword "$RPASSWORD" || fatal "Error during set password" #samba-tool user setpassword $RUSERNAME --newpassword "$RPASSWORD" || fatal "Error during set password"
samba-tool user setexpiry $RUSERNAME --noexpiry samba-tool user setexpiry $LOGIN --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"
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