Gestion des utilisateurs

Les utilisateurs doivent avoir accès :

  • au serveur par SSH
  • à son dossier personnel par Samba
  • à son/ses projet(s) par des urls qui lui sont propres
  • au dépôt(s) SVN

Il est temps maintenant d'ajouter un/des utilisateur(s).

Pour cela on va créer un script dans le home du user courant, celui qui a été créé lors de l'installation de la distribution. Vous pouvez également le créé dans le home de root si vous voulez.

Tout d'abord vous devez installer le package whois afin de pouvoir utiliser la commande mkpasswd :

sudo apt-get install whois

Puis on va créer le script :

vi ~/usercreate.sh

Et on insère le code suivant :

#!/bin/bash
 
# Un peu de couleur
txtred='\e[0;31m'
txtcyn='\e[0;36m'
txtrst='\e[0m'
 
# Check root
WHOAMI=`/usr/bin/whoami`
if [ $WHOAMI != "root" ]; then
echo -e "${txtred}Vous devez etre root${txtrst}"
exit 1
fi
 
# Saisie de l'identifiant
echo -e "${txtcyn}Identifiant :${txtrst}"
read login
 
if [ "${login}" == '' ]; then
        echo -e "${txtred}Identifiant non renseigné${txtrst}"
        exit 1
fi
 
# Saisie du mot de passe
echo -e "${txtcyn}Mot de passe :${txtrst}"
read -s user_password
 
echo -e "${txtcyn}Confirmation mot de passe :${txtrst}"
read -s user_password_confirm
 
if [ $user_password != $user_password_confirm ]; then
        echo -e "${txtred}Erreur de confirmation du mot de passe${txtrst}"
        exit 1
fi
 
# Génération du mot de passe en md5
password=$(mkpasswd -H md5 $user_password)
 
# Ajout de l'utilisateur unix
useradd -m -d /home/web/$login -g www-data -s /bin/bash --password $password "${login}"
 
# Ajout de l'utilisateur Samba
(echo $user_password; echo $user_password) | smbpasswd -as ${login}
 
# Ajout de l'accès SVN
htpasswd -mb /etc/apache2/svn-passwd ${login} ${user_password}

Puis on rend le script exécutable :

chmod +x ~/usercreate.sh

Pour tester il suffit de créer un utilisateur avec le script créé ci-dessus :

cd
sudo ./usercreate.sh

Saisissez l'identifiant et le mot de passe.

Samba & HTTP

Ensuite accéder au partage Samba \\server.local.lan\identifiant

Saisissez l'identifiant et le mot de passe.

Créez un dossier puis un sous dossier www dans lequel vous créez un fichier index.php (ou .html) dans lequel vous pouvez saisir ce que vous voulez.

Ensuite dans votre navigateur saisissez http://dossier.identifiant.server.local.lan

Vous devez voir ce que vous avez saisi dans le fichier d'index

SSH

Il suffit de se connecter avec putty ou la commande ssh en utilisant l'identifiant et le mot de passe de l'utilisateur, vous devez arriver à la racine de son dossier personnel.

Subversion

Saisir http://server.local.lan/svn et saisissez l'identifiant et le mot de passe de l'utilisateur.

Pour supprimer on va procéder de la même façon que pour la création : on crée un script :

vi ~/userdelete.sh

Dans lequel on saisira :

#!/bin/bash
 
# Un peu de couleur
txtred='\e[0;31m'
txtcyn='\e[0;36m'
txtrst='\e[0m'
 
# Vérification root
WHOAMI=`/usr/bin/whoami`
if [ $WHOAMI != "root" ]; then
echo -e "${txtred}Vous devez etre root${txtrst}"
exit 1
fi
 
# Saisie de l'identifiant
echo -e "${txtcyn}Identifiant :${txtrst}"
read login
 
# Suppression de l'utilisateur unix, de son home et de ses mails
userdel -rf ${login}
 
# Suppression de l'accès Samba
smbpasswd -x ${login}
 
# Suppression de l'accès SVN
htpasswd -D /etc/apache2/svn-passwd ${login}

On applique le droit d'exécuter :

chmod +x ~/userdelete.sh

Et on peut supprimer un user en exécutant le script :

cd
sudo ./userdelete.sh
  • Dernière modification: 13/03/2021 07:56