NAS製品の一つに QNAP がある。このQNAPには LDAPサーバ が内包されている。

ここではこのQNAP内LDAPサーバを使って、アカウント管理を行ってみた

参考ページhttps://forum.qnap.com/viewtopic.php?t=70028

QNAPのLDAP設定

管理者権限でログインして、web画面にある「コントロールパネル」を押下します。
すると「コントロールパネル」画面が表示され、その上部には、
ここでの製品名 TS-569L とファームウエア情報が表示されている。ここでは「4.3.4.0752」
2018y12m26d_050645015.png

その画面下方の「アプリケーション」欄の「LDAPサーバー」を押下します。
2018y12m26d_051619040.png

LDAPサーバーの設定画面が表示されます。

ここで、まず「LDAPサーバーの有効化」チェックボックスを有効にして、
フルドメイン名、パスワードを入力します。
フルドメイン名は、このqnapが所属してるネットワークをベースにしても構わない。
ここではネットワークは「sybyl.local」なのですが、それとは違う「em.local」にしてます
パスワードは、LDAPサーバ機能の管理者パスワードを意味します。QNAPのパスワードとは違います。
2018y12m26d_052102156.png
入力後、画面下部の「適用」ボタンを押下する。

すると、メニュー部分に項目が追加され、「ユーザ」「グループ」の追加、修正はここで行います。
またルートDNらの情報も掲示されます。
2018y12m26d_052551375.png

これでLDAPの管理者アカウント「cn=admin,dc=em,dc=local」とそのパスワードが定義されました。

接続テスト

ここで「LDAP Admin」による接続テストを行ってみる。
「LDAP Admin」を起動させ、新しいコネクション「qnap」を下記のように作る
「Account」欄のUsernameには先ほどのLDAPサーバの管理者アカウント「cn=admin,dc=em,dc=local」を入力して
パスワードは前段のパスワードを入力します。

実際のホスト名とBaseDNの違いに注意
2018y12m26d_053012663.png
「LDAP Admin」で接続すると、左ペインは下記のようになっている。当然データ登録がないので空であるが。
2018y12m26d_053550241.png

留意 Anonymousによる接続は無理っぽい。LDAPデータベースを調整する必要あり

ユーザ作成

QNAPに戻って、ユーザ作成を行います。その前にグループを登録してみる。
先ほどのメニュー部分から「グループ」を選択します。下記のような画面になります。
2018y12m26d_053809607.png
ここで、「ユーザグループの作成」ボタンを押下します。
ウイザードが画面に表示され、目的のグループ名を入力して「次へ」ボタンを押下します。
2018y12m26d_054239830.png
「ユーザの割り当て」画面になりますが、現時点ではまだユーザを作成してないので、「いいえ」を
選んで「次へ」ボタンを押下します。
2018y12m26d_054545457.png
これでグループが作成できます。
留意 勝手なグループIDは指定できないみたい...

次に、ユーザを作成します。
同じくメニュー部分から今度は「ユーザ」を選択します。
2018y12m26d_054842859.png
ここで「作成」プルダウンを押下すると、下記のような登録方法が選べます。
ここでは1人のユーザを作るので「ユーザの作成」を選びます。
2018y12m26d_055016343.png
するとまた、グループ作成と同じようなウイザードが画面に表示されます。
「次へ」ボタンを押下してユーザを登録します。
2018y12m26d_055350355.png
途中、「ユーザーアカウントオプション」にて、ログイン時にパスワード変更とか要件がありますが、
Linux接続で有効なのかは不明..
2018y12m26d_055637993.png
その後に、作ったユーザの所属グループを指定して完了となります。

ユーザ作成後のLDAP Admin画面

「F5」キーでレフレッシュすると、左側は
2018y12m26d_060150007.png
となって、新規ユーザ情報は下記のようになる。
2018y12m26d_060221862.png
留意 homeDirectoryはあるが、loginShellはない。ここら辺は手動で修正する必要があるみたい。

ldapsearchで接続

LinuxをLDAP参加に加入させる前にもうちょい調査
下記コマンドでLDAPデータベースの中身が見える。

[root@client ~]# ldapsearch -h q.sybyl.local -D "cn=admin,dc=em,dc=local" -b "dc=em,dc=local" -W

sssdでQNAPのldapサーバーに繋ぐ

っで実際にLinuxマシンをQNAPのldapサーバの隷下に下るにはクライアントに下記パッケージをインストールします。

[root@client ~]# yum install sssd sssd-ldap

そして、「authconfig-tui」を実行して、「ユーザ情報」に「LDAPを使用」を有効にして、
「認証」には「LDAP認証を使用」を有効にします。
2018y12m26d_073453400.png
「OK」リンクを押下後に「LDAP設定」画面にて下記のようにします。
サーバーは「ldap://192.168.0.9/」(ホスト名でも可)
ベースDNは「dc=em,dc=local」とします。

2018y12m26d_073654628.png
これで「/etc/openldap/ldap.conf」が書き換われ、「/etc/sssd/sssd.conf」が自動作成されます。

[root@client ~]# grep -v -e '^\s*#' -e '^\s*$'   /etc/openldap/ldap.conf
TLS_CACERTDIR /etc/openldap/cacerts
SASL_NOCANON    on
URI ldap://192.168.0.9/
BASE dc=em,dc=local
[root@client ~]#

自動作成された「/etc/sssd/sssd.conf」ですが、これはこのままで使えません。

下記のように3行の追加が必要です。
*「ldap_default_authtok」は冒頭のLDAP管理者のパスワードです。
QNAP側がanonymousで接続を許可してくれればいいのですが、そうはなってない。
代理人(cn=admin,dc=em,dc=local)を立ててLDAPデータベースにアクセスしてます。

[domain/default]
 
autofs_provider = ldap
cache_credentials = True
ldap_search_base = dc=em,dc=local
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://192.168.0.9/
ldap_id_use_start_tls = False
ldap_tls_cacertdir = /etc/openldap/cacerts
 
# qnapに接続するための追加項目
ldap_tls_reqcert = never
ldap_default_bind_dn = cn=admin,dc=em,dc=local
ldap_default_authtok = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 
[sssd]
services = nss, pam, autofs
 
domains = default
[nss]
homedir_substring = /home
 
[pam]
 
[sudo]
 
[autofs]
 
[ssh]
 
[pac]
 
[ifp]
 
[secrets]
 
[session_recording]

この修正後に「sssd」を再起動させます
「systemctl restart sssd」
これで接続できます。

留意 正しく動かない場合は、 sssdを「systemctl stop sssd」で停止後、
「sssd -d 3 -i」とかのデバックモードで調べる。その際キャッシュが誤解を招くので
事前に「rm -rf /var/lib/sss/db/*」としてキャッシュを削除します。

TLS対応にするのが必要かと思うが、、、LDAPから証明書を取得するとか面倒なので避けている。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2018-12-26 (水) 21:36:23 (22d)