Aide sur création de sous dossier avec droit par script

Aide sur création de sous dossier avec droit par script - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 07-09-2006 à 17:00:31    

Bonjour tout le monde,
 
j'ai besoin d'un peu d'aide sur un script qui créé des utilisateurs avec leur home directory, bla bla bla....
mais j'aurai besoin en plus qu'il me créé des sous répertoires dans le /home/loginXX/ avec des permissions pour une dizaine de user.
 
/home/user 1/
                   bla bla1
                   bla bla2
 
......
 
/home/user 9/
                   bla bla1
                   bla bla2
 
/home/user 10/
                   bla bla1
                   bla bla2
 
 
Chaque utilisateur ne peut voir que son home directory sauf le user 10 qui peut voir en lecteur tout les autres.
 
Je post le script initial:
 

Citation :


#!/bin/bash
# SCRIPT creation_user.sh
# ================
# Création automatique des comptes d'apres le fichier users.txt
# appel : ./creation_user.sh [users.txt]  
 
# analyse de la ligne de commande
# a t-on passe un parametre ?
if [ $# = 1 ]  
then
   fichier=$1
else
   echo "Nom du fichier des comptes Linux a creer [par defaut users.txt]"
   read fichier
   if [ -z $fichier ]
   then
     fichier="users.txt"
     echo "Utilisation du fichier $fichier pour genener les comptes"
   fi
fi    
# le fichier $fichier existe t-il ? si non, sortie du script par exit 1
if [ ! -e $fichier ]
then
     echo "Le fichier $fichier n'existe pas ! Verifiez !"
     exit 1
fi    
 
# Lecture une par une des lignes de $fichier
cat $fichier | while true
do
   read ligne
# c'est la fin du fichier --> sortie brutale de la boucle
   if [ "$ligne" = "" ]
   then
   break
   fi
# Traitement de la ligne (attention pas de " " autour de $ligne)
# on "eclate" la ligne en affectant les variables de position
   set -- $ligne
   login=$1
   mdp=$2
   nom=$3
   groupe=$4
   echo $login $passwd $groupe $nom
# existe t-il un sous-rep au nom $login dans /home/ ?
   if [ -d "/home/$login" ]
   then  
     echo "Le compte $login existe deja ! "  
# on cree le compte avec $groupe comme groupe primaire
   else
    useradd -G $groupe $login  
    echo $mdp | (passwd --stdin $login)
    smbpasswd -a $login $mdp
    uid=$(grep -w "^$login" /etc/passwd | cut -d: -f3)
    echo "creation de $login / uid = $uid / passwd = $mdp"  
    echo "creation de $login / uid = $uid / passwd = $mdp, cree le $(date)" >>creer.txt
   fi
done    
# fin boucle de creation
echo "----------------------------------------------" >>creer.txt


 
 
Merci de votre aide.
 
 :hello:


---------------
- Feed-back - - Jeu du moment: J’ai un backlog monstre sur Switch - C'est moi Bananecafe
Reply

Marsh Posté le 07-09-2006 à 17:00:31   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed