Slackware/pam-ldap
slackware で PAM-LDAPへ挑戦してみる
パッケージ:nss-pam-ldapd-0.9.11-x86_64-1
設定ファイル(1):/etc/nsswitch.conf
-passwd: compat -group: compat +passwd: files ldap +group: files ldap +shadow: files ldap
設定ファイル(2):/etc/nslcd.conf
uid nslcd gid nslcd uri ldap://127.0.0.1/ base group ou=groups,dc=local base passwd ou=users,dc=local base shadow ou=users,dc=local
※起動ユーザ
# /usr/sbin/groupadd -g 88 nslcd # /usr/sbin/useradd -u 88 -g nslcd nslcd
※起動スクリプト:/etc/rc.d/rc.nss-pam-ldapd
- mkdir -p /run/nslcd + mkdir -p /var/run/nslcd + chown nslcd.nslcd /var/run/nslcd
設定ファイル(3):/etc/pam.d/system-auth
auth optional pam_group.so +auth sufficient pam_ldap.so try_first_pass auth required pam_unix.so likeauth nullok account required pam_unix.so +account [default=bad success=ok user_unknown=ignore service_err=ignore system_err=ignore authinfo_unavail=ignore] pam_ldap.so account sufficient pam_succeed_if.so uid < 100 quiet password sufficient pam_unix.so nullok sha512 shadow minlen=6 try_first_pass use_authtok +password sufficient pam_ldap.so user_authtok -session optional pam_gnome_keyring.so auto_start +session optional pam_ldap.so
LDAPエントリ
dn: cn=users,ou=groups,dc=local objectClass: top objectClass: posixGroup cn: users gidNumber: 100 memberUid: sample01 dn: cn=sample01,ou=users,dc=local objectClass: top objectClass: posixAccount objectClass: shadowAccount cn: sample01 uid: sample01 userPassword: xxxxxx uidNumber: 1000 gidNumber: 100 homeDirectory: /home/sample01 loginShell: /bin/bash
sudo対応
古いSlackwareの場合、sudoがpam非対応でビルドされている。その場合、当然pam.d/sudoの設定を行なっても無視される。
> sudo --version | grep configure configure オプション: --prefix=/usr --sbindir=/usr/sbin --mandir=/usr/man --docdir=/usr/doc/sudo-1.8.16 --with-env-editor --disable-pam-session --with-pam=no --with-rundir=/var/db/sudo --with-insults --with-all-insults --with-pc-insults --build=x86_64-slackware-linux
パッケージのsudo ソースを取り寄せて、pam対応版として再ビルドを行う。
http://ftp.riken.jp/Linux/slackware/slackware64-14.2/source/ap/sudo/
[sudo.SlackBuild]ファイルのコンパイルオプションを修正。
--disable-pam-session ⇨ --enable-pam-session --with-pam=no ⇨ yes
ビルドして、アップグレード
# /bin/sh sudo.SlackBuild ... # /sbin/upgradepkg /tmp/sudo-1.8.16-x86_64-1.txz
/etc/pam.d/sudo の設定
auth include system-auth account include system-auth password include system-auth session include system-auth
sudo対象ユーザ(user_name)を/etc/group の wheelグループに追加。対象ユーザは/etc/passwdにいないユーザでもOKwww
wheel:x:10:root, user_name
wheelグループに対するsudo設定はいつも通り、/etc/sudoersを設定。
以上。
---
update at 2023/01/28 13:45:45
※注:当サイトは特定環境において確認できた事象のみを記述しています。他の環境での動作は一切保証しません。