diumenge, 22 de febrer del 2015

Linkat Server 14.04 - administra usuari de manera massiva amb webmin

Amb aquesta entrada vull fer més fàcil la creació d'usuaris o la seva modificació de manera massiva amb l'administrador web WEBMIN.
Per a fer això necessitarem crear un text segons la finalitat que realitzarem o una fulla de càlcul per fer-ho més automàtic.

Imaginem el cas de que acabem de realitzar la instal·lació del nostre servidor i no tenim cap usuari creat o hem creat quatre usuaris bàsics a mà i hem creat el nostre domini i necessitem crear una serie d'alumnes per a que es puguen validar al nostre servidor.
Amb Webmin, l'administrador web del nostre servidor, podem realitzar-ho d'una manera automatitzada creant un sol fitxer de texte. Aixi que obrim el gedit i fem un texte amb el següent contingut:

Per crear usuaris 

El fitxer es basaria en la següent linia:
create:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire
Un exemple:
create:usuari1:usuari01:10100:10003:Primer Usuari:/home/usuari1:/bin/bash:::::
create:usuari2:usuari02:10101:10003:Segón Usuari:/home/usuari2:/bin/bash:::::
D'aquesta manera es creen  dos usuaris: usuari1 i usuari2 amb els UID 10100 i 10101 amb el GID 10003 que hauria de correspondre al número identificatiu del grup Alumnat, el nom de l'usuari, el directori local de l'usuari, l'interpret de comandes i altres camps de configuració de la contrasenya.  Es pot deixar el camp UID buit i el sistema generaria un UID automàtic, així com el camp pel Nom ja que pot quedar en blanc i s'identificaria com el nom de l'usuari.

Per modificar 

Ara modificariem una serie d'usuaris ja creats a una nova configuració amb la següent linia:
modify:oldusername:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire
Un exemple basat amb els usuaris creats anteriorment:
modify:usuari1:argo1:argo01;;;;/home/argo1;;;;;;
modify:usuari2:prof1:prof01::10002:Usuari Professor:/home/prof1:/bin/sh:::::
Amb aquest exemple usuari1 passaria a dir-se argo1 amb contrasenya argo01 i nou directori d'usuari, la resta de camps es quedarien igual mentres que usuari2 passaria a ser prof1 amb contrasenya prof01, el mateix Identificador d'Usuari però amb el GID de Professorat, amb el nom Usuari Professor, el directori corresponent i l'interpret de comandes /bin/sh.

Per eliminar

I per eliminar una serie d'usuaris, és molt més senzill:
delete:username
és a dir, només cal ficar delete i el nom d'usuari a esborrar, per exemple:
delete:prof01
delete:argo1
D'aquesta manera s'eliminen els usuaris creats fins anteriorment.

Amb el següent vídeo explico un cas pràcic:

dimarts, 27 de gener del 2015

XRANDR - una aplicació molt potenta per configurar els nostres monitors

Hi han moltes eines per configurar els nostres monitors de manera gràfica, però totes es basen en una sola ordre: xrandr.

Amb aquesta ordre podem configurar el nostre monitor, les resolucions i les sortides ( clonades o exteses ). Haig d'admetre que no és una ordre fàcil, però ficaré un parell d'exemples que porto a la pràctica, això si, amb terminal i un parell de fitxers....

Quants monitors tenim i quines són les seves resol.lucions?

No es gens complicat, només cal obrir un terminal i escriure:
xrandr -q
El resultat ha de ser similiar a aquest:

 Screen 0: minimum 320 x 200, current 1280 x 800, maximum 1280 x 800
VGA connected 1024x768+1280+0 (normal left inverted right x axis y axis) 312mm x 234mm
   1024x768       85.0*+   85.0*    75.0
   1152x864       75.0
   800x600        85.1     75.0
   640x480        85.0     59.9
   720x400        70.1
LVDS connected 1280x800+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1280x800       60.0 +
   1280x720       59.9
   1152x768       59.8
   1024x768       60.0     59.9*
   800x600        60.3     59.9
   640x480        59.9     59.4
On VGA seria a on està un dels monitors connectats i LVDS la segona sortida. També veiem les corresponents resolucions acceptades i l'orientació.
Per defecte, la sortida és extesa, vol dir que els menus i les icones principals surten per un monitor i s'allarguen a segon.

Dualitzar o clonar monitors

Imaginem el cas que estem en un centre educatiu o estem fent una ponència i tenim connectats el monitor i el projector al nostre equip, per defecte i sense tocar res, la configuració és extesa i el pas per clonar és anar a les Preferències de la nostra sessió d'escriptori. Això es pot sol.lucionar d'un sol cop amb l'ordre:
xrandr --output LVDS --auto --output VGA --auto --same-as LVDS
seguint el model anterior de resultat de xrandr -q. Amb aquesta ordre la imatge es clona en tots dos monitors i amb la resol.lució màxima del monitor amb menys suport, en aquest exemple, la sortida VGA.

Imatge en un sol monitor

Pot donar-se el cas que només volem la imatge en un monitor, per exemple, si tenim un portàtil i un monitor connectat però volem que la imatge només surti pel monitor i no el portàtil, l'ordre seria aquesta:
 xrandr --output VGA --off
On la sortida a desconnectar seria VGA.

Orientar monitors, un al costat de l'altre

Per defecte, un monitor es fica a l'esquerra i l'altre a la dreta, amb aquesta ordre fiquem l'orientació que volem:
xrandr --output VGA --auto --right-of LVDS
On la sortida VGA es fica a la dreta de la sortida LVDS.

Fent que tots els usuaris tinguen la mateixa configuració


Tornant al cas de centre educatius o ponpencies ens interesa que tots els usuaris que utilitzen una màquina en concret tingue una certa configuració, per exemple, monitors duals per mostrar  el mateix al projector i al monitor. 
Per això crearem un fitxer amb el següent:
sudo gedit /opt/dual.sh
I el següent contingut:
#!/bin/bash
xrandr --output LVDS --auto --output VGA --auto --same-as LVDS
NOTA - Recordem que LVDS i VGA són els monitors resultants de xrandr -q.

Li donem permissos d'execució amb:
sudo chmod a+x /opt/dual.sh
I per últim fem que tots els usuaris tinguen aquesta ordre a l'iniciar-se creant el fitxer:
sudo gedit /etc/xdg/autostart/dual.desktop
Amb el contingut:
[Desktop Entry]
Type=Application
Name=Dualitzador
Exec=/opt/dual.sh
I ja podem iniciar sessió amb qualsevol usauri que inciarà amb els monitors clonats.
NOTA - aquesta configuració és molt útil en equips lligats a domini.


divendres, 12 de desembre del 2014

Linkat Server 14.04 - Crea un servidor de repositoris local amb apt-mirror

Sovint tenim que actuaitzar, instal.lar o cercar programari des dels repositoris oficials d'Ubuntu i això requereix connectar a internet i aplicar aquestes accions. Quan es tracta d'una màquina client, no te perquè haver cap problema, però quan tenim més de 5 i totes fent la mateixa acció l'ample de banda es redueix i relentitza la connexió als que simplement naveguen per internet.
Això es pot sol.lucionar si tenim una màquina servidor com és el càs del Linkat Server 14.04.
NOTA: AQUESTES INSTRUCCIONS NOMÉS FUNCIONEN PER REPOSITORIS UBUNTU O LINKAT BASAT EN UBUNTU.

Com es habitual, obrim un terminal per instal.lar el nou servei i també el servei web ( si estem en un LInkat Server 14.04, no caldria instal.lar apache2):
sudo apt-get install apt-mirror apache2
Una vegada instal.lat el configurarem:
sudo gedit /etc/apt/mirror.lst

I l'editem per a que quedi així:
############# config ##################
#
# set base_path    /var/spool/apt-mirror
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse

clean http://archive.ubuntu.com/ubuntu
 D'aquesta manera descarregarà tant els repositoris per 12.04 i 14.04.
Ara programarem que cada dia, a les 4:00 s'actualitzen els paquets i es descarreguen editant la tasca programada:
sudo gedit /etc/cron.d/apt-mirror

I comprovem que quedi així:
#
# Regular cron jobs for the apt-mirror package
#
0 4     * * *   apt-mirror      /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

També podem adelantar aquesta tasca invocant l'ordre:
sudo apt-mirror
però la descàrrega pot ser molt pessada i és preferible que es faci tota sola a l'hora programada.

Per últim enllaçarem la carpeta del repositori al nostre servei web:
sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/html/ubuntu 

Ara, només cal esperar a que es descarreguen tots els repositoris marcats. Això pel que fa al servidor, ara als clients tenim que canviar la ubicació dels repositoris, només cal editar un fitxer:

 sudo gedit /etc/apt/sources.list
I canviem les adreces web per la IP del servidor.
Així quedaria per defecte:
#deb cdrom:[Ubuntu 14.04.1 LTS _Trusty Tahr_ - Release i386 (20140722.2)]/ trusty main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://es.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://es.archive.ubuntu.com/ubuntu/ trusty main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://es.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://es.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
.
.
.


I així és com és com hauria de quedar:
#deb cdrom:[Ubuntu 14.04.1 LTS _Trusty Tahr_ - Release i386 (20140722.2)]/ trusty main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://192.168.0.240/ trusty main restricted
deb-src http://192.168.0.240 trusty main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://192.168.0.240/ trusty-updates main restricted
deb-src http://192.168.0.240/ trusty-updates main restricted
 .
.
.

Tanquem el fitxer desant els canvis i  podem comprovar que s'acuttalitzen els repositoris amb:
sudo apt-get update 

i veurem que s'actualitza a gran velocitat però que al final dona una errada que podrem ignorar. Ara ja podrem actualitzar o instal.lar des dels repositoris oficials només connectant-nos a un so ordinador i no a internet guanyant així un gran ample de banda.