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
Ajout
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
Test
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.
Suppression
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