Mostrando entradas con la etiqueta shell. Mostrar todas las entradas
Mostrando entradas con la etiqueta shell. Mostrar todas las entradas

miércoles, 30 de septiembre de 2015

Shell script para crear usuarios en linux (Debian)


A continuación se plantea un shell script que recibe como parámetro el nombre base para los usuarios a crear, el número de usuarios a generar y el grupo al que han de pertenecer. El número de usuarios es opcional siendo por defecto 5. El grupo al que han de pertenecer es opcional, siendo por defecto el nombre base que se da para generar los usuarios. No se realiza control de valides de argumentos, solamente el orden según se indica en el mensaje de uso.


#! /bin/bash

# Declaración de funciones
function mensaje_uso(){
    echo "ERROR: Número de parámetros incorrecto." >&2
    echo "USO: $0 <nombre_base> [-n <numero_de_usuarios>] [-g <nombre_de_grupo>]" >&2
    exit $salida  
}

function crea_grupo(){
    sentencia_crea_grupo="groupadd $nombre_grupo"
    $sentencia_crea_grupo 2> /dev/null #Supuesto de error es porque ya existe
}

function crea_usuario(){
    sentencia_crea_usuario="useradd -g $nombre_grupo $nombre_usuario"
    $sentencia_crea_usuario 2> /dev/null #Supuesto de error es porque ya existe
}

function asigna_grupo(){
    sentencia_cambio_grupo="adduser $nombre_usuario $nombre_grupo"
    $sentencia_cambio_grupo 1>&2> /dev/null #Nos aseguramos de que formen parte del grupo exigido
}

function asigna_passwd(){
    echo $nombre_usuario:$nombre_base | chpasswd    
}

# Inicialización de variables
ENE="-n"
GE="-g"
nombre_grupo=$1
nombre_base=$1
numero_usuarios=5
salida=1

# Control simple de argumentos
case "$#" in
    1)  case $1 in
            -h | --help | -help )
            salida=0 
            mensaje_uso 
            ;;
        esac
        #Se mantiene los valores por defecto
    ;;    
    3)
        if [ "$2" = "$ENE" ]; then
            numero_usuarios=$3
        else
            if [ "$2" = "$GE" ]; then
            nombre_grupo=$3
            else
                mensaje_uso
            fi
        fi
    ;;
    5)
        if [ "$2" = "$ENE" ]; then
            if [ "$4" = "$GE" ]; then
                numero_usuarios=$3
                nombre_grupo=$5
            else
                mensaje_uso
            fi
        else
            mensaje_uso
        fi
    ;;
    *) mensaje_uso
    ;;
esac

# Cuerpo
crea_grupo
 
for (( indice=1; indice <= $numero_usuarios; indice++ ))
    do
    nombre_usuario=$nombre_base$indice
    crea_usuario
    asigna_grupo
    asigna_passwd
done

exit 0


Se ha realizado en una máquina con Debian 7.0 (Wheezy) 

jueves, 17 de septiembre de 2015

Permiso denegado al intentar instalar Guest Additions en Debian VirtualBox

Lo primero es ir al menú Devices de Virtual Box y dar clic a la opción de: Insert Guest Additions CD image... y asegurarse de que la imagen está montada, es decir, accesible el CD.
Desde una terminal nos ponemos en modo administrador:
sudo su
(e introducimos la contraseña del usuario con el que iniciamos sesión)
En este punto debemos ser root. Ejecutamos el archivo y es cuando da error diciendo: Permission denied.

Para solucionarlo se antepone la llamada al shell: sh

usuario@maquina:~$ sudo su
[sudo] password for usuario:
root@maquina:/home/usuario# whoami
root
root@maquina:/home/usuario# cd /media/cdrom0/
root@maquina:/home/usuario# sh VBoxLinuxAdditions.run

Otra forma de hacerlo es modificando el fichero /etc/fstab y cambiar la opción «auto» por «exec», es decir, «user,auto» por «user,exec» en la línea correspondiente al cdrom0, tal como se muestra a continuación:


root@maquina:/media/cdrom0# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options>  <dump> <pass>
# / was on /dev/sda1 during installation
UUID=d5df0c9a-ce86-41f0-85c3-35acb6b9d9a1 /  ext4  errors=remount 0 1
# swap was on /dev/sda5 during installarion
UUID=a57d5d74-f3c3-4938-955f-ef1e3a2336c3  none  swap  sw  0  0
/dev/sr0   /media/cdrom0  udf,iso9660  user,exec   0  0

Solución encontrada en: https://forums.virtualbox.org/viewtopic.php?f=3&t=58799


Probado en Debian 7.0 (Wheezy)
Oracle VirtualBox 4.3.30 for Mac


miércoles, 6 de abril de 2011

Bloquear sesión en Mac mediante teclado

Cómo conseguir bloquear la sesión en Mac, para en algún momento dejarla y no tener que preocuparnos de curiosos.
  •  Tras el salvapantallas o al bloquear (reposar) la pantalla
Ir a Preferencias del Sistema
En la sección de Personal ir a Seguridad
Activar la casilla de Solicitar contraseña... tras iniciarse el reposo o el salvapantallas.
Una vez hecho esto podemos; activar el salvapantallas con exposé o bloquear la pantalla con el atajo Ctrl+Shift+botón de expulsar disco. Al intentar activar la pantalla, nos pedirá contraseña.

  • Configurando un atajo de teclado para que ejecute un script
Logo Automator

Abrir Automator de entre las aplicaciones
La plantilla a elegir es la de Servicio
Donde dice El servicio recibe, seleccionamos: sin datos de entrada
Añadimos un script shell (buscamos en el panel izquierdo y lo arrastramos al derecho)
En la ventana de código dejamos solo la siguiente línea:

'/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession' -suspend


Podemos darle a ejecutar y probarlo antes de guardarlo. Debería bloquearse la sesión y mostrar la pantalla de iniciar sesión.

Si todo ha ido bien, guardamos (en archivo-guardar)
Le damos un nombre como ejemplo: bloqpantalla

Ventana de trabajo de Automator


Entramos a Preferencias del Sistema
En la sección Hardware ir a Teclado
Clic en Funciones rápidas de teclado
En la columna izquierda, escogemos Servicios
En la columna derecha, entre el listado veremos a nuestro servicio: bloqpantalla
Seleccionamos bloqpantalla y damos clic en la parte derecha de la fila para agregarle un atajo de teclado. (por ejmplo alt+cmd+L)

Preferencias del sistema: Funciones rápidas de teclado.

Una vez que presionemos la combinación de teclas, se bloqueará la pantalla.

Se ha utilizado:
—Mac OS X 10.6.8