Quelqu'un pourrait-il écrire ou m'aider à rédiger un script bash qui aurait les effets suivants:
Un nouvel utilisateur se connecte à mon serveur FreeBSD et se connecte via SSH avec certaines informations d'identification telles que 'enregistrement d'utilisateur, enregistrement de passe' ou quelque chose de similaire. Il est accueilli avec une bannière lui indiquant quoi faire ensuite et un script est lancé pour demander à l'utilisateur de son identifiant d'étudiant. Ensuite, un nouvel utilisateur est créé avec un mot de passe aléatoire et l'ID fourni. Un courrier électronique est envoyé à studentID@university.domain contenant le mot de passe (en tant que méthode de vérification de l'étudiant). Après cette procédure, l’étudiant a un nouveau compte limité sur mon serveur avec l’identifiant fourni et un mot de passe aléatoire et modifiable.
L'idée est de faire un script qui est souvent utilisé dans l'enregistrement MUD ou la création de comptes shell.
Je suppose que le script doit être exécuté lors de la connexion, stocker les informations d'identification fournies dans un champ, puis les transmettre à une commande sudo'ed adduser. Je n'ai qu'une compréhension de base des scripts Unix et apprécierais toute aide.
MODIFIER:
Ok, j'ai donc essayé quelque chose par moi-même:
#! /usr/local/bin/bash
clear
echo "--------------------------------------------------"
echo " "
echo " Welcome to FreeBSD community server! "
echo " "
echo "--------------------------------------------------"
echo
echo To create a new account enter your album number:
read ALBUM
if [ -d "/home/$ALBUM" ]; then
echo ""
echo "User already exists!"
echo ""
read
exit
else
PASSWORD=`cat /dev/urandom |tr -cd A-Za-z0-9 | head -c 8`
echo "Your FreeBSD server password is:
$PASSWORD
If you did not request one, ignore this message." | mail -s "Auth Credentials" $ALBUM@gmail.com
echo ""
echo "Thank you, a new user has been created and a mail containing your password"
echo "was sent to $ALBUM@student.pwr.wroc.pl"
echo ""
sudo pw useradd $ALBUM -d /home/$ALBUM -s /usr/local/bin/bash -m
echo $PASSWORD | sudo pw mod user $ALBUM -h 0
read
exit
fi
Ok, c'est ce que je suis venu avec. Aucune suggestion? L'utilisateur par lequel le script est exécuté est un sodoer avec nopasswd pour utiliser l'outil pw. En outre, le script est autoran avec 'source'.