Linux – samba winbind

Loading

Step 5 :PAM 的設定檔

PAM (Pluggable Authentication Modules)
主要可以讓程式設計者直接取用函數庫來對身份密碼做驗證機制,而程式設計者不需再對身份密碼再做額外的處理
PAM 其主要有三項功能
1.可動態載入函數庫( libraries )
2.安全機制集中管理
3.配置檔在載入時才生效
所有的函數庫( libraries )存在 /lib/sercurity 目錄下
而設定檔存放在 /etc/pam.d 目錄下
函數庫 libraries 也有相對應的參考檔存放在 /etc/security 目錄下
也因此我們可以直接修改 PAM 的設定檔,讓服務能支援 winbind 的身份驗證,下面我們針對不同的服務加以說明
如果剛才加入網域使用 setup 方式來設定 kerberos.那系統會修改 /etc/pam.d/system-auth 檔,如下 

[root@benjr ~]#cat /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      /lib/security/$ISA/pam_env.so
auth        sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok
auth        sufficient    /lib/security/$ISA/pam_krb5.so use_first_pass
auth        required      /lib/security/$ISA/pam_deny.so
account     required      /lib/security/$ISA/pam_unix.so
account     [default=bad success=ok user_unknown=ignore service_err=ignore system_err=ignore] /lib/security/$ISA/pam_krb5.so
password    required      /lib/security/$ISA/pam_cracklib.so retry=3 type=
password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password    sufficient    /lib/security/$ISA/pam_krb5.so use_authtok
password    required      /lib/security/$ISA/pam_deny.so
session     required      /lib/security/$ISA/pam_limits.so
session     required      /lib/security/$ISA/pam_unix.so
session     optional      /lib/security/$ISA/pam_krb5.so

你會發現多出一些使用 pam_krb5.so 的驗證方式.也就是說身份驗證亦可以通過 kerberos 來做.
而 system-auth 是其他服務必須呼叫的.所以此時你的其他服務都可以透過 winbind 向 Windows 的 kerberos 做身份驗證.如果你不想讓每種服務都用 kerberos 的方式驗證,那你必須標記(#)這些設定.也就是上面標成紅色的部分.接下來就只須將個別的服務加上 winbind.so 的支援即可. 如下一步驟所示.
I.Telnet
與 Telnet 相關的 PAM 為 /etc/pam.d/login

[root@benjr ~]#vi /etc/pam.d/login
#%PAM-1.0
auth       required pam_securetty.so
auth       sufficient pam_winbind.so
auth       required pam_stack.so service=system-auth
auth       required pam_nologin.so
account    sufficient    pam_winbind.so
account    required pam_stack.so service=system-auth
password   required pam_stack.so service=system-auth
session    required pam_stack.so service=system-auth
session    optional pam_console.so

此時 telnet 與 本機端登入就可以向 Windows 的 kerberos 來做身份驗證了.
II.SSH
與 SSH 相關的 PAM 為 /etc/pam.d/sshd

[root@benjr ~]#vi /etc/pam.d/sshd
#%PAM-1.0
auth       sufficient pam_winbind.so
auth       required     pam_stack.so service=system-auth
auth       required     pam_nologin.so
account    sufficient    pam_winbind.so
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth
session    required     pam_limits.so
session    optional     pam_console.so

此時 SSH 就可以用 Windows 的 kerberos 來做身份驗證了.
III.X Windows

[root@benjr ~]#vi /etc/pam.d/gdm
#%PAM-1.0
auth       sufficient pam_winbind.so
auth       required pam_env.so
auth       required pam_stack.so service=system-auth
auth       required pam_nologin.so
account    sufficient    pam_winbind.so
account    required pam_stack.so service=system-auth
password   required pam_stack.so service=system-auth
session    required pam_stack.so service=system-auth
session    optional     pam_console.so

此時 X-Window 就可以用 Windows 的 kerberos 來做身份驗證了.
IV.FTP

[root@benjr ~]#vi /etc/pam.d/vsftpd
#%PAM-1.0
auth       required pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed
auth       sufficient pam_winbind.so
auth       required pam_stack.so service=system-auth
auth       required pam_shells.so
account    sufficient    pam_winbind.so
account    required pam_stack.so service=system-auth
session    required pam_stack.so service=system-auth

此時 FTP 就可以用 Windows 的 kerberos 來做身份驗證了.

沒有解決問題,試試搜尋本站其他內容

5 thoughts on “Linux – samba winbind

  1. 自動引用通知: services | Benjr.tw
  2. 自動引用通知: RHEL5 – Samba | Benjr.tw
  3. 自動引用通知: samba-ACL | Benjr.tw
  4. 自動引用通知: samba | Benjr.tw

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料