2020年2月25日 星期二

[Ubuntu 18.04] SAMBA 架設


1.  安裝 samba

    sudo apt-get install samba


2.  Samba使用的TCP連接埠為139(共享檔案用),UDP連接埠為137(名稱解析用)和138(少量資料傳遞用),

    可以使用以下指令來查看Samba是否有確實安裝成功。

    sudo netstat -tulnp | grep -e '[sn]mbd'

    netstat指令可以顯示出網路連線、路由表、介面統計、偽裝連線和多播成員的資訊。

    -l參數可以只顯示正在監聽中的連線。若使用netstat指令時都沒給任何參數的話,會忽略掉監聽中的連線。

    -t參數可以只顯示TCP連線。

    -u參數可以只顯示UDP連線。

    -t參數和-u參數一起用時就表示可以只顯示TCP和UDP連線。

    -n參數可以讓IP可以直接被輸出,而不需透過DNS反查其對應的網域名稱。-p參數可以顯示佔用連線的行程。



**  ufw (UncomplicatedFirewall) 是 Ubuntu 內建用來提供給使用者快速設定防火牆的程式,

    1. 啟用和停用防火牆

    下面這一行指令會啟用防火牆功能,而且,之後的每次開機都會自動載入和啟用的,要注意的是,如果沒有特別的設定的話,ufw 在啟用後,預設是會關閉所有的連入要求的哩 !

    $ sudo ufw enable

    如果要停用的話,則是用下面這一行,一旦停用後,也會同時停止在開機後自動載入的哩 !

    $ sudo ufw disable


    2. 允許和關閉連入

    下面的第一行指令會讓所有的連入要求都通過,等於防火牆對別台電腦的連接要求都接受的意思,而第二行指令則是不允許任何的連入要求,至於要用那一種,就要看你是先全部都打開再各別設定要封鎖的服務還是全部都先關閉,然後,再依需要來個別開通囉 !

    $ sudo ufw default allow

    $ sudo ufw default deny


    3. 新增防火牆規則

    下面幾種是常用的規則新增方式,都可適用在 deny 和 allow 的操作上。

    $ sudo ufw allow ssh  ( 使用服務名稱來允許連入,服務名稱請參考 /etc/services 檔案 )

    $ sudo ufw allow  in 8080   ( 使用 Port 號來允許連入 )

    $ sudo ufw deny out 4662  ( 使用 Port 號來拒絕連出到別台電腦的指定 Port 號 )

    $ sudo ufw deny in 4662/udp ( 使用 Port 號來拒絕接受指定 Port 號的 UDP 連入要求 )



    4. 刪除規則防火牆規則

    要刪除現有的規則的話,會比較麻煩一點點,因為,為了要能精準的刪除指定規則,所以,就需要明確的指出要刪除的規則的編號是多少,因此,可以要先用下面的第一行的指令的來查詢規則的編號,然後,才能用第三行的指令方式來刪除規則哩 !

    $ sudo ufw status numbered

    $ sudo ufw delete 規則號碼



    5. 啟用日誌記錄

    如果想知道防火牆到底有沒有用或是規則有沒有達到效果的話,可以用下面的指令來啟用日誌功能,在啟用後,ufw 會把記錄寫到 /var/log/ufw.log 日誌檔。

    $ sudo ufw logging on

    6. 檢視規則和狀態

    除了前面提到的「status numbered」選項之外,ufw 還提供有下面二種選項來供查看 ufw 的規則和狀態哩 !

    sudo ufw status

    sudo ufw status verbose


3.  編輯 /etc/samba/smb.conf

    [Sam shared]         

        comment = Sam Shared Files

        path = /home/sam/SMB_share

        guest ok = no

        browseable = yes

        writable = yes


    創建 Folder

    sudo smbpasswd -a sam

    chmod -R 777 SMB_share/



4.  設定好後必須讓Samba重新載入設定檔,可以使用以下指令:

    sudo /etc/init.d/samba restart

5.  用testparm檢查Samba的設定檔是否有誤

    testparm指令可以檢查Samba的設定檔是否有誤,不需要讓Samba重啟或是重新載入設定檔。


6.  以下指令可以查看Samba的連線狀態:

    sudo smbstatus



7.  掛載SMB

    先使用以下指令安裝CIFS的工具:

    sudo apt install cifs-utils



8.  接著就可以直接使用mount指令來手動掛載SMB了。檔案系統的部份必須使用cifs,指令格式如下:

    sudo mount -t cifs -o username=使用者名稱 //IP位址/區塊[/路徑] 掛載點

    mount指令的-o參數可以是檔案系統的選項設定,可以透過username和password的設定值來指定存取CIFS所需的使用者帳號和密碼。

    不過通常我們不會把密碼直接打在指令上,如果不設定password的話,mount指令會在之後才要求使用者輸入。



    例如:

    sudo mount -t cifs -o username=MagicLen '//192.168.56.201/Users' /mnt/windows/
 
    mount -t cifs -o username=sam,password=accusys //10.10.8.155/Sam_shared  /home/sam/Samba_share

    smbclient '//10.10.8.155/SMB_share' -U sam

    如果要自動掛載的話,可以在/etc/fstab設定檔中加上如以下格式的資料:

    //IP位址/區塊[/路徑] 掛載點 cifs username=使用者名稱,password=密碼 0 0


    以下是簡單的介紹...
 
    可以先用smbclient來檢視網芳的狀況...
 
    格式 : smbclient -L //[IP|hostname] [-U username]
 
    ex..
 
    smbclient -L //127.0.0.1 -U vieriking
 
 
 
    接下來有兩種方法可以連結,一種是用類似ftp方法,另外一種就是像mount一樣...
 
 
 
    ftp方式..
 
    格式 : smbclient '//[IP|hostname]/資源名稱' [-U username]
 
    ex..
 
    smbclient '//127.0.0.1/SHARE' -U vieriking
 
    Password:
 
    Domain=[xxxxx] OS=[Unix] Server=[Samba 3.0.28a]
 
    smb: \>
 
    接下來你就可以用類似ftp的方式來讀取或寫入資料囉~~



Samba使用的TCP連接埠為139(共享檔案用),UDP連接埠為137(名稱解析用)和138(少量資料傳遞用),可以使用以下指令來查看Samba是否有確實安裝成功。
sudo netstat -tulnp | grep -e '[sn]mbd'
ubuntu-server-18-04-samba
netstat指令可以顯示出網路連線、路由表、介面統計、偽裝連線和多播成員的資訊。-l參數可以只顯示正在監聽中的連線。若使用netstat指令時都沒給任何參數的話,會忽略掉監聽中的連線。-t參數可以只顯示TCP連線。-u參數可以只顯示UDP連線。-t參數和-u參數一起用時就表示可以只顯示TCP和UDP連線。-n參數可以讓IP可以直接被輸出,而不需透過DNS反查其對應的網域名稱。-p參數可以顯示佔用連線的行程。





沒有留言:

張貼留言