Wiki Linkat

Creació d'usuaris amb perfils

De Wiki Linkat

(Diferència entre revisions)
Línia 1: Línia 1:
'''Script per donar d'alta múltiples usuaris genèrics amb els perfils d'infantil, primària i/o secundària:'''
'''Script per donar d'alta múltiples usuaris genèrics amb els perfils d'infantil, primària i/o secundària:'''
-
[[/Perfils_d'alumnat]]
+
En la versió actual de la Linkat 3.0 s'ofereixen tres perfils d'alumnat: infantil, primària i secundària. Si voleu tenir més informació sobre aquests perfils podeu consultar el recurs: [[Perfils_d'alumnat]]
 +
 
 +
 
 +
L'objectiu de l'script que es presenta tot seguit és el de crear múltiples usuaris que disposin dels entorns d'escriptori abans esmentat.
 +
 
 +
<pre>
 +
'''Nota:''' Com a requisits previs, cal haver instal·lat els paquets:
 +
</pre>
 +
 
 +
<pre>
 +
perfil-usuari-infantil
 +
perfil-usuari-primaria
 +
perfil-usuari-secundaria
 +
</pre>
 +
 
 +
Per tal de procedir a la instal·lació d'aquests paquets, cal anar a:
 +
 
 +
<pre>
 +
Sistema -> Sistema -> YaST ''(introduir la contrasenya de root)''-> Software -> Gestió de programari
 +
</pre>
Línia 9: Línia 28:
#!/bin/bash
#!/bin/bash
#
#
 +
# Nom de l'script: alta_massiva_perfils.sh
 +
# Execució de l'scrip: sh alta_massiva_perfils.sh nom_base perfil nombre_usuaris
# Versió 1.0
# Versió 1.0
# Autor: Joan de Gracia
# Autor: Joan de Gracia
 +
#        Servei TAC - Departament d'Educació
 +
# Data: 14/07/2009
# Llicència GPL 3.0
# Llicència GPL 3.0
-
#
 
#
#
# Nota: Aquest script presuposa que l'usuari ha instal·lat algun (o tots) dels paquets: perfil-usuari-infantil
# Nota: Aquest script presuposa que l'usuari ha instal·lat algun (o tots) dels paquets: perfil-usuari-infantil

Revisió de 15:59, 14 jul 2009

Script per donar d'alta múltiples usuaris genèrics amb els perfils d'infantil, primària i/o secundària:

En la versió actual de la Linkat 3.0 s'ofereixen tres perfils d'alumnat: infantil, primària i secundària. Si voleu tenir més informació sobre aquests perfils podeu consultar el recurs: Perfils_d'alumnat


L'objectiu de l'script que es presenta tot seguit és el de crear múltiples usuaris que disposin dels entorns d'escriptori abans esmentat.

'''Nota:''' Com a requisits previs, cal haver instal·lat els paquets:
perfil-usuari-infantil
perfil-usuari-primaria
perfil-usuari-secundaria

Per tal de procedir a la instal·lació d'aquests paquets, cal anar a:

Sistema -> Sistema -> YaST ''(introduir la contrasenya de root)''-> Software -> Gestió de programari


###########################################################################################################################################
#
#!/bin/bash
#
# Nom de l'script: alta_massiva_perfils.sh
# Execució de l'scrip: sh alta_massiva_perfils.sh nom_base perfil nombre_usuaris
# Versió 1.0
# Autor: Joan de Gracia
#        Servei TAC - Departament d'Educació
# Data: 14/07/2009
# Llicència GPL 3.0
#
# Nota: Aquest script presuposa que l'usuari ha instal·lat algun (o tots) dels paquets: perfil-usuari-infantil
#                                                                                       perfil-usuari-primaria
#                                                                                       perfil-usuari-secundaria
# Descripció de variables:
#
# USUARI_BASE: És el nom que s'agafa com a base per generar la totalitat d'usuaris
# ESCRIPTORI: Els valors disponibles són:infantil, primaria, secundaria
# N: Nombre d'usuaris a crear
# CONTRASENYA: És la contrasenya genèrica que tindran tots els usuaris i que per defecte pren el valor: alumne
# DIRECTORI: És el directori local de l'usuari. De forma predeterminada s'assigna a /home-local tot i que es pot canviar a /home
# PERFIL: Directori on es desen els perfils dels escriptoris un cop s'han instal·lat els paquets rpm corresponents. Aquests paquets són:
#         perfil-usuari-infantil, perfil-usuari-primaria, perfil-usuari-secundaria
# GRUP: El grup predeterminat al qual s'associa l'usuari. De forma predeterminada és el grup users amb gid=100
#
#
# UTILITZACIÓ DE L'SCRIPT:
#
# sh alta_usuaris.sh NOM_BASE_USUARI PERFIL_ESCRIPTORI NOMBRE_USUARIS
# on PERFIL_ESCRIPTORI pot prendre un dels valors següents: infantil primaria secundaria
#
###########################################################################################################################################
declare -i N
USUARI_BASE=$1
ESCRIPTORI=$2
N=$3
CONTRASENYA="alumne"
DIRECTORI=/home-local
PERFIL=/usr/share/linkat/profiles
GRUP=users
if [ "$USUARI_BASE" == "" ] || [ "$ESCRIPTORI" == "" ] ; then
   {
      echo -e "\n" "Has d'introduir les dades de l'usuari i del grup"
      echo -e "\n" "Executa l'script de la forma següent:"
      echo -e "\n" "sh alta_usuaris.sh NOM_BASE_USUARI PERFIL_ESCRIPTORI NOMBRE_USUARIS"
      echo -e "\n" "El PERFIL_ESCRIPTORI pot ser: infantil primaria secundaria"
      exit 0
   };
fi
if [ $N -le 0 ] || [ "$N" == "" ] ; then
   {
      echo -e "\n" "El nombre d'usuaris ha de ser més gran que zero\n" 
      exit 0
   };
fi
for i in $(seq 1 $N);
do
   USUARI=$USUARI_BASE$i
   if [ "$(cat /etc/passwd |grep $USUARI)" == "" ] ; then
   {
      case "$ESCRIPTORI" in
         infantil)
                    useradd -d $DIRECTORI/$USUARI -g users -s /bin/bash $USUARI >/dev/null 2>&1
                    cd $DIRECTORI
                    mkdir $USUARI
                    chown $USUARI:$GRUP $USUARI
                    echo $CONTRASENYA | passwd --stdin $USUARI
                    cd $DIRECTORI/$USUARI
		    sudo -u $USUARI tar -jxf $PERFIL/perfil-$ESCRIPTORI.tar.bz2
                    cd $DIRECTORI/$USUARI/.nautilus/metafiles 
		    for j in $(ls $DIRECTORI/$USUARI/.nautilus/metafiles |grep infantil); do
		       mv $j $(echo $j | sed 's/infantil/'$USUARI'/g')
		    done
         ;;
         primaria)
                    useradd -d $DIRECTORI/$USUARI -g users -s /bin/bash $USUARI >/dev/null 2>&1
                    cd $DIRECTORI
                    mkdir $USUARI
                    chown $USUARI:$GRUP $USUARI
                    echo $CONTRASENYA | passwd --stdin $USUARI
                    cd $DIRECTORI/$USUARI
		    sudo -u $USUARI tar -jxf $PERFIL/perfil-$ESCRIPTORI.tar.bz2
		    cd $DIRECTORI/$USUARI/.nautilus/metafiles 
		    for j in $(ls $DIRECTORI/$USUARI/.nautilus/metafiles |grep primaria); do
		       mv $j $(echo $j | sed 's/primaria/'$USUARI'/g')
		    done
         ;;
         secundaria)
                    useradd -d $DIRECTORI/$USUARI -g users -s /bin/bash $USUARI >/dev/null 2>&1
                    cd $DIRECTORI
                    mkdir $USUARI
                    chown $USUARI:$GRUP $USUARI
                    echo $CONTRASENYA | passwd --stdin $USUARI
                    cd $DIRECTORI/$USUARI
		    sudo -u $USUARI tar -jxf $PERFIL/perfil-$ESCRIPTORI.tar.bz2
		    cd $DIRECTORI/$USUARI/.nautilus/metafiles 
		    for j in $(ls $DIRECTORI/$USUARI/.nautilus/metafiles |grep secundaria); do
		       mv $j $(echo $j | sed 's/secundaria/'$USUARI'/g')
		    done
         ;;
         *)
		    echo -e "\n" "Aquest perfil d'escriptori $ESCRIPTORI no existeix."
		    echo -e "\n" "Prova amb algun dels valors: infantil primaria secundaria"
		    exit 0
	 ;;
      esac
   }
   else
   {
      echo -e "\n" "L'usuari $USUARI ja existeix i no es crearà\n"
      exit 0
   };
   fi
done
exit 0