hola, alguien me podria ayudar con este script
Para todos los usuarios con UID>=1000 crea una entrada en formato LDIF como la del siguiente ejemplo:
dn: uid=USUARIO,ou=ejemplo,dc=ejemplo,dc=org
uid: USUARIO
objectClass: top
objectClass: posixAccount
objectClass: person
objectClass: inetOrgPerson
loginShell: SHELL
uidNumber: UID
gidNumber: GID
sn: APELLIDOS
givenName: NOMBRE
cn: NOMBRE APELLIDOS
mail: USUARIO@ejemplo.org
l: lugar
homeDirectory: HOME
donde los parámetros que están en mayúsculas se deben extraer del fichero /etc/passwd
NECESITO CREAR EL FICHERO LDIF, CON TODO ESTO, COMO PODRIA REDIRECCIONARLO TODO AL FICHERO, Y POR DONDE EMPEZARIA A REALIZAR EL SCRIPT
GRACIAS DE ANTE MANO
perdon no he sido muy claro, esto es lo que llevo realizado y quiero que me lo cree en el fichero .ldif, pero me da fallos, alguna consejo y/o ayuda?
#!/bin/bash
cat /etc/passwd | \
while IFS=":" read usu password uid gid nom directorio bash
do
if [ $uid -ge 1000 ];then
archivo="usuarios.ldif"
echo -e "\n dn: uid="$usu",ou=ejemplo,dc=ejemplo,dc=org">>$archivo
echo "uid:" $usu >> $archivo
echo "objectClass: top" >> $archivo
echo "objectClass: posixAccount" >> $archivo
echo "objectClass: person" >> $archivo
echo "objectClass: inetOrgPerson" >> $archivo
contraseña=$(sudo cat /etc/shadow | awk /$usu/)
echo "loginShell:" $contraseña >> $archivo
echo "uidNumber:" $uid >> $archivo
echo "gidNumber:" $gid >> $archivo
read -p "¿Apellido?" apellido
echo "sn: $apellido" >> $archivo
read -p "¿Nombre?" nombre
echo "givenName: $nombre" >> $archivo
echo "cn:" $nombre $apellido >> $archivo
echo "mail:" $usu"@example.org" >> $archivo
echo "l: lugar" >> $archivo
echo -e "homeDirectory:\n" $directorio >> $archivo
echo "Entrada creada"
ls
else
echo "usuario con UID menor 1000"
break
fi
done