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 19/10/2012, à 00:32

silver74

[RÉSOLU]Ligne de commande pour créer un compte accès libre ?

Bonsoir,

je suis en train de mettre en place des machines en accès libre, et je souhaite mettre en place un compte public limité. Donc je voulais faire un script, que je lance sur chaque machine après une install fraîche, avec un skel déjà en place.

Le script doit me permettre:

* création du compte public
* mot de passe: public
* restrictions: Impossible de modifier (Bureau,Arrière-plan,affichages,Thème...)
* Connexion automatique sur le compte public

Pour le moment je but déjà sur la création du compte à lui même...[boulet inside]

#!/bin/bash

if [[ "$USER" != "root" ]]
then
  echo "Vous devez être root pour exécuter ce script."
  exit 1
fi

COMPTE=public
useradd -d "/home/$COMPTE" -g 100 -k /etc/skel

exit 0
# FIN du script

Pouvez vous m'aider de réaliser se script?

Merci d'avance

Dernière modification par silver74 (Le 20/10/2012, à 20:41)


"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"

Hors ligne

#2 Le 19/10/2012, à 11:53

Bigcake

Re : [RÉSOLU]Ligne de commande pour créer un compte accès libre ?

Bonjour,

Pour l'uid de l'utilisateur je ne sait pas ce que tu a déjà donc j'ai mis 1001 mais a changer s'il est déjà utilisé

useradd -s /bin/bash -g 100 -u 1001 -k /etc/skel  -md "/home/$COMPTE" "$COMPTE" 

Pour plus d'info :

man useradd

wink

Dernière modification par Bigcake (Le 19/10/2012, à 11:55)


"Les gens" ne sont pas cons, ils ont été habitués à la facilité et à la désinformation. Le meilleur moyen de ne pas les aider, c'est de se moquer. Le meilleur moyen de les aider, c'est de les informer, encore et encore. La réflexion viendra. N'oubliez pas que vous aussi, vous êtes le con d'un autre.
Smartphone+GNU/Linux=Librem5

Hors ligne

#3 Le 19/10/2012, à 14:08

silver74

Re : [RÉSOLU]Ligne de commande pour créer un compte accès libre ?

Bon...ça commence à avoir forme mon truc

#!/bin/bash

if [[ "$USER" != "root" ]]
then
  echo "Vous devez être root pour exécuter ce script."
  exit 1
fi

COMPTE=public
useradd -s /bin/bash -g 100 -p IbR0piKXJBbSQ -u 1001 -k /etc/skel -md "/home/$COMPTE" "$COMPTE"

cat > /etc/init.d/nettoyage << Gogogo
#!/bin/bash


# Nom du compte a reinitialiser
COMPTE=public

case "$1" in
  start)

    rm -r /home/${COMPTE}/* >&2
    cp -r /etc/skel/* /home/${COMPTE}/ >&2
    chown -R ${COMPTE} /home/${COMPTE}/*
    chgrp -R ${COMPTE} /home/${COMPTE}/*
    ;;
  stop)
    ;;
  restart)
    ;;
  *)
    echo "Usage: $0 start|stop|restart" >&2
    exit 1 
    ;;
esac

exit 0
# FIN du script

Gogogo 

chmod +x /etc/init.d/nettoyage
update-rc.d nettoyage defaults 20

exit 0
# FIN du script

Voici donc le script qui va me permettre de creer un compte public qui se auto-reconstruit à chaque démarrage.

Il faut que je trouve "juste" maintenant quelle fichier il faut modifier pour la session boot automatiquement sur le compte selon la version ubuntu.

Quelqu’un à une idée ?


"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"

Hors ligne

#4 Le 19/10/2012, à 15:44

silver74

Re : [RÉSOLU]Ligne de commande pour créer un compte accès libre ?

Bon je trouvé pour le login automatique !!!

il faut juste dans le script il me crée un fichier custom.conf dans /etc/gdm

donc j'ajoute dans mon script

cat > /etc/gdm/custom.conf << autologin

[daemon]
TimedLoginEnable=true
AutomaticLoginEnable=false
TimedLogin=public
AutomaticLogin=public
TimedLoginDelay=10
DefaultSession=gnome

autologin

"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"

Hors ligne

#5 Le 20/10/2012, à 20:44

silver74

Re : [RÉSOLU]Ligne de commande pour créer un compte accès libre ?

Merci Bigcake pour ton coup de main.

voici donc mon script final:

#!/bin/bash

####################
#vérification du root
####################
if [[ "$USER" != "root" ]]
then
  echo "Vous devez être root pour exécuter ce script."
  exit 1
fi
#####################
#nom du compte à creer
#####################

COMPTE=public

######################
#Creation du compte public
######################
#mot de passe est: public
######################################
#le dossier /etc/skel doit etre configurer avant
######################################

useradd -s /bin/bash -g 100 -p IbR0piKXJBbSQ -u 1001 -k /etc/skel -md "/home/$COMPTE" "$COMPTE"

###########################
#activation/creation du auto-login 
###########################

cat > /etc/gdm/custom.conf << autologin

[daemon]
TimedLoginEnable=true
AutomaticLoginEnable=false
TimedLogin=public
AutomaticLogin=public
TimedLoginDelay=10
DefaultSession=gnome

autologin

##################################
#Creation du fichier de nettoyage
##################################
cat > /etc/init.d/nettoyage << restauration
#!/bin/bash

### BEGIN INIT INFO
# Provides:          nettoyage
# Required-Start:    
# Required-Stop:     
# Default-Start:     
# Default-Stop:      
# Short-Description: 
# Description:       
# Version: 2.0
# Date: 19/10/2012
# Author: Dirk Meyer zur Heyde www.solidrnet.fr
# Object: permet de réinitialiser le répertoire d'un utilisateur
#         au démarrage de l'ordinateur
### END INIT INFO

##########################
# Nom du compte a réinitialiser
##########################
COMPTE=public

    # suppression du contenu du repertoire de l'utilisateur
    rm -r /home/${COMPTE}/* >&2
    # remplissage du repertoire de l'utilisateur avec /etc/skel
    cp -r /etc/skel/* /home/${COMPTE}/ >&2
    # on rend l'utilisateur proprietaire de ses fichiers
    chown -R ${COMPTE} /home/${COMPTE}/*
    # on associe les fichier au groupe principal de l'utilisateur
    chgrp -R ${COMPTE} /home/${COMPTE}/*
 
exit 0

restauration


chmod +x /etc/init.d/nettoyage
update-rc.d nettoyage defaults 20

exit 0
# FIN du script

###################################
#désactiver le nettoyage
###################################
#sudo update-rc.d nettoyage remove
#sudo rm /etc/init.d/nettoyage

"Lorsque tu as découvert le libre, tu sais que tu ne pourras plus jamais revenir en arrière"

Hors ligne