GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo automatizar la limpieza y el restablecimiento del directorio de inicio de un usuario de Linux a un valor predeterminado?

Hay muchas maneras que ayudarían:

  • eliminar el directorio de inicio completo y copiar todos los archivos de /etc/skel volver al directorio de inicio. Cambie los permisos después.
  • coloque el sistema en una máquina virtual, haga una instantánea y vuelva a la instantánea después de la lección 1
  • busque algo como un modo de quiosco en RHEL. Ubuntu tiene algo así, que restaura automáticamente el inicio durante el cierre de sesión
  • ponga la casa en un sistema de archivos btrfs, haga una instantánea y vuelva después de la lección 1
  • tar el directorio de inicio antes de la lección, eliminar inicio después, restaurar desde tar
  • ...

Y aprender otras herramientas como Puppet/Chef es demasiado si quieres resultados la próxima semana.


Digamos que todos sus estudiantes tenían un UID entre 1000 y 65000

Una frase rápida como esta funcionaría. Awk imprimirá un comando rsync y un comando chown para cada usuario en el rango. Enviar la salida de awk a bash ejecutará todos los comandos para restablecer directorios y permisos.

# see what will happen.
awk 'BEGIN{FS=":"} $3 >= 1000 && $3 <=65000 { print "rsync --delete -v -r /etc/skel/ " $6 "/ ; chown -R " $1 ":" $1 " " $6;}' /etc/passwd

# actually run the commands to reset all users matched by awk.
bash <( awk 'BEGIN{FS=":"} $3 >= 1000 && $3 <=65000 { print "rsync --delete -v -r /etc/skel/ " $6 "/ ; chown -R " $1 ":" $1 " " $6;}' /etc/passwd )

Si está utilizando gdm para su administrador de inicio de sesión, puede agregar algo como este archivo:/etc/gdm/PostSession/Default

#!/bin/sh

if [[ "$USER" != "" ]]; then
   rm -rf /home/$USER
   cp -r /etc/skel /home/$USER
   chown -R $USER:$USER /home/$USER
fi

Linux
  1. Cómo eliminar cuentas de usuario con el directorio de inicio en Linux

  2. Cómo crear un usuario con un directorio de inicio personalizado en Linux

  3. ¿Cómo puedo buscar un nombre de usuario por id en Linux?

  4. ¿Cómo puedo asignar una contraseña inicial/predeterminada a un usuario en Linux?

  5. ¿Cómo puedo enumerar los atributos de usuario de Active Directory desde una computadora Linux?

Cómo copiar archivos y directorios en Linux

Crear directorio de inicio para usuarios existentes en Linux

Permisos básicos de directorio de Linux y cómo verificarlos

Cómo crear/agregar usuarios en Linux

¿Cómo copio un archivo/carpeta del directorio de inicio de otro usuario en Linux?

¿Cómo puedo cambiar el grupo predeterminado de un usuario en Linux?