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

16 Enero 2009 a las 8:56 pm |
[...] 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 [...]
27 Marzo 2009 a las 9:20 am |
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
27 Marzo 2009 a las 12:01 pm |
Hola
Podrias poner un ejemplo completo de como los haces?
salu2
27 Marzo 2009 a las 11:45 pm |
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!
27 Marzo 2009 a las 11:53 pm |
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