
如果使用者連接到 samba 伺服器,則可以使用部分include = /somepath/%u.smb.conf
中的global
來呼叫腳本。 不幸的是,這對我來說並不適用,因為總是給我/somepath/cb0.smb.conf
cb0
testparm
Can't find include file /somepath/.smb.conf
當我連接到伺服器時,我可以輸入用戶名並通過,但它總是拒絕連接。
我使用的是 Samba 版本 3.2.5
如何根據正在連線的使用者載入自訂使用者腳本?
答案1
你做對了!但是,testparm
只是沒有用於測試的用戶名。
答案2
方法 1. 如果您無法使用 samba,請安裝失敗2Ban-- 日誌檔案監控和安全套件(大多數 Linux 發行版軟體管理系統都提供軟體套件) -- 然後設定 Fail2Ban 來監視登入行的 samba 日誌,將要偵測的行數設為 1,並將操作設為一個腳本,它將在登入時執行您想要執行的任何操作。要完成所有這些,您需要編輯 /etc/fail2ban 下的文件,並熟悉正規表示式和需要監視的日誌檔案。
這不會像與 samba 整合的腳本那樣乾淨。例如,它可能不會同步到使用者登入的確切時刻。
方法 2. 同樣,沒有我們希望的那麼乾淨。設定您的 samba 為每個連線產生一個日誌檔案。建立名為「unprocessed」和「processed」的目錄,並設定 samba 將每個連接的日誌檔案轉儲到「unprocessed」目錄。編寫一個 cron 作業或循環腳本(可能在迭代之間休眠 1 或 2 秒)來循環未處理目錄中的檔案並執行您需要執行的任何操作,然後將它們轉移到已處理目錄。
如果您更詳細地描述您想要做什麼,其他人可能可以幫助您。