ldapsearch şifre dosya biçimi


18

Seçeneği ldapsearchkullanmak için nasıl bir şifre geçirmem gerekir -y <password file>?
Parolayı parola dosyasına düz metin olarak yazarsam, bu hatayı alıyorum:

ldap_bind: Invalid credentials (49)
    additional info: 80090308: LdapErr: DSID-0C0903AA, comment: AcceptSecurityContext error, data 52e, v1772

Aynı -w <password>seçeneği kullanırsam da olur .

EDIT : Çalıştırdığım
komut

ldapsearch -x -D <my dn> -y .pass.txt -h server.x.x -b "dc=x,dc=y" "cn=*"

Dosyanın .pass.txtşifremi içerdiği yerde düz metin. Hem DN hem de şifre doğrudur. Komutu -Wseçenekle çalıştırırsam ve komutun başarıyla çalıştığı bilgi istemine parolayı yazarsam, ancak bir şekilde bir komut dosyası oluşturmak için parolayı saklamak istiyorum.


Ne tür bir "şifre dosyası" kullanıyorsunuz? Bize yazdığınız komutun tamamını göstermek isteyebilirsiniz. Doğru bağlama kimlik bilgilerini mi kullanıyorsunuz?
solefald

Yanıtlar:


22

Ldapsearch'ün parola için dosyanın tüm içeriğini kullanacağını unutmayın; bu, varsa sonlu bir yeni satır karakteri içereceği anlamına gelir. Bunun gerçekte sorun olup olmadığını doğrulamak için, biri olmadan dosya oluşturmayı deneyin:

echo -n ThisIsaBadPassword > .pass.txt

( GÜNCELLEME : '-n' dahil)


1
Ben sadece denedim, ama aynı hatayı alıyorum ...
Paolo Tedesco

2
Hayır, olmayacak. Yeni satırdan kaçınmak için echo -nveya gerekir printf.
user1686

Yankı -n hile yaptı! Yardımlarınız için hepinize teşekkürler.
Paolo Tedesco

Grawity'nin yorumuna göre, echo -n mükemmel çalışıyor, örneğin: echo -n "secretpassword"> /etc/ldapscripts/ldapscripts.passwd
Ned W.

Bu nedenle can sıkıcı bir sorun çözüldü, teşekkürler. Sadece kullanılan sedolsa varolan dosyanın sonuna şerit.
wirefox

1

Yeni satır / satır taşıyıcısı olduğunu varsayarak şunları deneyin:

cat .pass.txt | tr -d '\n\r' > .pass2.txt

Sonra .pass2.txt dosyasını kullanın. İstediğiniz zaman yeni satırları ve satır cat -vEbaşlarını kontrol edebilirsiniz; bunlar sırasıyla $ ve ^ M olarak görünür.

Muhtemelen -y <(cat .pass.txt | tr -d '\n\r')doğrudan ldapsearch komutunda da yapabilirsiniz.


0

ldapsearch -x -D cn=Manager,dc=domain,dc=com -y pass.txt -H ldap://ldap.domain.com -b dc=domain,dc=com

600 pass.txt dosyasını chmod etmeniz gerekebilir


-2

Parolayı gerçek bir dosyaya dökmenize gerek yoktur. Yeni satırı önlemek için -n bayrağıyla yankılayın, ardından STDIN dosya tanımlayıcısından (/ dev / fd / 0) aşağıdaki gibi okuyun:

echo -n 'mypassword' | ldapsearch -x -D <my dn> -y /dev/fd/0 -h server.x.x -b "dc=x,dc=y" "cn=*"

Bu yaklaşımla ilgili sorun, parolanızı keşfetmek için kabuk geçmişine ve PS'ye tabi kalmanızdır.
cgseller

1
Alınan nokta. 2018'in ortası. Hatalarımdan öğrendim. 2014'teki nefes darlığı ciddiye almayın. Teşekkür ederim. :)
Brian Showalter
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.