Perfil mandatorio en linux.


Hola.

En este artículo explicaré como crear un perfil mandatorio en una maquina linux, en este caso el perfil no se descarga del servidor ni tampoc funciona como en los Window$, pero por lo menos se logra mantener un escritorio limpio y organizado en un laboratorio donde acceden numerosas personas cada dia.

Utilizaremos los archivos temporales del sistema operativo, asi nos aseguramos que cuando se reinicie la maquina se borren todos loa archivos que el usuario a dejado.

Primero debemos un script que cree una carpeta llamada usuario en el directorio /tmp del sistema

#!/bin/bash
# script sencillo para generar carpetas temporales
# Crea carpeta temporal llamada usuario
mkdir /tmp/usuario
# Crea sub carpetas dentro de usuario
mkdir /tmp/usuario/documentos
mkdir /tmp/usuario/videos
mkdir /tmp/usuario/canciones
#Crea enlace simbolico en /home/usuario
ln -s /tmp/usuario /home/estudiante/Escritorio/usuario

La última línea crea un enlace simbolico al Escritorio del estudiante, que sera donde unico tendrá permisos de escritura.

El script que lo podemos guardar con el nombre perfil, y lo podemos guardar en /usr/bin

Ahora para que este script se inicie cada vez que arranque la sesion del usuario estudiante usando gnome debemos de ir a :

Sistema –> Preferencias —>Sesiones

en la pestaña Programas de Inicio hacemos clix en el boton Añadir, luego donde dice Orden pongo la ruta completa donde guarde mi script en este caso:

/usr/bin/perfil

Luego abro terminal le doy permisos de ejecucion al script
$chmod +x /usr/bin/perfil

Ahora como root le doy permisos de solo lectura a /home/estudiante (para evitar que el usuario pueda escribir, guardar y/o modificar archivos en /home/estudiante)

Como se han dado cuenta estoy forzando a que se guarden los documentos en /tmp/usuario

Es cuestion de poner un aviso y decir que pueden guardar sus documentos en la carpeta usuario.

Listo cada vez que se reinicia el sistema se borran todos los archivos que estan dentro de /tmp/usuario y la carpeta usuario se vuelve a crear cada vez que se reinicia el sistema.

Es solo un pequeno ejemplo de lo que se puede hacer. Espero que sea de utilidad.

Linvix

Anuncios

5 comentarios

  1. […] pasado dia 7 de enero publique como hacer una especie de Perfil Mandatorio en Linux, para garantizar un perfil adecuado en cada inicio de sesión, pero al final me di cuenta […]

  2. Yo tengo un servidor donde el usuario alumno no tiene acceso fisico, y a los terminales casitontos quando inician hago rsync servidor:/home/alumno/ /home/alumno/ -az –delete

    Asi puedo poner el perfil mandatorio justo como me de a mi la gana 🙂

  3. Si claro, pero es muy fácil
    Entras con el usuario que quieres que sea el perfil bueno
    Lo pones guapo, que si el fondo de pantalla, que si la página de inicio, que programas se ejecutaran al principio (~/.kde/Autostart/ o Gestor de sesion en gnome, cada gestor es diferente, ya sabes…)
    Una vez tengo el perfil bueno salgo de él
    Y entro como root en un terminal (por ejemplo) y tecleo

    rsync /local/alumno/ servidor:/local/alumno --avz --delete

    (–delete seria si has quitado alguna cosa del perfil que ya no quieras, por que si no rsync nunca borra nada)
    Finalmente en los ordenadores cliente pongo estas dos lineas en el /etc/rc.local

    rsync servidor:/local/alumno/ /local/alumno -az --delete
    /etc/init.d/dm restart

    el dm restart lo pongo por que tengo que el usuario alumno autoentre al cabo de 10 segundos. Para asegurarme que el perfil ya esta recien limpio paro y vuelvo a arrancar el dm para que no vea cosas antiguas. (Con un poco más de 10 segundos seguramente no haria falta, pero me va bien así)
    El usuario alumno (este sin privilegios) esta en /local puesto que /home lo reservo para los usuarios que si pueden tener perfil, nombre i todo eso. El /home lo tengo compartido por nfs 😀

    Lo único que tienes que asegurarte si no tienes ni openldap o nis es que el numero de usuario sea el mismo en /etc/passwd el primer 501 es el código de usuario y el segundo su grupo por defecto tal como:

    alumno:x:501:501:Alumno sin privilegios:/local/alumno:/bin/bash

    Te parece bien asi?

    Saludos!

  4. Supongo que cada vez que inicie ya es suficiente, si no puedes llamar lo que llama en rc.local dentro del crontab cada x tiempo, claro

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: