Script crear usuarios

Hola,podéis darme un poco de luz?
Tengo que hacer un script para dar de alta usuarios en el sistema masivamente.Los nombres de los usuarios que se crearán estarán escritos en un fichero de texto,con la llamada de:
crearusuaio grupo fichero
Donde el paràmetro “grupo” es el nombre del grupo principal que se ha de asignar a los usuarios i el paràmetro “fichero" és el nombre de un fichero de texto que contiene la lista de nombres de usuarios que se quieren crear. Si cualquiera de los paràmetros és erroneo, el programa da un error i finaliza.

Pej. si hace la llamad aasí:

crearusuario curso1 /tmp/llista

i /tmp/llista contiene las línias:

agonzale
mbarriga
laranaz

se crearan los usuarios agonzale, mbarriga i laranaz con un grupo primario curso1, directorio principal /home/nom_usuario i una contraseña inicial establecida igual al nombre del usuario.en la implementación del programa crearíamos la función crearusuario:
-CrearUsuario nombre grupo
Comprobaría si existe el usuario"nombre".Si no existiera lo crea con las siguientes características:
-Grupo primario
-Dierctorio personal: /home/nombre
-Permisos del directorio personal:750
-Contraseña inicial:nombre(no se pide de forma interactiva)
La función retorna un 0 si el usuario se créa bien y distinto de 0 si existía o daba problemas de creación.
El programa ha de retornar diferentes codigos de salida según los resultados,un 0 si todo a ido bien y un código numérico diferente para cada uno de los posibles errores:sintaxis de llamada al script incorrecta(nombre de parámetro incorrecto);el fichero pasado como parámetro no existe,el grupo pasado como parámetro no existe,el usuario ya existe,...
Cada uno de los mensajes que se van generando en la ejecución del script ha de ir precedido de la fecha y hora en que se genera el mensaje:

dd/mm/aa - hh:mm --> Texto del mensaje

Los mensajes han de salir por pantalla, però también han de quedar registrados en un fichero de registro ubicado en el directorio especificado por una variable LOG y definida al inicio del guión de shell. Para eso tenéis que utilizar una función nombrada mensaje que recibe como paràmetre el mensaje de salida. La implementación de la función és la sigiente:

mensaje () {
DATA=$(date +"%x - %X")
echo "$DATA --> $1"
echo "$DATA --> $1" >> $LOG
}

A ver, no vamos a hacerte los deberes de clase. Pero podemos ayudarte si te quedas trabado o a identificar tus errores. No seas tan descarado que te van a pillar los profesores. ¿o crees que no miran en internet?.
Lo primero que van a hacer es pasar todos los scripts de los alumnos por internet para ver si encuentran copias/plagios descarados. Y el último párrafo que has escrito apuesto a que es parte del enunciado. Con lo que por ahí te pillan fijo también.

Por otro lado, ya que tienes tanta cara de registrarte solo para pedir que te hagan los deberes, podrías haberte leído las normas. No escribas en mayúsculas (los títulos tampoco).

ahora léete el manual de adduser y addgroup y empiezas a intentarlo.

Pues en la wiki de esdebian hay un tema sobre esto.

Lo mas que yo podría hacer es empezarlo ya que no domino los scripts, tu lo continúas, lo malo es que no entregarías tu tarea en tiempo.

#!/bin/bash
Clear
##Comprobar si eres el root
if [ 'id -u' -ne O ]
        then
                echo "No eres root, no puedes continuar"
                exit 1
fi

Sigues, y después de que siga leyendo lo que recomendó shaola lo vamos haciendo.

shaola escribió:

podrías haberte leído las normas. No escribas en mayúsculas (los títulos tampoco).

Ya lo he cambiado yo, anoto (como siempre)