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
