Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 big_smile .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 smile

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 big_smile 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é cool.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. big_smile


"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!!!!! big_smile 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... lol


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 smile.

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 smile.

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