Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 4 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Vie Abr 15, 2011 9:26 am
Mensajes: 3

Nota Publicado: Vie Abr 15, 2011 1:29 pm 
Arriba  
estimados

alguien me puede ayudar a realizar un script con parametros para crear usuarios, la idea es que contenga: grupo, nombre, apellido, direccion, etc, necesito una idea de como hacerlo ya que debo llevarlo a ldap, la idea es no hacerlo en forma manual ya que son muchos usuarios, recien estoy en los scripts y mis conocimientos no son muchos (bash), ahora estoy comenzando con perl y esto me lo pidieron urgente.
por ultimo necesito que me pida esos datos, la estructura puede hacer de la sgte forma:
_________ __________________ _______________________ ________________ grupo, nombre, apellido, direccion

la idea es pasar todo esto:
Código:
smbldap-useradd -a -g 1000 -G 512 -c "Silvia Roa" -N "Silvia" -S "Roa" -P silvia.Roa
que realizamos en consola a un script.


gracias.

 Perfil Email  

Desconectado
Forista Distinguido
Forista Distinguido
Avatar de Usuario

Registrado: Sab Oct 09, 2004 11:00 pm
Mensajes: 1299

Nota Publicado: Vie Abr 15, 2011 9:04 pm 
Arriba  
Doy por sentado que ya sabes cómo se encabeza un script, permisos de ejecución, y, en definitiva, algún conocimiento básico.

Hay dos caminos para resolver tu problema.

El primero, haciéndolo interactivo (pongo el ejemplo con dos datos) :

###############
read -p "Escriba el nombre de usuario: " NOMBRE
read -p "Escriba el apellido: " APELLIDO

smbldap-useradd -a -g 1000 -G 512 -c "$NOMBRE $APELLIDO" -N "$NOMBRE" -S "$APELLIDO" -P silvia.Roa

################

La otra posibilidad, es haciéndolo como pides en el título, mediante parámetros.

Los parámetros se llaman, en bash, con el signo moneda seguido de un número. 0 es el primero.

Entonces, suponiendo que pretendes que al script se lo llame así:

miscript Silvia Roa

Adentro deberías tratar el dato "Silvia" como "$0", y Roa como "$1", haciendo lo mismo que escribí en el ejemplo anterior.

 Perfil  

Desconectado
Forista Mayor
Forista Mayor

Registrado: Vie Ago 24, 2007 11:00 pm
Mensajes: 794
Ubicación: Galicia - España

Nota Publicado: Sab Abr 16, 2011 1:39 am 
Arriba  
Entiendo que el script debería recibir un único parámetro que fuera "Nombre Apellido" y que tanto el 1000 con el 512 son fijos. A partir de "Nombre Apellido" puedes sacar tanto el -N como el -S como el -P

Lee un poco sobre manipulación de cadenas pero no es complicado si tomar decisiones sencilas sobre como tratar nombre del tipo "Juan Maria Quintela"

_________________
Mi blog: Conocimiento Abierto

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Vie Abr 15, 2011 9:26 am
Mensajes: 3

Nota Publicado: Jue Abr 21, 2011 6:48 am 
Arriba  
Código:
#!/bin/bash

if [ $(id -u) -eq 0 ]; then
   read -p "ingrese nombre : " username
   read -s -p "digite pass : " password
   egrep "^$username" /etc/passwd >/dev/null
   if [ $? -eq 0 ]; then
      echo "$usuario existe!"
      exit 1
   else
      pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
      useradd -m -p $pass $username
      [ $? -eq 0 ] && echo "Usuario agregado" || echo "Fallo en agregarlo"
   fi
else
   echo "Solamente el root puede agregar users"
   exit 2
fi

he avanzado un poco con el tema, lo estoy probando con agregar usuarios al sistema, ya que no tengo samba ni Ldap, esto funciona perfectamente, pero me faltan mas parametros, consulta...como puedo dejar fijos los otros valores y agregar un comentario al usuario creado?, para dejarlo similar a lo que me estan solicitando, que es el codigo de mi pregunta(smbldap-useradd -a -g 1000 -G 512 -c "Silvia Roa" -N "Silvia" -S "Roa" -P silvia.Roa)

 Perfil Email  
Mostrar mensajes previos:  Ordenar por  
 [ 4 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO