sábado, 28 de septiembre de 2013

Crear un usuario invitado en Mint Cinnamon

La forma en que versiones anteriores de Mint, con Gnome2,  se podía tener un "usuario invitado"  ( ver tema Usuarios especiales para torpes: usuario invitado, y usuarios no-admin) ya no es posible en las versiones de Mint con Cinnamon.

La idea es tener un usuario ( en este tema lo llamo usuario noadmin ya que no tiene permisos de administración del sistema ), ya creado anteriormente desde la cuenta del usuario administrador  - en este tema lo llamo usuario_habitual ( Configuración del Sistema-Cuentas de usuario ) y accesible desde la pantalla de acceso, y que esté siempre como recién creado, para que lo pueda usar un usuario invitado,  y que lo que éste haga con él se borre al salir de la sesión gráfica. El usuario noadmin no tiene permisos de administrador y por lo tanto no puede modificar/dañar  el sistema.

Para lograrlo he escrito un pequeño script ( rm-noadmin ) de forma que ahora cada vez que se sale de la pantalla de acceso, para entrar en la sesión gráfica de un usuario, se ejecuta el script, con lo que al entrar en la sesión gráfica del usuario noadmin, está recién creado, sin rastro de posibles cambios que se hayan realizado en una sesión anterior con ese usuario. Con este script tampoco puede guardar ningún cambio en la apariencia de su sesión gráfica ni guardar ningún archivo en su directorio de usuario, ya que al salir de la sesión gráfica todo se borra.

El texto del script rm-noadmin y la forma de hacer que se autoejecute al salir de la pantalla de acceso, y entrar en la sesión gráfica de un usuario,  se explica a continuación.

------------------------------------

El texto del script rm-noadmin es: ( La forma de crear un script básico esta explicada en el tema: Crear un script básico )
#!/bin/sh
rm -rf /home/noadmin   
mkdir /home/noadmin    
chown -R noadmin:noadmin /home/noadmin 
exit 

El primer comando ( rm -rf /home/noadmin ) borra todo el contenido, - directorios y archivos visibles y ocultos - , del directorio /home/noadmin.
El segundo comando ( mkdir /home/noadmin ) vuelve a crear dicho directorio en su estado por defecto.
El tercer comando ( chown -R noadmin:noadmin /home/noadmin ) hace que todos sus subdirectorios y archivos, visibles y ocultos, pertenezcan al usuario noadmin y al grupo noadmin.

-----------------------------------------

La forma de hacer que el script se autoejecute autmáticamente cada vez que se sale de la pantalla de acceso, para entrar en la sesión gráfica de un usuario, es la siguiente:

He guardado el script rm-noadmin en /home/usuario_habitual/Scripts/rm-noadmin ( es decir en la carpeta del usuario habitual )
He editado con sudo gedit /etc/mdm/PostSession/Default dicho archivo, añadiendo la línea:
/home/usuario_habitual/Scripts/rm-noadmin
de forma que ahora está así:
#!/bin/sh
/home/usuario_habitual/Scripts/rm-noadmin
exit 0

He guardado los cambios realizados en dicho archivo.

Ahora cada vez que se sale de la pantalla de acceso, para entrar en la sesión gráfica de un usuario, se ejecuta el script, con lo que al entrar en la sesión gráfica del usuario noadmin, éste está recién creado, sin rastro de posibles cambios que se hayan realizado en una sesión anterior con ese usuario.
El usuario noadmin no tiene permisos de administrador y por lo tanto no puede modificar/dañar el sistema. Con este script tampoco puede guardar ningún cambio en la apariencia de su sesión gráfica ni guardar ningún archivo en su directorio de usuario, ya que al salir de la sesión gráfica todo el contenido de su directorio se borra; solo podría guardar archivos en unidades externas de almacenamiento: pendrives, discos duros externos, etc que estén montadas en ese momento, pero si no lo están no podrá montarlas.

-------------------------

Si en vez del gestor de la pantalla de acceso mdm propio de Cinnamon, se usa gdm propio de Gnome-shell, los pasos a seguir son los mismos, salvo que el archivo que hay que editar para añadir la dirección donde esta el script, es: /etc/mdm/PostSession/Default

-------------------------

Si se usa  lightdm como gestor de la pantalla de acceso - propio de Ubuntu - el archivo que hay que editar se explica en  http://ubuntuforums.org/showthread.php?t=1918649&p=11656736#post11656736  y parecer ser muy similar a como se hace en gdm o mdm.

-------------------------

sábado, 21 de septiembre de 2013

Programa para editar archivos sensibles del sistema: Dangerous

Hay muchos archivos de configuración del sistema que se pueden editar desde un editor simple de textos, abriéndolos con permisos de root desde la terminal  con el comando: sudo gedit /dirección del archivo de configuración ( por ejemplo sudo gedit /etc/fstab ). Lo problemático es recordar donde están cada uno de ellos. La mayoría de estos archivos están en algún subdirectorio de /boot , de /etc , o de /home . Es recomendable hacer una copia de seguridad de ellos, sobretodo si se han modificado respecto a como vienen por defecto.

He encontrado un programa gráfico que ayuda a editar varios de los archivos de configuración del sistema. El programa se llama dangerous, y se puede descargar desde aquí

Es un programa que sirve para, desde un solo programa, editar archivos sensibles, de configuración, del sistema, por ejemplo:
- del /boot: por ejemplo el grub ( /boot/grub/grub.cfg)
- de /etc: por ejemplo el archivo  /etc/apt/sources.list , /etc/fstab , archivos de configuración de tareas repetitivas
- de /home

Para llevar a cabo su tarea, al ser ejecutado el programa te pide la contraseña del root, tras lo cual se abre una ventana similar a la siguiente imagen.



Y tras abrir el directorio /etc llegamos a la siguiente imagen, en donde hay mas subdirectorios...y en ellos los archivos de configuración del sistema.


. ¿ Y que ventaja tiene usar este programa ? pues por ejemplo no tener que recordar la dirección de estos archivos sensibles, o buscarla de forma sencilla. Sirve para tener a mano de forma sencilla los archivos de texto que sirven para configurar el sistema, y desde ese programa abrirlos y editarlos, sin tener que ir buscándolos por el árbol de directorios con el administrador de archivos.
Pero no hay una forma segura de editarlos, es decir lo que hace el programa es ayudarte a abrir en un editor de texto el archivo de configuración, pero lo que hagas con él es cosa tuya; es decir te ayuda a llegar al archivo de configuración en cuestión, pero el saber como editarlo sin estropear el sistema sigue siendo tu responsabilidad, ya que el programa no te da ningún tipo de ayuda al respecto.

-------------------------------------

.

martes, 17 de septiembre de 2013

Hacer que se ejecute un script durante el proceso: salida de la sesión gráfica->pantalla de acceso->retorno a la sesión gráfica

No siempre queremos que un script se ejecute de forma manual, sino que aveces queremos que se ejecute a) en un determinado tiempo, día/s y hora/s,  o b) en un determinado momento durante el proceso del inicio del sistema o c) durante el proceso: salida de la sesión gráfica->pantalla de acceso->retorno a la sesión gráfica.

a) En el índice del blog, en la sección Tareas hay varios temas que explican como hacer que un script se ejecute de forma repetitiva o no, en un dia/s y hora/s determinadas

b)En el tema Hacer que se ejecute un script en el inicio del sistema se explica como conseguir que un script se inicie al iniciarse el sistema y/o entrar en la sesión gráfica.

c) Ahora de lo que se trata es hacer que un script que tenemos guardado en algún lugar del disco duro se ejecute cuando salimos de la sesión gráfica de cualquier usuario, volvemos a la pantalla de acceso y volvemos a entrar en la sesión gráfica del mismo u otro usuario. Para ello modificamos ligeramente un archivo de configuración del programa Gestor de la Pantalla de Acceso ( en inglés Display Manager ) . El archivo a modificar varia ligeramente en función del display manager que se use.


En MDM - Mint Display Manager ( es el que viene por defecto con Mint Cinnamon):

Se edita con sudo gedit /etc/mdm/PostSession/Default dicho archivo /etc/mdm/PostSession/Default, añadiendo una línea que indica la dirección donde esta guardado el script ( por ejemplo en /home/usuario/Scripts/script.sh ) que queremos que se ejecute al salir de la sesión de cualquier usuario, de forma que ahora está así:

#!/bin/sh
#dirección del script que queremos que se autoejecute al salir de la pantalla de acceso
/home/usuario/Scripts/script.sh
exit 0

Se guardan los cambios realizados en dicho archivo. Ahora cada vez que se sale de la pantalla de acceso, para entrar en la sesión gráfica de un usuario, se ejecuta el script.sh

¿ Y para que sirve esto ? Bueno, eso es cuestión de la imaginación de cada cual...yo le he encontrado una utilidad: Crear un usuario "invitado" en Mint-Cinnamon

En GDM - Gnome Display Manager ( Es el que viene por defecto con Gnome-shell):

En Mint 15 Cinnamon con gdm como administrador de la pantalla de acceso (  ya que al instalar Gnome-shell junto a Cinnamon me obliga a sustituir mdm por gdm )  se hace de forma similar, editando el archivo /etc/gdm/PostSession/Default

En Lightdm - Ligero Display Manager  ( Es el que viene por defecto con Ubuntu ):

No uso esta distro, y no he probado como hacerlo con lightdm, pero en esta dirección http://ubuntuforums.org/showthread.php?t=1918649&p=11656736#post11656736   parece que explican como llevarlo a cabo, y parecer ser muy similar a como se hace en gdm o mdm: editando el archivo /etc/lightdm/lightdm.conf

————————————-

lunes, 9 de septiembre de 2013

Reproducir un dvd de una "región" distinta a la nuestra

Los discos dvd de vídeo contienen a menudo un "flag" ( uno o más bits que se utilizan para almacenar un valor binario o código que tiene asignado un significado) de código de región que indica la región geográfica donde el dvd fue publicado (el permiso de la industria cinematográfica para controlar la distribución). Hay ocho códigos de región posibles, actualmente se usan estos seis:

1 Norte América (USA y Canadá)
2 Europa, Medio-oriente, Sudáfrica y Japón
3 Sudeste Asiático, Taiwan, Corea
4  Hispano América, Brasil, Australia, Nueva Zelanda
5  Antigua URSS (Rusia, Ucrania, etc.), resto de África, India
6  China



Además de los dvd comprados en tu propio país, deberías poder ver los dvd comprados en países de tu misma región.

En principio, los discos dvd fabricados para una región no se puede reproducir en reproductores de dvd hechos para una región diferente. Sin embargo el software-reproductor Videolan-VLC puede reproducir discos dvd codificados para cualquier región, ya que es un reproductor de vídeo multiregión,. Es decir, no tiene en cuenta la codificación de la región. Esta característica es muy útil si se es un viajero internacional y se requiere la reproducción de dvd de distintos países.

Si no tienes y/o no quieres usar  Videolan-Vlc, puedes tratar de hacerlo de este otro modo: Para poder ver dvd de otras regiones se debe poder cambiar el código, y para ello debes instalar el paquete regionset  (*)

Luego ejecutas lo ejecutas en la terminal y podrás cambiar la región desde la que tenga por defecto a otra.

~ $ regionset
regionset version 0.1 -- reads/sets region code on DVD drives
Current Region Code settings:
RPC Phase: II
type: SET
vendor resets available: 4     (indica el número de cambios disponibles, en este caso 4)
user controlled changes resets available: 4
drive plays discs from region(s): 2, mask=0xFD  (región actual, en este caso la 2)

Would you like to change the region setting of your drive? [y/n]:

El cambio se hace en el lector de dvd, no en el disco dvd, por lo que cuidado con lo que haces, ya que en la mayoría de los casos solo te permite hacer de 2 a 5 cambios y se queda con el último que hagas, ( cuidado que hay lectores de dvd ( osea me refiero al hardware lector de dvd,  no al disco dvd) que solo te permiten hacer 2 cambios ). Atención pues ya que puedes quedar con la posibilidad de solo ver discos dvd distinta región a la tuya.

(*) Regionset es una pequeña utilidad que muestra y configura la región/zona
de una unidad de dvd, permitiendo descifrar los dvd vendidos en esa zona
geográfica. Los vendedores de hardware normalmente limitan el número de
estas modificaciones, pero en una unidad nueva siempre se debe realizar
como mínimo una vez.

http://linvdr.org/projects/regionset/

-------------------------------------