酷!學園
技術討論區 => Linux 討論版 => 主題作者是: ting168 於 2015-07-22 10:00
-
請教各位高手
小弟有一台CentOS 6.0 server
小弟想要將整個月所有使用者登入登出次數時間
匯出或MAIL
請問要怎麼寫SHELL SCRIPT
謝謝!!
-
lastlog?
-
要整個月的所有使用者登入登出次數&時間
-
你要哪種東西的登入記錄?
-
Sorry !! SAMBA FTP SSH
-
您這問題 ... 非常難耶
寫完一疊 A4 的申論題等級
小弟當下就有三種方向 ..
1. 分析 log
samba 的 log 有點難度 , 但可自行定義 log 記錄到多詳細 , 多精簡
但仍不完善 .. 如小弟家使用網路磁碟掛載 , log 只為歸類個人歌單排行榜
如此只有一次登入紀錄 , 而連續相同動作 , 一定時間內也只有一筆記錄
而 ftp 抓一個檔案 , data-port 就是一個 session
使用不同 client , 是否多線程等 , 也可能有不同現象 (還有什麼智慧暫線功能的)
ssh log 就沒什麼問題
2. 認證主機
ldap + radius ... 統一也較正規
對小弟而言 samba 要整合 ldap 也有一定難度
3. 抓封包
a. 找如 sniffer 之類 , 就當紀錄偷帳密成功幾次 , ssh scp sftp 加密無效
b. 簡易使用 iptables output 可以指定 uid 做 log , 但非系統帳號無效 , 帳號很多也麻煩 ...
有了記錄資訊 , 才能判斷格式 , 思考如何歸類
輸出成檔案才能想怎麼 mail ... , 何時執行 ...
-
您好
感謝您的熱心回答
不用太複雜
那如果只要SAMBA 所有使用者的登入時間 登出時間及次數
小弟不才 ,煩請指點!!
-
將使用者認證轉換成 DB 後
就可以「輕鬆」的從資料庫下 SQL 語法查詢了
-------------
想像中的作法
-
將使用者認證轉換成 DB 後
就可以「輕鬆」的從資料庫下 SQL 語法查詢了
很讚的想法
但實際要怎麼做......
這對我來說太難了
-
將使用者認證轉換成 DB 後
就可以「輕鬆」的從資料庫下 SQL 語法查詢了
-------------
想像中的作法
這句話倒有兩種 ..
一般如 ldap , 是有模組可以使用 mysql
... 既然是想像中 , 該不會是使用者認證 "這動作" 轉換成 DB "r/w動作" ?
小弟倒曾經試驗過 , 同時使用多個 db , 系統(linux/ms) , 自訂條件 ... 做服務
當多個 db 或系統同時有 dark 帳號時 , 返回順序可以針對 .. 密碼 , 資料庫 , 來源ip , 使用習慣 ...
這可達到多人帳號相同卻不衝突 , 個人不同密碼自動轉向服務
當時是想能不能寫一套程式賺錢 , 寫完後發覺自己維護不來 ... 看程式比寫程式難
若是這邏輯 , 須先選定一種正規認證協定統合所有 service (ldap 模組最全)
再偷改他 mysql 模組 ...
過程中對小弟而言 , 難度最大的卻是 samba 整合 ldap ... 陰影阿
不用太複雜
那如果只要SAMBA 所有使用者的登入時間 登出時間及次數
您決定使用哪種方向 , 取得哪種紀錄格式了 ?
您簡短的回覆 ... 很複雜喔
-
當然也不是 100% 想像 ...
之前有將 vsftpd 轉為 MySQL 的使用認證: http://hoyoblog.hoyo.idv.tw/hoyo/310.html
不過因為 samba 和 ssh 沒測試過,才不敢斷定是否有相同功能
如果都可以將使用者認證轉到資料庫,那就可以 「單一使用者帳號」及「網頁維護」方便很多
----------
問我為什麼沒測試 .... 我一個人用 samba 和 ssh 都馬是用 root
根本就沒想過要去測試這種東西啊 = ="
-
如果是 login 的動作,看看 PAM 是否有相關的module可以用 (e.g. loginuid.so)?
但SAMBA的使用大都是file sharing,基本上不算是"登入",不好統計...
-
如果是 login 的動作,看看 PAM 是否有相關的module可以用 (e.g. loginuid.so)?
但SAMBA的使用大都是file sharing,基本上不算是"登入",不好統計...
SAMBA不是也要登入才能有file sharing權限 ?
-
您決定使用哪種方向 , 取得哪種紀錄格式了 ?
您簡短的回覆 ... 很複雜喔
用LDAP整合SAMBA 再轉到MySql
我對LDAP整合SAMBA 一竅不通
網路上有人整合起來 http://benjr.tw/27775 (http://benjr.tw/27775)
不知這樣可行嗎?
-
如果是 login 的動作,看看 PAM 是否有相關的module可以用 (e.g. loginuid.so)?
但SAMBA的使用大都是file sharing,基本上不算是"登入",不好統計...
SAMBA不是也要登入才能有file sharing權限 ?
這取決於security跟share的設定,比方說guest ok的分享就不一定有auth的需求。
再者,samba的驗證取決於第一次的mount,一但mount好了,之後的access是不會有auth log的。
最討厭的是,samba的log file 格式是 log.%m,也就是根據不同的machine產生不同的log,你不容易一下子全部統計所有的auth...
-
ldap 的功用 , 只是將使用者資訊存在一個服務中
讓多台機器可使用網路協定做認證
所以 samba 整合 ldap , 只會在問到 "這帳號密碼權限對不對" 時
才有這連線產生
雖沒去注意過 ldap 的 log , 但關於 user 部分 , 理當只會有認證成功/失敗的紀錄
所以一般提供服務須計時 , 大多是 ldap + freeradius
另外 , 規劃時要注意 samba 帳號跟分配的 uid 權限是兩回事
而網大所提的 .. 不同來源會分開 log 紀錄 , 可能在 smb.conf 有機會指定同一個檔案
我也是分開檔案 log file = /var/log/samba/%m.log (試試看全指向 all.log 吧)
若使用 samba 簡易 log , 連線成功可以有 pid , 但連線結束沒有 ... 無從比對 (想辦法常駐監視連線)
但使用詳細 log (關鍵字 full_audit) , 你可記錄 open read write 等動作
同一 IP 時間超過 n 分鐘沒 log 就算一次連線 (假設性 , 無法避免這誤差)
不過看你登入與貼文時間推測 ... 您這需求是工作上要的
那有些 firewall 可以記錄到這類資訊 , 或看看有沒有 ips 功能
-
有錢就找splunk
-
500m以下用爽爽
-
你用 SAMBA FTP SSH 這三個分別登入主機, 然後去找 message 裡面寫了什麼關鍵字
grep "2015-7" message | grep "ssh-keyword" >> /tmp/2015-7.log
grep "2015-7" message | grep "samba-keyword" >> /tmp/2015-7.log
grep "2015-7" message | grep "ftp-keyword" >> /tmp/2015-7.log
mail -s "2015-7 login log" < /tmp/2015-7.log
這樣是否可行?