Foro de elhacker.net

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: NaTxosS en 18 Abril 2016, 19:04 pm



Título: Problema con permisos de diferentes grupos de usuarios en arbol de directorios
Publicado por: NaTxosS en 18 Abril 2016, 19:04 pm
Buenas tardes, tengo una tarea de clase, en la que me he quedado encasquillado, y haber si alguien me puede echar una mano. Me temo que el error se deba al planteamiento que he hecho de grupos, veamos:

Se trata de crear un árbol de directorios, (http://s2.subirimagenes.com/otros/previo/thump_9565344arbol.jpg)

Y tengo estas condiciones:
     a. Los profesores solamente pueden entrar en los Dpto. donde tengan carga docente. Los permisos que tendrán serán de lectura, escritura y ejecución.
     b. Los profesores únicamente podrán acceder a aquellos módulos que impartan con permisos de lectura, escritura y ejecución además de la carpeta public de aquellos ciclos donde impartan con los mismos permisos.
     c. Los alumnos solamente podrán acceder a los módulos de los ciclos que reciban clase con el permiso de lectura.
     d. En las carpetas public ya sean generales a los ciclos como pertenecientes a algún nivel (1º o 2º), solamente podrán escribir los delegados de cada clase y los profesores que impartan docencia en dichos ciclos.

yo lo he planteado de manera que he creado varios grupos:
 - ProfesoresDistancia
 - ProfesoresPresencial
 - Profesores
 - Alumnos
 - Delegados

Con la idea de que cualquier profesor de distancia también lo sea del grupo profesores e igual con los de presencial, para solucionar el primer punto de las condiciones ya que en el enunciado pone que puede haber profesores que impartan en los dos departamentos.

Luego he creado una serie de usuarios de prueba, en definitiva este es el script que me he hecho para esta tarea (mi segundo script en Linux, supongo que será muy mejorable  ;D):
Código:
#! /bin/tcsh

# creamos los grupos

sudo groupadd profesores
sudo groupadd delegados
sudo groupadd alumnos

# creamos los usuarios
#la contraseña de cualquier usuario será: usuario
# empezamos con los profesores

echo "Creando usuario profeFOLpre"
sudo useradd -g profesores -d /home/profeFOLpre -m profeFOLpre
sudo passwd profeFOLpre
echo "Creando usuario profeSIpre"
sudo useradd -g profesores -d /home/profeSIpre -m profeSIpre
sudo passwd profeSIpre
echo "Creando usuario profePROGdist"
sudo useradd -g profesores -d /home/profePROGdist -m profePROGdist
sudo passwd profePROGdist

# usuarios alumnos

echo "Creando usuario alumPepePrimero"
sudo useradd -g alumnos -d /home/alumPepePrimero -m alumPepePrimero
sudo passwd alumPepePrimero
echo "Creando usuario alumJuanSegundo"
sudo useradd -g alumnos -d /home/alumJuanSegundo -m alumJuanSegundo
sudo passwd alumJuanSegundo

# usuarios delegados
# usamos -G en las siguientes ordenes para indicar que el delegado
# que creamos esta a la misma vez en el grupo alumnos y el grupo delegados

echo "Creando usuario delegadoPrimero"
sudo useradd -g delegados -G alumnos -d /home/delegadoPrimero -m delegadoPrimero
sudo passwd delegadoPrimero
echo "Creando usuario delegadoSegundo"
sudo useradd -g delegados -G alumnos -d /home/delegadoSegundo -m delegadoSegundo
sudo passwd delegadoSegundo

A la hora de ponerme a asignar permisos he hecho esto, ejecutado desde las ubicaciones adecuadas para cada caso:
Código:
#! /bin/tcsh

# creamos los grupos

sudo groupadd profesores
sudo groupadd delegados
sudo groupadd alumnos

# creamos los usuarios
#la contraseña de cualquier usuario será: usuario
# empezamos con los profesores

echo "Creando usuario profeFOLpre"
sudo useradd -g profesores -d /home/profeFOLpre -m profeFOLpre
sudo passwd profeFOLpre
echo "Creando usuario profeSIpre"
sudo useradd -g profesores -d /home/profeSIpre -m profeSIpre
sudo passwd profeSIpre
echo "Creando usuario profePROGdist"
sudo useradd -g profesores -d /home/profePROGdist -m profePROGdist
sudo passwd profePROGdist

# usuarios alumnos

echo "Creando usuario alumPepePrimero"
sudo useradd -g alumnos -d /home/alumPepePrimero -m alumPepePrimero
sudo passwd alumPepePrimero
echo "Creando usuario alumJuanSegundo"
sudo useradd -g alumnos -d /home/alumJuanSegundo -m alumJuanSegundo
sudo passwd alumJuanSegundo

# usuarios delegados
# usamos -G en las siguientes ordenes para indicar que el delegado
# que creamos esta a la misma vez en el grupo alumnos y el grupo delegados

echo "Creando usuario delegadoPrimero"
sudo useradd -g delegados -G alumnos -d /home/delegadoPrimero -m delegadoPrimero
sudo passwd delegadoPrimero
echo "Creando usuario delegadoSegundo"
sudo useradd -g delegados -G alumnos -d /home/delegadoSegundo -m delegadoSegundo
sudo passwd delegadoSegundo

Total que he llegado hasta aqui:
(http://s2.subirimagenes.com/otros/previo/thump_9565339captura15.jpg)

como podeis ver he conseguido que en las carpetas donde esta el usuario del profesor de su asignatura correspondientes los otros (que podian ser los alumnos entre con permiso de solo lectura, pero no se como llegar mas hallá, hacer lo de los delegados).

Espero que me podaís ayudar, si el planteamiento inicial con los grupos es el correcto, y como puedo asignar permisos diferentes a usuarios de otro grupo sobre la misma carpeta, si esto no se puede hacer supongo que mi planteamiento inicial es incorrecto. Gracias