GNU/Linux · Recetas

Cómo cambiar en Linux el UID y GID para todos los ficheros de un usuario

Terminal

Supongamos que queremos cambiar el UID (USER ID) y el GID (GROUP ID) para todos los ficheros y directorios de un usuario.  El procedimiento es muy sencillo:

  1. Primero, asigna un nuevo UID al usuario usando el comando usermod.
  2. Segundo, asigna un nuevo GID al grupo usando el comando groupmod.
  3. Finalmente, utiliza los comandos chown y chgrp para cambiar los antiguos UID y GID respectivamente.  Puedes automatizar este proceso con la ayuda del comando find.

Por seguridad, es importante hacer una copia de seguridad de tu sistema antes de hacer esto.

Supongamos que tenemos:

  1. Nombre de usuario: foo
  2. Viejo UID de foo: 1005
  3. Nuevo UID de foo: 2005
  4. Nombre de grupo de usuario: foo
  5. Viejo GID de foo: 2000
  6. Nuevo GID de foo: 3000

Comandos:

Para asignar un nuevo UID al usuario llamado foo, escribe:
# usermod -u 2005 foo

Para asignar un nuevo GID al grupo llamado foo, escribe:
# groupmod -g 3000 foo

Tan pronto como como escribes los anteriores comandos, todos los fichero ubicados en el directorio home del usuario tendrán el UID cambiado automáticamente.  Sin embargo, los ficheros que se encuentran fuera del directorio home del usuario tendrán que ser cambiados manualmente.  Para cambiar manualmente fichero con los viejos GID y UID respectivamente, escribe:
# find / -group 2000 -exec chgrp -h foo {} \;
# find / -user 1005 -exec chown -h foo {} \;

El comando -exec ejecuta el comando chgrp o chmod en cada fichero.  La opción -h pasada al comando chgrp/chmod afecta a cada enlace simbólico en vez de a cualquier fichero referenciado.

vía

Recetas · Ubuntu

JDK portable para Windows

javalogo

Desafortunadamente la JDK no está disponible como un zip portable para Windows.  Sin embargo, para tener una versión portable puedes seguir esto pasos:

  • Crea un directorio JDK de trabajo (en este caso C:\JDK)
  • Descarga la última versión de la JDK de la página de Oracle (por ejemplo jdk-7u7-windows-x64.exe)
  • Descarga e instala 7-Zip (o descarga la versión 7-Zip portable si no eres administrador)
  • Extrae con 7-Zip todos los fichero de jdk-XuXX-windows-x64.exe en el directorio C:\JDK
  • Ejecuta los siguiente comandos en cmd.exe:
    • cd C:\JDK\.srcs\JAVA_CAB10
    • extract32 111
  • Desempaqueta C:\JDK\.rsrc\JAVA_CAB10\tools.zip con 7-zip
  • Ejecuta los siguientes comando en cmd.exe:
    • cd C:\JDK\.rsrc\JAVA_CAB10\tools\
    • for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"
      (esto convertirá todos los ficheros .pack en fichero .jar)
  • Copia todo el contenido de C:\JDK\.srcs\JAVA_CAB10\tools a donde quieras que esté tu JDK
  • Establece manualmente las variables JAVA_HOME y PATH para que apunten a tu directorio JDK y su subdirectorio BIN

NOTA:  En las últimas versiones de la JDK, al descomprimir el dichero jdk-XuXX-windows-x64.exe con el 7-Zip, directamente nos aparece el dichero tools.zip (no hay que ir al directorio .srcs\JAVA_CAB10 y ejecutar el extract32).

vía