سؤال

أنا أعمل على برنامج نصي bash لتكوين openldap وإضافة برنامج ldif النصي مع المستخدمين والمجموعات.

كيف يمكنني كتابة كلمة المرور من البرنامج النصي bash؟

هذا هو البرنامج النصي الذي أقوم بتشغيله عندما يطلب كلمة المرور:

ldapadd -h localhost -D "cn=admin,dc=sysadmin1,dc=hioa,dc=no" -W -x -f /etc/ldap/base.ldif

يحرر:

لقد جربت ذلك وأنشأت ملف passwd.txt بكلمة المرور:

ldapadd -h localhost -D "cn=admin,dc=sysadmin1,dc=hioa,dc=no" -W -x -y'passwd.txt' -f /etc/ldap/base.ldif

ولكن يحصل على هذا الخطأ:

Warning: Password file passwd.txt is publicly readable/writeable
ldap_bind: Invalid credentials (49)

enter image description here

هل كانت مفيدة؟

المحلول

رجل ldapadd.

-W
Prompt for simple authentication. This is used instead of specifying the password on the command line.

-w passwd
Use passwd as the password for simple authentication.
-y passwdfile
Use complete contents of passwdfile as the password for simple authentication.

لذلك يبدو أنك تبحث عن خيار -w أو -y, ، لا -W

نصائح أخرى

هناك احتمالان:

  1. ldapadd يقرأ كلمة المرور من الإدخال القياسي.
  2. ldapadd يقرأ كلمة المرور مباشرة من TTY الحالي.

في الحالة الأولى يكفي استخدام شيء من هذا القبيل echo 'MySecretPassword' | ldapadd -h localhost -D "cn=admin,dc=sysadmin1,dc=hioa,dc=no" -W -x -f /etc/ldap/base.ldif.والثاني أكثر تعقيدًا لأنك تحتاج إلى أداة مثل يتوقع.تحقق مما إذا كانت إعادة التوجيه البسيطة تعمل أولاً.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top