En este capítulo se describen las tareas de la administración avanzada.
En este ejemplo queremos crear usuarios en grupos por año, con directorios personales comunes para cada grupo (home0/2024, home0/2026, etc). Queremos crear los usuarios mediante la importación de csv.
(como root en el servidor principal)
Crear los directorios necesario de grupo por año
mkdir /skole/tjener/home0/2024
(como primer usuario en Gosa
Departamento
Menú principal: ir a 'Directory structure', clic en el apartado 'Students'. El campo 'Base' debe mostrar '/Students'. En el cuadro desplegable "Actions" ir a "Create'/'Department". Rellenar los valores de los campos Nombre (2024) y Descripción (estudiantes que se gradúan en 2024), dejar el campo Base como está (debería ser '/Students'). Guardar haciendo clic en 'Ok'. Ahora el nuevo departamento (2024) debería aparecer debajo de /Students. Clic en él.
Grupo
Elije "Groups" del menú principal; "Actions"/Create/Group. Escribe el nombre del grupo (deja "Base" tal cual, debería estar en /Students/2014) y "ok" para guardar.
Planitlla
Elige "users" en el menú principal. Cambia a 'Students' en el campo
Base. Debería aparecer una entrada
NewStudent
, clic en ella. Esta es la
plantilla 'students', no un usuario real. Como tendrás que crear una
plantilla de este tipo (para poder usar la importación de csv para tu
estructura) basada en esta, observa todas las entradas que aparecen en las
pestañas Generic y POSIX, tal vez tome capturas de pantalla para tener la
información lista para la nueva plantilla.
Ahora cambia a /Students/2024 en el campo Base; elige Create/Template y comienza a rellenar los valores deseados, primero la pestaña Generic (añade tu nuevo grupo 2024 en Group Membership, también), luego añade la cuenta POSIX.
Importar usuarios
Elija su nueva plantilla cuando importe el archivo csv; probarlo con pocos usuarios es lo recomendable.
Con este script, el administrador puede crear directorios en cada directorio personal de usuario y establecer los permisos de acceso y propiedad.
En el ejemplo que aparece a continuación con group=teachers y permisos=2770 un usuario puede entregar una tarea guardando el archivo en la carpeta "assignments" donde los profesores tienen acceso de escritura para poder hacer comentarios.
#!/bin/bash home_path="/skole/tjener/home0" shared_folder="assignments" permissions="2770" created_dir=0 for home in $(ls $home_path); do if [ ! -d "$home_path/$home/$shared_folder" ]; then mkdir $home_path/$home/$shared_folder chmod $permissions $home_path/$home/$shared_folder user=$home group=teachers chown $user:$group $home_path/$home/$shared_folder ((created_dir+=1)) else echo -e "the folder $home_path/$home/$shared_folder already exists.\n" fi done echo "$created_dir folders have been created"
Sigue estos pasos para configurar un servidor de almacenamiento dedicado para los directorios personales de los usuarios y posiblemente otros datos.
Añade un nuevo sistema de tipo server
utilizando GOsa² como se indica en el capítulo Primeros pasos de este manual.
En este ejemplo se utiliza 'nas-server.intern' como nombre de servidor. Una vez configurado 'nas-server.intern', comprueba si los puntos de exportación NFS del nuevo servidor de almacenamiento se exportan a las subredes o máquinas correspondientes:
root@tjener:~# showmount -e nas-server Export list for nas-server: /storage 10.0.0.0/8 root@tjener:~#
Aquí todo en la red troncal tiene acceso a la exportación de /storage. (Esto podría restringirse a la pertenencia a un grupo o a direcciones IP individuales para limitar el acceso a NFS como se hace en el archivo tjener:/etc/exports.)
Añade información de montaje automático sobre 'nas-server.intern' en LDAP para permitir que todos los clientes monten automáticamente, a petición, la nueva exportación.
Esto no se puede hacer con GOsa², porque falta un módulo para el automontaje. En su lugar, utiliza ldapvi y añade los objetos LDAP necesarios utilizando un editor.
ldapvi --ldap-conf -ZD '(cn=admin)' -b
ou=automount,dc=skole,dc=skolelinux,dc=no
Cuando se muestre el editor, añade los siguientes objetos LDAP en la parte inferior del documento. (La parte "/&" en el último objeto LDAP es un comodín que coincide con todo lo que exporta 'nas-server.intern', lo que elimina la necesidad de enumerar puntos de montaje individuales en LDAP.)
add cn=nas-server,ou=auto.skole,ou=automount,dc=skole,dc=skolelinux,dc=no objectClass: automount cn: nas-server automountInformation: -fstype=autofs --timeout=60 ldap:ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no add ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no objectClass: top objectClass: automountMap ou: auto.nas-server add cn=/,ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no objectClass: automount cn: / automountInformation: -fstype=nfs,tcp,rsize=32768,wsize=32768,rw,intr,hard,nodev,nosuid,noatime nas-server.intern:/&
Añade las entradas pertinentes en tjener.intern:/etc/fstab, porque tjener.intern no utiliza automount para evitar los bucles de montaje:
Crea los directorios del punto de montaje utilizando
mkdir
, edita '/etc/fstab' como te parezca y
ejecuta mount -a
para montar los nuevos
recursos.
Ahora los usuarios deberían poder acceder directamente a los archivos de 'nas-server.intern' con sólo visitar el directorio '/tjener/nas-server/storage/' utilizando cualquier aplicación en cualquier estación de trabajo, cliente ligero LTSP o servidor LTSP.
Hay varias formas de restringir el inicio de sesión por SSH, algunas se enumeran aquí.
Si no se utilizan clientes LTSP una solución sencilla es crear un nuevo
grupo (digamos sshusers
) y añadir una línea
al archivo /etc/ssh/sshd_config de la máquina. Sólo los miembros del grupo
sshusers
podrán entonces hacer ssh en la
máquina desde cualquier lugar.
Gestionar este caso con GOsa es bastante sencillo:
Crea un grupo sshusers
en el nivel base
(donde ya aparecen otros grupos relacionados con la gestión del sistema como
se muestra en gosa-admins
).
Añade usuarios al nuevo grupo sshusers
.
Añade AllowGroups sshusers
a
/etc/ssh/sshd_config.
Ejecuta service ssh restart
.
La configuración por defecto del cliente sin disco LTSP no utiliza conexiones SSH. Basta con actualizar la imagen de SquashFS en el servidor LTSP correspondiente después de cambiar la configuración de SSH.
Los clientes ligeros de X2Go usan conexiones SSH con el servidor LTSP correspondiente. Así que se necesita un enfoque diferente utilizando PAM.
Habilita pam_access.so en el archivo /etc/pam.d/sshd del servidor LTSP.
Configura /etc/security/access.conf para permitir las conexiones de los usuarios (de ejemplo) alicia, juana, roberto y pedro desde cualquier lugar y para el resto de usuarios sólo desde las redes internas añadiendo estas líneas:
+ : alice jane bob john : ALL + : ALL : 10.0.0.0/8 192.168.0.0/24 192.168.1.0/24 - : ALL : ALL #
Si sólo se utilizan servidores LTSP dedicados, la red 10.0.0.0/8 podría ser eliminada para deshabilitar el acceso interno SSH. Nota: alguien que conecte su caja a la(s) red(es) de cliente LTSP dedicada(s) obtendrá acceso SSH al servidor(es) LTSP también.
Si los clientes del X2Go estuvieran conectados a la red troncal 10.0.0.0/8, las cosas serían aún más complicadas y tal vez sólo una sofisticada configuración de DHCP (en LDAP) comprobando el identificador de clase de proveedor junto con la configuración apropiada de PAM permitiría deshabilitar el inicio de sesión SSH interno.