Desenvolupament de Funcions pels Sistemes Informàtics
ASI-2
GNU/Linux
Scripts de l'interpret d'ordres bash amb kdialog
16/11/09

Scripts o arxius de guió de de l'interpret d'ordres bash amb kdialog

1- Documentació
http://developer.kde.org/documentation/tutorials/kdialog/t1.html
http://www.bdat.net/kdephp/x51.html

2- Instal·lació
L'aplicació kdialog es troba dins del paquet kde4-kdialog que es descarregarà des dels dipòsits d'openSuSE.

3- Notes
a)
Per assignar a una variable de l'interpret d'ordres un valor introduït des d'una finestra creada amb amb kdialog poden executar:
variable=`kdialog --inputbox "Si us plau, escriu el teu nom d'usuari"`
o també:
variable=$(kdialog --inputbox "Si us plau, escriu el teu nom d'usuari")

b)
Per desar dins d'un fitxer un valor introduït des d'una finestra creada amb amb kdialog poden executar:
kdialog --inputbox "Si us plau, escriu el teu nom d'usuari" > dades.txt
o també:
kdialog --inputbox "Si us plau, escriu el teu nom d'usuari" >> dades.txt

PRÀCTICA

1- Fes un arxiu de guió de l'interprets d'ordres del bash shell, que tingui un GUI utilitzant amb kdialog, i que mostri  un quadre de diàleg que permiti introduir un text a l'usauri. Amb el text es crearà un fitxer amb el nom que vulgui l'usuari, i una extensió, que s'haurà d'escollir d'una llista desplegable. La llista desplegable tindrà les següents opcions: 1) .c., 2) .sh, i 3) .conf El fitxer  s'ha de crear dins d'un directori escollit per l'usuari, de manera gràfica. Finalment, l'usuari haurà d'escollir entre donar al fitxer els permisos rw-r--r-- o rwxr-xr-xEl nom del script serà p3s1.sh.

3- 
Fes un arxiu de guió de l'interprets d'ordres del bash shell, que tingui un GUI utilitzant amb kdialog, i que tingui tres opcions de treball: a) Creació d'un directori anomenat paperera on aniran a parar arxius esborrats de manera no definitiva.  El directori paperera s'ha de crear dins d'un directori escollit per l'usuari, de manera gràfica. Si el directori paperera ja existeix, s'haurà de donar a l'usuari l'avís "Directori ja existent". b) Enviar  a la paperera tots els arxius d'un directori (escollit gràficament) i d'una determinada extensió, que s'haurà d'escollir d'una llista desplegable. La llista desplegable tindrà les següents opcions: 1- .*, 2- .gz, 3-  .txt, 4- .sh,5- .c,6- .conf, 7- .o. c) Esborrar tots els arxius de la "paperera" amb demanda de confirmació. El nom del script serà p3s2.sh.

3- Fes un GUI amb kdialog per l'arxiu de guió de l'interpret d'ordres del bash shell que vas crear al primer apartat de la primera pràctica. El nom de l'arxiu de guió serà  p3s3.sh

4-
Fes un GUI amb kdialog per l'arxiu de guió de l'interpret d'ordres del bash shell que vas crear al tercer apartat de la primera pràctica. El nom de l'arxiu de guió serà  p3s4.sh.

5- Fes un arxiu de guió de l'interprets d'ordres del bash shell per l'usuari primari (root), que tingui un GUI utilitzant amb kdialog, i que demani totes les dades necessàries per crear un nou usuari. Un cop donades les dades, el programa crearà l'usuari, i enviarà a la pantalla un avís d'usuari creat.  El password de l'suari s'ha d'escriure dins d'un quadre de diàleg que no deixi veure els caràcters escrits.El nom del script serà p3s5.sh.

6- Fes un script per l'usuari root, en el qual se li mostri un menú on pugui escollir executar qualsevol dels arxius de guió demanats als apartats 3,4 i 5 tantes vegades com ho volgui. El nom del script serà p3s6.sh.

NOTES

(1) Per la creació d'usuaris farem servir l'ordre useradd. Les seves opcions més importants són:

 -d:
Directori personal de l'usuari.
 -g: Grup principal o per defecte al qual pertany un usuari.
-m: Crea el directori d'usuari, si no existeix.
 -p:
El password d'usuari.
 -s:
El shell (interpret d'ordres) que veurà l'usuari quan entri. Habitualment el bash shell, però pot ser un altre.
 -u:
Número d'identificació d'usuari. Un número a partir del 500, i diferent per cada usuari.

Si per exemple, volem crear un usuari de nom asi2, amb número d'identificació d'usuari 1045, que formi part per defecte del grup d'usuaris users, que el seu directori personal sigui /home/asi2 (i que en el cas de que no existeixi,  el directori sigui creat directament per l'ordre), que el seu interpret d'ordres d'entrada sigui el programa /bin/bash, i que el password de l'usuari sigui asi22009, llavors hauriem d'executar:
 
useradd   asi2   -u   1045   -g   users   -d   /home/asi2   -m   -s /bin/bash    -p   `mkpasswd asi22009`

Fixa't que davant del nom d'usuari no cal posar cap paràmetre, i que per crear de manera correcta la contrasenya, s'executa `mkpasswd asi22009`.