#1 Le 02/09/2009, à 16:29
- silver74
[RESOLU:]script: cloner/supprimer un utilisateur
Bonjour,
je suis en train préparer pour de familles modeste des pc's recyclé(5000).Donc je creer ma distribution sur la base d'ubuntu.
Par défaut je creer 3 comptes (admin,parent,enfant) pour il soit toute suite pret à l'emploi.
Je suis (presque° sur le gens voudrons créer autres comptes. Mais comme il s'agit de personnes non initier je voudrais simplifier la chose.Car si on crée un nouvelle utilisateur on perd toute configuration.Puis si on creer l'utilisateur et ensuite copie tout l'home d'un user ver l'autre,on risque faire des betise.
Donc je voulais savoir si qq1 peut m'aider de faire un script qui permet:
- creer un utilisateur
- copier le home A vers home B
- change les droits
- puis vérifie si il ya pas de residu du compte A dans le compte B,puis le remplace
L'idéal serrait d'avoir tout en mode graphique.
Pouvez vous m'aider svp?En tous cas merci déjà en avance.
Dernière modification par silver74 (Le 03/09/2009, à 15:53)
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#2 Le 02/09/2009, à 17:04
- chaoswizard
Re : [RESOLU:]script: cloner/supprimer un utilisateur
- puis vérifie si il ya pas de residu du compte A dans le compte B,puis le remplace
Heu, je ne comprends pas cette partie...
Sinon, je pense que je pourrais t'aider pour le reste.
Sinon, je ne serais pas contre quelques infos en plus sur le projet :
- Association, particulier, entreprise ?
- Pc récupérés ou ?
- Prix de vente ? (si vendu)
- Pourquoi Ubuntu (les pc n'avaient pas de systèmes) ?
- ...
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#3 Le 02/09/2009, à 17:24
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Bon pour le projet:
le conseil général de deux sèvres voulais faire qq chose contre la fracture numérique.Donc il sont associe avec la maaf.La maaf a besoin de renouveler leur parc d'info.Donc nous avons récupéré leur PC formaté a bas niveau.
Mon supérieur a me contacté de faire un OS pour tout le machines.Je dit oui,mais que un OS libre et comme le CG79 à deja remplacé toute leur licence Office contre Openoffice.Bah j'avais carte blanche.Donc depuis juillet je suis en train tester et faire l'OS.
Chaque PC va etre distribuer gratuitement aux élevés du collège, qui on besoin.Voila en bref le projet.
- puis vérifie si il ya pas de residu du compte A dans le compte B,puis le remplace
Le problème que je eu, quand je cloné un utilisateur,certains images de mon dock ete relier avec l'utilisateur.Donc l'image s'afficher plus.Donc pour pas de creer autres conflits je voulais il regarde si il trouve le mot CompteA dans le CompteB et il le remplace par le CompteB.
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#4 Le 02/09/2009, à 17:48
- chaoswizard
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Bon, voilà un début de script bash (avec zenity pour le "graphique").
Il faut le lancer en administrateur (normal).
#!/bin/bash
function newuser()
{
### Demande des infos
# Nom du nouveau compte
PSEUDO=$(zenity --title "Nom du compte" --entry --text "Quel pseudo voulez-vous utiliser pour le nouveau compte ?")
if [ -z "$PSEUDO" ]
then
zenity --error --title="Erreur" --text="Il faut spécifier un nom utilisateur"
exit 1
fi
# Mot de passe du nouveau compte
MDP=$(zenity --title "Mot de passe" --entry --text "Quel mot de passe voulez-vous utiliser pour le nouveau compte ?")
if [ -z "MDP" ]
then
zenity --error --title="Erreur" --text="Il faut spécifier un mot de passe"
exit 1
fi
# Type du nouveau compte
UTIL=""
for COMPTE in `ls /home/ | grep -v "lost+found"`
do
UTIL="$UTIL FALSE $COMPTE"
done
TYPE=$(zenity --title "Modele de compte" --list --text "Quel compte doit servir de modele pour le nouveau compte" --radiolist --column "Choix" --column "Type du compte" TRUE "Aucun" $UTIL)
if [ -z "$TYPE" ]
then
zenity --error --title="Erreur" --text="Il faut spécifier un type de compte"
exit 1
fi
### Création du compte
# Ajout de l'utilisateur
if [ $TYPE == "Aucun" ]
then
useradd -m -s /bin/bash $PSEUDO
else
useradd -m -k "/home/${TYPE}" -s /bin/bash $PSEUDO
chown -R ${PSEUDO}:${PSEUDO} "/home/${PSEUDO}"
fi
# Ajout du mot de passe
echo "${PSEUDO}:${MDP}" | chpasswd
### Modification des fichiers
if [ $TYPE != "Aucun" ]
then
sed -i "s/${TYPE}/${PSEUDO}/g" "/home/${PSEUDO}/.dmrc"
fi
# Message de fin
zenity --question --title="Fini !!!" --text "L'utilisateur $PSEUDO a bien été crée avec le mot de passe $MDP.\nVoulez-vous creer un autre compte ?"
# On recommence si l'utilisateur le veut bien
if [ $? == 0 ]
then
newuser
else
exit 0
fi
}
# Lancement
newuser
mais ça serait pas mal d'avoir la liste des fichiers pour lesquels il faut changer le nom du compte !
Dernière modification par chaoswizard (Le 03/09/2009, à 17:16)
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#5 Le 02/09/2009, à 18:01
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Merci pour le script,il est pas mal .Vraiment comme je voulais.Sauf il ya 2 trucs qui faudrais changer si tu veut bien stp.
1.Un message à la fin pour dire le nouveau compte ete cree.Avec un résumé(nom et mot de passe)puis demander si il faut relancer le script pour creer un autre.
2.La creation du compte et la copie des fichier à tres bien fonctinné,mais je pense il na pas bien copier les fichiers de configuration?Car je me retrouve avec le theme de base d'ubuntu et sans le dock de mon compte copier.
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#6 Le 02/09/2009, à 18:14
- schaars
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Bonsoir
Il y a plus simple pour créer un nouvel utilisateur qui aura déjà une config de base (en l'occurence celle d'un autre utilisateur) : il suffit de mettre tout ce qui doit se trouver dans le home dans le répertoire /etc/skel (ou le répertoire donné dans le fichier /etc/default/useradd, cf. le man de useradd).
Ainsi lorsqu'un utilisateur sera créé, son home contiendra tous les fichiers de ce répertoire
Dernière modification par schaars (Le 02/09/2009, à 18:14)
Le linux des uns est l'OS/2 des autres (Thom E. Gemcity)
Hors ligne
#7 Le 02/09/2009, à 18:17
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Sauf j'ai 2 comptes (parents/enfants) un qui est tres peu bridé et l'autre bcp.Donc si il veut creer un seconde comptes parents ou enfant il à le choix.La je ne pense pas.
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#8 Le 02/09/2009, à 18:18
- chaoswizard
Re : [RESOLU:]script: cloner/supprimer un utilisateur
1. Ok
2 . Ok aussi
Reste tjrs a voir les fichiers a modifier.
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#9 Le 02/09/2009, à 18:22
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
C'est dans le dossier de config de Cairo-dock
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#10 Le 02/09/2009, à 18:39
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
C'est moi ou ton script,mais quand je le lance il me cree bien l'utilisateur mais je me trouve tjr avec l'interface de base.Mais pas avec mon theme,mon dock.
Normalement quand je le fait manuellement je creer mon utilisateur via systémé>admin...
puis je me connecte en sudo nautilus pour copier tout,meme les fichiers caché dans le new compte
Puis je lance la commande
sudo chown -R utilisateur:utilisateur /home/utilisateur
Puis je redonne le bon utilisateur au fichier .dmrc
Voila mon compte est creer.
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#11 Le 02/09/2009, à 18:49
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
il ya un ptit bug,mais mechant dans le script Il ma modifier mon compte admin et il à changer le proprio pour le nouveau compte.Heureusement je le pas testé sur ma becanne perso.Mais sur le pC de tests.
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#12 Le 02/09/2009, à 19:10
- chaoswizard
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Bon, maintenant, ça doit copier les fichiers cachés du home.
Ça y est encore ce bug ? (il a changé les droits du compte root ?)
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#13 Le 02/09/2009, à 19:30
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Je eu pas le temps de le tester,car je débauché .je vais le tester que demain après midi.Sorry. Si le script marche.tu va faire pas mal des heureux.Deja un grand merci
Je regardé ton script et je remarqué ta mis le nom de comptes dans le code.C'est possible de pas le mettre? Je veut dire,quand il ya pas le compte parents et enfants il va copier quoi?Si ton script pouvé regarder les comptes existant, on peut l'utiliser sur n'importe quel ordinateur sous ubuntu.Tu peut faire sa?
Dernière modification par silver74 (Le 04/09/2009, à 23:11)
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#14 Le 02/09/2009, à 19:44
- chaoswizard
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Ha, je suis partis sur le principe qu'on ne copiait que les comptes enfant et parent (compte type si j'ai bien compris).
Si tu veux, je pourrais rajouter un truc qui liste les compte déjà existant et les met dans la liste...
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#15 Le 02/09/2009, à 19:54
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Imagine qq1 a deja un compte pour x.Puis il veut le reproduire pour faire un compte y.Voila mon idee.Car si le futur proprio change le nom du compte parents en Jean-Paul,puis il veut faire le meme compte pour sa femme Anita.Le script peut plus marcher.Donc si tu pouvais ajouter un truc qui regarde d'abord les comptes existant,puis les affiche comme choix a cloner.Sa serrait genial.
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#16 Le 02/09/2009, à 20:57
- chaoswizard
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Bon, ben c'est fait !
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#17 Le 02/09/2009, à 22:02
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Bon je me suis fait vite fait une installe en virtualbox sor mon pc maison.Car j'avais trop envie de tester le script.Alors le script trouve bien maintenant le compte sur le PC.Par contre il copie tjr pas les fichiers config.
J'ai un doute sur le lancement te ton script,si je fais pas de sautise.Moi je le lance avec alt+f2,puis
gksudo /home/silver74/scripts/newusers (le nom de ton script)
.Je le rendu exécutable avant.
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#18 Le 03/09/2009, à 07:39
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Dans ton script la commande chown et est fait pareille comme je le fais normalement?
La commande pour un nouveau utilsateur avec le pseudo paul
sudo chown -R paul:paul /home/paul
Puis la commande cp -r, le -r est en minuscule.Il y a pas d'importance entre majuscule/minuscule (cp -R)?
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#19 Le 03/09/2009, à 10:40
- chaoswizard
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Oui, oui, tu peux le lancer comme ça.
Pour le coup du cp, je me noie dans un verre d'eau : j'ai trouvé quelque chose de plus simple dans le man de useradd :
-k, --skelRÉP_SQUELETTE
The skeleton directory, which contains files and directories to be
copied in the user's home directory, when the home directory is
created by useradd.
donc ça devrait aller avec ça.
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#20 Le 03/09/2009, à 11:23
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Sa marche aussi si je veut creer un compte C qui se base sur le compte B,puis un compte D qui se base sur le compte A?
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#21 Le 03/09/2009, à 11:38
- chaoswizard
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Oui car il copie le répertoire home que l'on choisit dans la liste (ou aucun si on choisit Aucun)
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#22 Le 03/09/2009, à 12:49
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Magnificooooooo!!!!! Yess!!!! Sa marche impec maintenant .
Un verry big merci à toi
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#23 Le 03/09/2009, à 14:05
- chaoswizard
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Comme quoi, en utilisant les options qui existent déjà, ça marche mieux...
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#24 Le 03/09/2009, à 14:13
- silver74
Re : [RESOLU:]script: cloner/supprimer un utilisateur
lol en tout cas tout fini bien.Encore merci
Comme je veut pas être chiant je te demande juste si ta envie de faire un autre script.Cette fois c pour supprimer un compte avec son dossier perso puis peut etre aussi son groupe.La meme chose avec le choix d'utilisateur puis un message tres fort pour avertir.Mais si ta pas envi,c'est ne pas grave.Car ma priorité été de créer un compte.
"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"
Hors ligne
#25 Le 03/09/2009, à 14:47
- Kasi
Re : [RESOLU:]script: cloner/supprimer un utilisateur
Sympas, ça m'a permis de voir zenity en action .
Pour chipoter un peu, il faudrait demander une confirmation du mot de passe pour éviter les bétises, mais rien de bien méchant à faire .
Bon boulot.
Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/
Hors ligne