contents
LPIC301
ldapsearch
ldapsearch
-D | バインドするDN |
-L | 検索結果をLDIF形式で |
-LL | 検索結果をLDIF形式で(コメント非表示) |
-LLL | 検索結果をLDIF形式で(LDIFバージョンとコメント非表示) |
-P <2|3> | LDAPのバージョン |
-W | 簡易認証のパスワードを対話的に |
-Z | StartTLS |
-b | 検索を開始するDN |
-h | 検索するLDAPサーバ |
-k | Kerberos認証 |
-p | port |
-s | スコープ |
-x | 簡易認証、これに続けてパスワード指定 |
-z | 検索結果の最大表示数 |
slapd.conf
include /etc/openldap/schema/core.schema pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args database bdb suffix "dc=lpicdc=jp" # 管理するディレクトリのトップエントリ rootdn "cn=Manager,dc=lpic,dc=jp" # ディレクトリ管理者のDN rootpw {MD5}sdg+6cfdsgsthgZELSfg== directory /var/lib/ldap
/etc/ldap.conf
uri ldap://127.0.0.1 base dc=lpic,dc=jp (中略) pam_filter objectClass=posixAccount pam_login_attribute uid pam_password exop nss_base_passwd ou=People,dc=lpic,dc=jp?one nss_base_shadow ou=People,dc=lpic,dc=jp?one nss_base_group ou=Group,dc=lpic,dc=jp?one
slapcat
-v | verbose |
-c | エラーを無視 |
-d | debug level |
-f | 設定ファイル |
-n | DB番号 |
-b | サフィックス |
-l | LDIFファイル |
Perl
# perl -MCPAN -e "install Net::LDAP"
new
接続
{{monta(bind} バインド(認証)
unbind
アンバインド
search
検索
add
エントリ追加
delete
削除
modify
修正
オフラインのコマンド
slapcat
slapadd
slappasswd
slapindex
slaptest
slap*は直接DBを触る。ldap*はslapdが起動していなければアクセスできない。
オフラインのコマンド
ldapadd
ldapsearch
ldapdelete
ldapmodify
ldapmodrdn
ldappasswd
キャッシュ
slapd.conf (?)
cachesize 3000 idlcachesize 10000
DB_CONFIG (更新性能への影響大)
set_cachesize 0 268435456 1 # 0.25GBの領域を1つ確保 set_lg_regionmax 262144 # 256KKBの領域を確保 set_lg_bsize 2097152 # 2MBの領域確保
ACL
none |
auth |
compare |
search |
read |
write |
slurpd
replog.ldapserver2.example.net:389.rej ^ | slapd------->変更情報<------slurpd ----------> slapd 書き出し 参照 同期 replogfile updatedn "cn=SlaveManager,..." replica host=... updateref ldap://ldapserver1... bindmethod=simple binddn="cn=SlaveManager,... credentials=himitu
slurpdは"replica..."の設定から接続情報を得て、スレーブのslapdに接続、同期する。
syncrepl
プロバイダ 更新確認 コンシューマ slapd <---------------------------- slapd ----------------------------> 同期 overlay syncprov syncrepl rid=1 syncprov-checkpoint 100 10 provider=ldap://ldapserver1... syndprov-sessionlog 100 bindmethod=simple binddn="cn=Manager, ... credentials="himitu" type=refreshOnly interval=00:00:00:03:00 searchbase="dc=example, dc=net"
集中管理
- /etc/nsswitch.conf:passwd,shadow,groupの解決にldapを使うことを指定
- /etc/ldap.conf:NSSが参照するLDAPサーバの設定
- /etc/openldap/ldap.conf:ldapsearchなどNSSを介さずアクセスするものはこっちを見る
- /etc/pam.d/system-auth:auth,account,password,sessionにldapを使うことを指定
configure
openldap | --prefix --enable-syslog --enable-ipv6 --with-cyrus-sasl --with-threads --with-tls |
apache2.0 | --with-ldap --enable-ldap --enable-auth-ldap --enable--ssl |
apache2.2 | --with-ldap --enable-ldap --enable-authnz-ldap --enable--ssl |
samba | --with-ldap |
postfix | make makefiles CCARGS="-I/usr/local/include -DHAS_LDAP" AUXLIBS="-L... -l..." |
dovecot | --with-ldap |
proftpd | --with-modules=mod_ldap |
opensshd | --with-ldap |
sambaSAMAccount:CIFSを実装したSamba3.0の情報を管理するオブジェクトクラス
TLSVerifyClient
never:証明書を求めない
allow:証明書が無ければ継続、不正なら無かったものとして継続
try:証明書が無ければ継続、不正なら停止
demand:証明書が無ければ停止
その他
- proftpd
LDAPServer
- ldifのchangetype
- add
- delete
- modify
- add
- delete
- replace
- modrdn
memberNisNetgroupとnisNetgroupTriple
Last modified: 2014-02-25 by Unknown