Mission 2 – Création automatique de comptes

cette mission consiste à créer des comptes automatiquement à partir d’un fichier CSV qui contient toutes les informations des employés qui auront un compte crées.

Dans le script de création automatique de comptes, j’utilise des commandes Linux car les comptes sont crées dans un système Linux.

Donc, les commandes Linux utilisées sont:

« groupadd –force $NomGroupe » : pour forcer la création d’un groupe lorsque le groupe d’adhésion de la personne qui souhaite avoir un compte n’est pas stocké dans le fichier /etc/group.

« mkdir  /home/xilim/$NomGroupe » : Permet de créer un dossier pour chaque groupe dans le répertoire /home/xilim car la commande « useradd » ne permet pas la création de répertoires en récursivité.

« useradd $loginDown -m -d /home/xilim/$NomGroupe/$NomEmployé –gid $NomGroupe -s /bin/bash -p $(mkpasswd -H md5 $DateAnniversaire) && chage -M 0 -W 0 $NomEmployé » :

Cette commande permet de créer le compte de la personne souhaité. De plus, un répertoire personnel est également crée lors de la création du compte.La personne en question est ajoutée à son groupe, elle se voit attribuer un mot de passe qui correspont à sa date de naissance qui est indiqué dans le fichier CSV. Le mot de passe doit ensuite directement être changé par la personne concerné lors de la première utilisation du compte.

Nous avons donc vu les commandes qui permettent de créer un compte manuellement sur Linux, nous allons maintenant voir le script php qui permet la création automatique de compte sur Linux qui est ci-dessous:

<?php
//lecture d’un fichier ligne par ligne
$fic=fopen(« 2016-employees.csv », « r »);
$i=1 ;//Compteur de ligne
$premiereLigne = true;
while(!feof($fic))
{
$line= fgets($fic,1024);

if (!$premiereLigne && !feof($fic)){
echo « ligne numéro « .$i. » :  » . $line ;
$command = explode(« ; »,$line);
echo « \n », $command[2], »\n »;
$login = substr($command[1],0,1) . substr($command[0],0,6);
$loginDown = strtolower($login);
echo $loginDown , « \n »;

shell_exec(« groupadd –force $command[2] »);
shell_exec(« mkdir /home/xilim/$command[2] »);
shell_exec(« useradd $loginDown -m -d /home/xilim/$command[2]/$loginDown –gid $command[2] -s /bin/bash -p $(mkpasswd -H md5 $command[3]) && chage -M 0 -W 0 $loginDown « );

shell_exec(« mkdir /var/www/$loginDown »);
//shell_exec(« userdel -r $login »);
//shell_exec(« rm -rf /home/xilim/membership_group/$login »);

print_r($command);

$i ++;
}
else{
$premiereLigne=false;
}

}
//echo $command[2];
fclose($fic) ;
?>

Laisser un commentaire