Sessió SSH dels alumnes
Els alumnes poden iniciar sessió en el servidor SSH:
$ ssh asix2a01@192.168.0.10
Per crear els usuaris de forma automàtica tinc el script creacio_usuaris.sh:
#!/bin/bash while [ 0 ]; do read LINE USER=`echo $LINE | cut -f 1 -d ,` FULLNAME=`echo $LINE | cut -f 2 -d ,` PASSWORD=`echo $LINE | cut -f 3 -d ,` GROUP1=`echo $LINE | cut -f 4 -d ,` if [ x"$USER" == x ]; then break; fi echo $USER echo $FULLNAME echo $PASSWORD echo $GROUP1 adduser --home /var/www/alumnes/$USER --shell /bin/bash --disabled-password --gecos "$FULLNAME,,," --ingroup $GROUP1 $USER usermod -p `mkpasswd $PASSWORD` $USER chmod 755 /var/www/alumnes/$USER chown $USER /var/www/alumnes/$USER done
i en el fitxer usuaris.txt tinc tota la informació dels alumnes:
asix2a01,Jaume Compte,asix,alumnes, asix2a02,Pere Roure,asix,alumnes, ...
i per executar el script:
$ sudo ./creacio_usuaris.sh < usuaris.txt
El directori personal dels alumnes es crea a /var/www/alumnes/.
Amb l'opció -k (--skel SKEL_DIR) de la comanda useradd es defineix el directori esquelet que conté tots els fitxers i directoris que es copiaran en el directori personal de l'usuari que s'està creant. L'esquelet per defecte es troba a /etc/skel, i a mi m'interessa el fitxer /etc/skel/.bashrc que és el script que s'executarà en l'inici de sessió.
Així doncs, per exemple, si vull que els meus alumnes tinguin la configuració de l'Oracle correcta (per estalviar-se executar el script oraenv), posaré les següents línies al final de /etc/skel/.bashrc:
export ORACLE_SID=BBDD export ORACLE_HOME=/u01/app/oracle/product/11.1.0/bbdd export PATH="$PATH:/u01/app/oracle/product/11.1.0/bbdd/bin" export ORACLE_BASE=/u01/app/oracle
i a més a més, per solucionar el tema dels accents i caràcters especials, establiré la variable d'entorn NLS_LANG:
export NLS_LANG=SPANISH_SPAIN.AL32UTF8
creat per Joan Quintana Compte, setembre 2009