linux samba 服務配置及日誌管理

2012-01-16 
 
安裝samba共需3個rpm包 
 samba-common-3.0.23c-2.i386.rpm
 samba-3.0.23c-2.i386.rpm
 samba-client-3.0.23c-2.i386.rpm
安裝時按順序安裝即
rpm -ivh  samba-common-3.0.23c-2.i386.rpm
rpm -ivh  samba-3.0.23c-2.i386.rpm
rpm -ivh samba-client-3.0.23c-2.i386.rpm
安裝完畢
samba共享文件夾即權限配置
path = /public   共享文件夾的路徑
writable = yes   可寫
public = yes
browseable = yes 可見
valid users = test  有效用戶
wirte users = test   可寫入的用戶
create mode = 0775
directory mode = 0775
force user = root
force group = users
samba訪問日誌
samba訪問日誌默認是放在 /var/log/samba文件夾下的samba給每一個客戶端建立一個日誌文件,文件名稱爲客戶端的主機名或客戶端的ip。
默認狀況下samba只記錄客戶端訪問samba和斷開samba的時間不記錄客戶端的操做若想 記錄客戶端的具體操做添加
log level=10
 
******************************************************************************************
inotify監控samba文件系統腳本
2011-06-15
 
因對samba目錄下有監控需求,因此最近都在研究,但網上都找不到比較好的samba監控軟件,沒有辦法對目錄下的文件操做進行監控。
swat只能夠對當下的samba鏈接用戶和IP進行監控,但沒有日誌功能,最終決定用inotify來進行監控。
 
整個腳本的思路以下:
1.利用inotifywait對目錄進行監控,並對相關操做進行日誌記錄。
2.利用inotifywait對日誌文件進行監控,一有改變,掃描當時經過smbd進行鏈接的IP地址。
3.設置smb.conf中的全局設置,關閉60分鐘內不打開任何文件的鏈接,
    由於若是有系統經過記錄密碼來鏈接samba服務器,就算重啓服務器或客戶端,都會自動重連,這樣在掃描鏈接IP時就會出現不少其它鏈接信息,影響準確性。
    deadtime=60
 
 
腳本1
(主要是經過inotify對指定目錄進行監控)
 
#!/bin/bash
#監控本機目錄文件的改變,並寫入log文件。
 
pwdpath=$(pwd)      #取得當前目錄
logpath=$pwdpath'/inotify.log'
inopath='/home/7ffile/'         #監控目錄
 
#只對監控目錄中的移動、新建、刪除事件進行記錄
$(inotifywait -rme move,create,delete \
        --timefmt '%Y-%m-%d %H:%M:%S' \
        --format '%T %w %Xe %f' \
        --exclude '\..*' \
        $inopath >> $logpath)
 
=========================================
腳本2
(主要是監控日錄文件進行IP鏈接掃描)
 
#!/bin/bash
#若是inotifywait有記錄寫入log,就須要掃描當時經過smbd鏈接的IP並記錄下來,往後進行交叉查詢。
 
 
pwdpath=$(pwd)
logpath=$pwdpath'/inotify.log'
logippath=$pwdpath'/inotifyip.log'
ipmacinfo='/mnt/temp_ipmac'
 
while inotifywait -e modify $logpath
do
        dates=$(date +%Y-%m-%d' '%H:%M:%S)      #設置準確時間
 
        if tail -n1 $logpath | grep DELETE;then         #出現刪除時掃描鏈接IP
                #對lsof顯示出來信息進行篩選後得出此時鏈接的IP地址
                arrayip=($(lsof | grep smbd | grep 192.168. \
                        | awk '{print $8}' \
                        | awk -F\> '{print $2}' \
                        | awk -F: '{print $1}'))        
                
                echo $dates'監控目錄文件刪除時有以上IP地址經過smbd鏈接。' >> $logippath
        fi
done
 
 
最後經過inotify.log和inotifyip.log的交叉查詢,就能夠查出當監控目錄有文件刪除時,經過samba鏈接有哪些IP地址。
 
--------------------------------------------------------
安裝samba
                             sudo apt-get install samba
                   2,,檢查安裝是否成功
                          sudo dpkg -l samba*
                   3,  建立共享目錄:
                          mkdir /home/komy/share
                         sudo chmod 777 /home/komy/sha
                   4, 建立Ubuntu Samba配置文件:
                            1. 保存現有的配置文件
                                        sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
                             2. 修改現配置文件
                                       sudo gedit /etc/samba/smb.conf
                                       在smb.conf最後添加
                                       [share]
                                      path = /home/komy/share
                                      available = yes
                                      browsealbe = yes
                                       public = yes
                                       writable = yes
                       重啓服務
                                    sudo /etc/init.d/smbd restart
 
-----------------------------------
ubuntu訪問windows共享文件夾:
打開一個文件夾,按 Ctrl+L,而後地址欄敲smb://xxx.xxx.xxx.xxx(windows主機IP地址)便可。
 
-------------------------------------------------------------------------------------------------

Samba共享權限問題 -- 讓XBT其它用戶隨意讀寫文件 

[xbt_cfec]
    path = /home/huapox/xbt_cfec_share
    available = yes
    browsealbe = yes
    public = yes
    writable = yes
    create mask = 777
    directory mask = 777
    force create mode = 777
    force directory mode = 777
----------------------------------
附:
1.umask指定的是「該默認值須要減掉的權限」。由於r、w、x分別是四、二、1,因此。也就是說,當要去掉能寫的權限,就是輸入2,而若是要去掉能讀的權限,也就是4
 
2.umask爲022,因此user並無被去掉屬性,不過group與others的屬性被去掉了2(也就是w這個屬性)
 
3. 設置當前用戶的文件可被其它用戶讀寫:umask 000 加入到$home/~/.profile 

屬主的權限用數字表達:屬主的權限是rwx,也就是4+2+1,應該是7; ubuntu

屬組的權限用數字表達:屬組的權限是r-x,也就是4+0+1,應該是5; windows

其餘用戶的權限數字表達:其餘用戶權限是t-x,也就是4+0+1,應該是5。bash

 

因此整個文件的權限用八進制描述就是755。服務器

八進制語法的數字說明
單個權限 對應八進制數字
R 4
W 2
X 1
- 0
相關文章
相關標籤/搜索