Fw: [suse-linux-s] ayuda con script de usuarios de Sasl
aux wrote Thursday, January 19, 2006 12:13 PM A ver si te sirve algo asi (no lo he probado): #!/bin/bash cat users.txt|while read linea do usuario=`echo $linea|awk -F, '{print $1}'` pass=`echo $linea|awk -F, '{print $2}'` echo $pass|saslpasswd2 -p -c -u dominio.com $usuario done bueno te antemano te doy gracias por haber escrito , he probado el script , pero no corre me sale el mensaje de ayuda de comando de la libreria sasl , te dejo lo que me sale mail:~ # ./user.sh This product includes software developed by Computing Services at Carnegie Mellon University (http://www.cmu.edu/computing/). saslpasswd2: usage: saslpasswd2 [-v] [-c [-p] [-n]] [-d] [-a appname] [-f sasldb] [-u DOM] userid -p pipe mode -- no prompt, password read on stdin -c create -- ask mechs to create the account -d disable -- ask mechs to disable/delete the account -n no userPassword -- don't set plaintext userPassword property (only set mechanism-specific secrets) -f sasldb use given file as sasldb -a appname use appname as application name -u DOM use DOM for user domain -v print version numbers and exit ahora cuando corro el script , tengo un archivo users.txt que contiene a los usuarios de esta manera : usuario password gasparinm gasparin leonciton leoncito veo que tu script hace mencion a dos variables "usuario y pass" , por lo que lo cambie en el archivo y solo me sale la ayuda de sasl ... saludos lista y gracias de antemano Ricardo g.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-01-19 a las 13:57 -0600, gnualways escribió:
A ver si te sirve algo asi (no lo he probado):
#!/bin/bash cat users.txt|while read linea do usuario=`echo $linea|awk -F, '{print $1}'` pass=`echo $linea|awk -F, '{print $2}'` echo $pass|saslpasswd2 -p -c -u dominio.com $usuario
bueno te antemano te doy gracias por haber escrito , he probado el script , pero no corre me sale el mensaje de ayuda de comando de la libreria sasl , te dejo lo que me sale
mail:~ # ./user.sh
This product includes software developed by Computing Services at Carnegie Mellon University (http://www.cmu.edu/computing/).
saslpasswd2: usage: saslpasswd2 [-v] [-c [-p] [-n]] [-d] [-a appname] [-f
Me parece que puede ser echo $pass > saslpasswd2 -p -c -u dominio.com $usuario Tienes que probar esa unica linea fuera del bucle, con un sólo usuario. El quid de cuestión es encontrar una linea de comando que admita el login y password sin intervención humana. Otra manera de hacerlo, sin awk (y por ende, más rápido): cat users.txt | while read USER PASS RESTO ; do do echo $PASS > saslpasswd2 -p -c -u dominio.com $USER done Funcionará mientras no haya palabras con espacios en blanco en medio, claro. Y si hay alguna palabra en blanco, pues fallará. Pero no lo he probado, por supuesto (no la linea del sasl). - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFD0C28tTMYHG2NR9URAv79AJ9Wxoqx9UkqZSW++AXaobYwz4ZOwACfRHTi JFWDyHPNYBKQtlj8NX3xKK4= =Seiz -----END PGP SIGNATURE-----
El 19/01/06, Carlos E. R.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
El 2006-01-19 a las 13:57 -0600, gnualways escribió:
A ver si te sirve algo asi (no lo he probado):
#!/bin/bash cat users.txt|while read linea do usuario=`echo $linea|awk -F, '{print $1}'` pass=`echo $linea|awk -F, '{print $2}'` echo $pass|saslpasswd2 -p -c -u dominio.com $usuario
bueno te antemano te doy gracias por haber escrito , he probado el script , pero no corre me sale el mensaje de ayuda de comando de la libreria sasl , te dejo lo que me sale
mail:~ # ./user.sh
This product includes software developed by Computing Services at Carnegie Mellon University (http://www.cmu.edu/computing/).
saslpasswd2: usage: saslpasswd2 [-v] [-c [-p] [-n]] [-d] [-a appname] [-f
Me parece que puede ser
echo $pass > saslpasswd2 -p -c -u dominio.com $usuario
Tienes que probar esa unica linea fuera del bucle, con un sólo usuario.
no.. esta mal el uso del caracter ">" !!! en el caso que mencionas, se creara un archivo de texto llamado saslpasswd2 con el contenido de $pass + -p -c -u dominio.com $usuario. para pasar datos de un comando para otro, se utiliza el "|" (pipe) como en el primero ejemplo, sugerido por gnualways... [...]
Otra manera de hacerlo, sin awk (y por ende, más rápido):
cat users.txt | while read USER PASS RESTO ; do do echo $PASS > saslpasswd2 -p -c -u dominio.com $USER done
idem.... pero ls idea de sustituir el awk, si estan bien !!! ;-) salu2 -- -- Victor Hugo dos Santos Linux Counter #224399
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-01-20 a las 01:15 -0300, Victor Hugo dos Santos escribió:
Me parece que puede ser
echo $pass > saslpasswd2 -p -c -u dominio.com $usuario
Tienes que probar esa unica linea fuera del bucle, con un sólo usuario.
no.. esta mal el uso del caracter ">" !!!
Es verdad, tienes razón. ¡Despiste! O:-) - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFD0TtJtTMYHG2NR9URAvecAJ9x849BRtsCVYL7UY07ud/p42cC2QCdGKWn p3GyfGXkIv/Vo6WmT1dfBAw= =uptM -----END PGP SIGNATURE-----
2006/1/19, gnualways
aux wrote Thursday, January 19, 2006 12:13 PM
A ver si te sirve algo asi (no lo he probado):
#!/bin/bash cat users.txt|while read linea do usuario=`echo $linea|awk -F, '{print $1}'` pass=`echo $linea|awk -F, '{print $2}'` echo $pass|saslpasswd2 -p -c -u dominio.com $usuario done
[...]
ahora cuando corro el script , tengo un archivo users.txt que contiene a los usuarios de esta manera :
usuario password gasparinm gasparin leonciton leoncito
veo que tu script hace mencion a dos variables "usuario y pass" , por lo que lo cambie en el archivo y solo me sale la ayuda de sasl ...
que quieres decir exactamente con esto de cambiar el archivo ??? podrias enviar tu script para que lo miremos exactamente lo que modificaste ??? supongo, que cambiaste domino.com por vuestro dominio real, cierto ??? bye -- -- Victor Hugo dos Santos Linux Counter #224399
participants (3)
-
Carlos E. R.
-
gnualways
-
Victor Hugo dos Santos