站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

OpenLDAP-SmbFTPD Auth With LDAP 設定

前言

本篇實作為設定 FTP 透過 LDAP 來認證使用者帳號及密碼,而採用的套件為支援 Samba 模式的 [twbsd.org SmbFTPD],關於 FTP 運作可參考站內文章 FTP 伺服器的原理與運作流程

實作環境

安裝及設定

本次實作採用的 FTP 套件為 [twbsd.org - SmbFTPD] 它支援 SMB 模式也支援 Chroot、SSL/TLS...等許多功能是本次實作採用的主因,因為 [twbsd.org - SmbFTPD] 網站上的說明文件已經夠清楚了,因此下列安裝及設定僅著重在設定 [SmbFTPD] 如何透過 LDAP 來進行使用者認證的部份。

步驟1.安裝 smbftpd 套件

切換至 Ports Tree 路徑安裝 smbftpd 套件

 #cd /usr/ports/ftp/smbftpd                      //切換至安裝路徑
 #make install clean                             //安裝套件並清除安裝過程中產生不必要檔案

步驟2.PAM 設定 ftpd

由於 SmbFTPD 為從 ftpd 修改而成,因此我們可透過修改 /etc/pam.d/ftpd 讓 ftpd 服務能利用 pam_ldap 來做認證處理,也就是把 FTP 使用者帳號及密碼的部份也整合至 LDAP 內。關於 PAM 可參考站內文章 OpenLDAP-PAM NSS 設定

 #vi /etc/pam.d/ftpd
 auth            sufficient      /usr/local/lib/pam_ldap.so              no_warn try_first_pass    //加入此行
 auth            required        pam_unix.so             no_warn try_first_pass

步驟3.修改 rc.conf

修改 /etc/rc.conf 設定檔以便系統重開機時能自動帶起 SmbFTPD 服務

 #vi /etc/rc.conf
 smbftpd_enable="Yes"        //加入此行

鍵入如下指令來啟動 SmbFTPD 服務

 #/usr/local/etc/rc.d/smbftpd.sh start
 Starting smbftpd

要注意的地方是您必須要產生 SSL/TLS 憑證,因為此版本預設在 SmbFTPD 服務啟動時一定要 載入憑證後才能啟動成功,關於此一問題詳細內容可參考 [請教 SmbFTPD 是否能不使用 SSL/TLS 啟動?]

參考

[twbsd.org - SmbFTPD]

[twbsd.org 第十五章 FTP 伺服器]

Me FAQ

Q1.smbftpd 服務無法啟動?

Error Meaage:

啟動 smbftpd 時似乎無法啟動成功並出現如下錯誤訊息

 #/usr/local/etc/rc.d/smbftpd.sh start
 Starting smbftpd
 TLS/SSL initialization failed.

Ans:

開啟 smbftpd 除錯模式

 #vi /usr/local/etc/smbftpd/smbftpd.conf    //修改設定檔內容
 DebugMode yes                    
 SSLDebugMode yes
 SSLDebugLog /var/log/smbftpd-ssl.log 

查看 Log 訊息

 #tail /var/log/smbftpd-ssl.log
 Error loading '/usr/local/etc/smbftpd/ssl.crt/server.crt': No such file or directory

問題在於此版本預設在服務啟動時一定要 載入憑證後才能啟動成功 ,關於此一問題詳細內容可參考 [請教 SmbFTPD 是否能不使用 SSL/TLS 啟動?]

Q2.啟動 smbftpd 後只有本機帳號能登入而 LDAP 帳號無法登入?

Error Meaage:

啟動 smbftpd 後只有本機帳號能登入而 LDAP 帳號無法登入

 #tail /var/log/xferlog
 Dec  5 10:59:45 filecenter ftpd[13884]: nss_ldap: reconnected to LDAP server ldap://filecenter.weithenn.org

Ans:

修改 /etc/pam.d/ftpd 讓 ftpd 服務能利用 pam_ldap 來做認證處理

 #vi /etc/pam.d/ftpd
 auth            sufficient      /usr/local/lib/pam_ldap.so              no_warn try_first_pass  //加入此行
 auth            required        pam_unix.so             no_warn try_first_pass
Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com