Boa tarde, o problema é~
Tenho que executar 8 comandos por linha de um txt, o txt no caso é uma variavel que usarei no comando~ o que não estou conseguindo é que ao dar o camando, que requer uma senha, fazer a minha aplicação colocar a senha. Eu achei em algum site (não sei informar qual) que fala que se usar um | (pipe) entre os comandos de cmd funcionaria, só que não~
Ai vai o programa que fiz, se puderem ajudem plx!
O comando: ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid='+y+')" -W -x | grep [varias coisas]
Senha do BD: BDCasa12#
Me retorna o erro:
Traceback (most recent call last):
A questão é que, a aplicação acha que a senha do BD é parte do 1º comando~ Assim não colocando a senha no BD, com isso não retornando nada~
Alguém ajuda? *.*
Basicamente quero ajuda de como fazer o python colocar a senha no prompt depois de dar o comando =p
Uso ubuntu | python 2.7.6 | BD: OpenLdap
Tenho que executar 8 comandos por linha de um txt, o txt no caso é uma variavel que usarei no comando~ o que não estou conseguindo é que ao dar o camando, que requer uma senha, fazer a minha aplicação colocar a senha. Eu achei em algum site (não sei informar qual) que fala que se usar um | (pipe) entre os comandos de cmd funcionaria, só que não~
Ai vai o programa que fiz, se puderem ajudem plx!
O comando: ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid='+y+')" -W -x | grep [varias coisas]
Senha do BD: BDCasa12#
Código:
#!/usr/bin/python import os x = open('/uid.txt', 'r') print 'abriu o txt' for i in range (10): y = x.readline() print y os.system('ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid='+y+')" -W -x |grep gecos >> casa.txt' | 'BDCasa12#') os.system('ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid='+y+')" -W -x |grep uidNumber >> casa.txt' | 'BDCasa12#') os.system('ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid='+y+')" -W -x |grep gidNumber >> casa.txt' | 'BDCasa12#') os.system('ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid='+y+')" -W -x |grep mail >> casa.txt' | 'BDCasa12#') os.system('ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid='+y+')" -W -x |grep loginShell >> casa.txt' | 'BDCasa12#') os.system('ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid='+y+')" -W -x |grep cn >> casa.txt | 'BDCasa12#') os.system('ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid='+y+')" -W -x |grep displayname >> casa.txt' | 'BDCasa12#') os.system('ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid='+y+')" -W -x |grep userPassword >> casa.txt' | 'BDCasa12#') x.close() print 'fechou o txt'
Traceback (most recent call last):
File "/home/fnd/Área de Trabalho/testearquivoldap.py", line 9, in <module>
os.system('ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid=1)" -W -x |grep gecos >> geco.txt' | 'BDCasa12#')
TypeError: unsupported operand type(s) for |: 'str' and 'str'
os.system('ldapsearch -h 10.0.0.1 -D"cn=Manager,o=Casa,c=BR" -b"ou=People,ou=Familia,o=Casa,c=BR" "(uid=1)" -W -x |grep gecos >> geco.txt' | 'BDCasa12#')
TypeError: unsupported operand type(s) for |: 'str' and 'str'
Alguém ajuda? *.*
Basicamente quero ajuda de como fazer o python colocar a senha no prompt depois de dar o comando =p
Uso ubuntu | python 2.7.6 | BD: OpenLdap
Comment