miércoles, 9 de junio de 2010

Hacer que un usuario no pueda usar una lista de programas.

En  http://hatteras-blog.blogspot.com.es/2010/04/usuarios-para-torpes-usuario-y-usuarios.html expliqué como crear un usuario con muy pocos privilegios de uso, pero aquí explico como se puede hacer de forma mas sencilla.

Si se quiere tener un usuario llamado user2 que no pueda ejecutar un programa concreto, o mejor aún una lista de varios programas, por ejemplo Pidgin, Xchat, o Amule.

Básicamente se hace: -- Creamos,  desde nuestra sesión de usuario principal ( usuario user1): Sistema->Administración->usuarios y grupos, un usuario ( por ejemplo user2 ) con perfil de usuario: "usuario del escritorio". -- Creamos un grupo nuevo, agregándole los usuarios que te interesan que si lo ejecuten, y dándole la propiedad de ese archivo a un usuario del grupo anterior y le damos permisos totales al dueño, ejecución al grupo y ninguno al resto.

Explicado con mas detalle:

De  forma gráfica:

- Desde la sesión con nuestro usuario con permisos de administrador (user1): realizamos los siguientes pasos:

1- Desde Sistema-Adminsitración-Usuarios y grupos, creamos un usuario ( por ejemplo user2 ) con perfil de usuario: "usuario del escritorio".

2- Desde Sistema-Adminsitración-Usuarios y grupos, creo un grupo "usuariosguay".

3-Hago click en propiedades de ese grupo y pongo una x solo en los usuarios (por ejemplo user1) que quiero que puedan ejecutar los programas que luego seleccionaré , dejando sin la x en el usuario user2 que no quiero que pueda ejecutar el programa X ( por ejemplo el amule ).
Cierro Sistema-Administración-Usuarios y grupos.

4- Cambiar permisos: ahora lo que habría que hacer es elegir los archivos ejecutables de los programas (en /usr/bin/ ) y en sus propiedades-permisos poner:  - propietario root, con permisos de lectura, escritura y ejecución -grupo: usuariosguay con permisos de lectura y ejecución -otros: sin permisos, sobretodo sin permiso de ejecución.

Para modificar los permisos como se indica: se ejecuta gconf-editor: y busco: apps-nautilus-preferencias: marco mostrar permisos especiales,



entonces al ejecutar nautilus en modo usuario si que aparecen todos los tipos de permisos ( lectura, escritura y ejecución ), pero no se pueden cambiar.



Pero si ejecuto sudo gconf-editor: y busco:  apps-nautilus-preferencias: marco mostrar permisos especiales, entonces al ejecutar nautilus en modo root si que aparecen todos los tipos de permisos ( lectura, escritura y ejecución ), y si que se puede asignar a varios programas seleccionados  el grupo y quitar los permisos en: programas-propiedades-grupo "otros".




De esta forma, con nautilus en modo root se puede seleccionar varios programas a la vez ( archivos de /usr/bin ) y asignarles un grupo "usuariosguay", y quitar todos los permisos en "otros", de forma que el usuario user2 no pueda ejecutar ninguno de esos programas, pero que si que puedan ser ejecutados por todos los usuarios pertenecientes al grupo "usuariosguay".

Otra forma de asignar los programas a un grupo y cambiar los permisos es instalando otro administrador de archivos: pcmanfm, ya que con este administrador de archivos se pueden asignar a varios programas seleccionados  el grupo "usuariosguay" y cambiar los tres tipos de permísos en: programas-propiedades-grupo "otros": desde  pcmanfm-herramientas-abrir carpeta actual como root.



Con PcManFm se puede seleccionar varios programas a la vez ( archivos de /usr/bin ) y asignarles un grupo, y quitar todos los permisos en "otros", de forma que el usuario user2 no pueda ejecutar ninguno de esos programas, pero que si que puedan ser ejecutados por todos los usuarios pertenecientes al grupo "usuariosguay".

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

Con la terminal: también se puede adjudicar y cambiar los permisos de un archivo ejecutable para que pueda ser solo ejecutado por los usuarios del grupo usuariosguay,  ( es decir por user1, pero no por user2 ):

-- Con sudo chown user1:usuariosguay /usr/bin/pidgin
le das la propiedad del ejecutable al usuario user1 que pertenece al grupo usuariosguay...y

-- con  sudo chmod 710 /usr/bin/pidgin le das control total (7 ) al propietario, solo ejecución (1) al grupo ( y a los usuarios que pertenecen a él) , y ningún permiso (0) a los demas usuarios .

Habría que repetir estos comandos con cada uno de los ejecutables de los programas que queramos que sean solo ejecutables por el usuario user1 y no por el usuario user2.  Bien con:

sudo chown user1:usuariosguay /usr/bin/pidgin /usr/bin/amule /usr/bin/xchat

sudo chmod 710 /usr/bin/pidgin /usr/bin/amule /usr/bin/abirword

o repitiendo:

sudo chown user1:usuariosguay /usr/bin/pidgin
sudo chmod 710 /usr/bin/pidgin
sudo chown user1:usuariosguay /usr/bin/amule
sudo chmod 710 /usr/bin/amule
sudo chown user1:usuariosguay /usr/bin/xchat
sudo chmod 710 /usr/bin/xchat


Con todo esto al final tendremos unos programas que podrán ser ejecutados por el usuario user1 ( y también desde luego por root ), pero no por el usuario user2.

Este tema ha sido posible escribirlo gracias a la ayuda de 3caram del foro de linuxmint-hispano.com y de Guadafan, del foro de Guadalinex.org. , gracias a ellos por tanto.

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

No hay comentarios:

Publicar un comentario

A la vez que haces un comentario, por favor da una puntuación al tema: malo, normal, bueno o muy bueno.
Gracias.