SAMBA伺服器的配置和管理

來源:互聯網
上載者:User


samba伺服器是linux下合windows共用檔案的一種解決方案,它可以通過wendows的近端分享來和Linux共用資料夾,將linux偽裝成一個windows在近端分享上。

那麼它是基於什麼原理實現的?

首先,我們要知道windows的近端分享實現方式,它通過以下兩個協議來實現
NETBIOS     主機名稱解析
FILE sharing
通過NETBIOS可以在近端分享上顯示出你的主機名稱,通過FILE share協議來共用檔案。

而SAMBA類比了這兩種實現方法,對應關係如下:
SMB (service message block)---- > NETBIOS
CIFS (common internet file system)----- > FILE share

下面來使用samba
(一)SAMBA伺服器的安裝,簡單配置
1.通過yum安裝SAMBA伺服器
# yum install samba

2.修改主設定檔,主設定檔位於/etc/samba/smb.cnf
# vim /etc/samba/smb.cmf
找到workgroup欄位修改為WORKGROUP
workgroup = WORKGROUP     //WORKGROUP是win能識別的近端分享使用者組
開啟netbios name 選項,將前面的;去掉
netbios name = DEANHEHIEHEI    //後面就是你在windows近端分享裡顯示的主機名稱

3.開啟samba服務,注意使用前關閉selinux,避免影響使用samba
# setenforce 0
# service samba start

4.效果如下:

但是這個時候還只能用guest帳號訪問,不能建立檔案

(二)配置一個共用的檔案夾tools,並且配置一個賬戶slockware,可以建立檔案 
1.修改主設定檔,增加欄位[tools]

# vim /etc/samba/smb.conf
[tools]
        comment = My tools # comment是注釋資訊
        path = /tools # 共用資料夾路徑,如果不存在需要手動建立
        browseable = yes # 是否允許瀏覽
        public = yes # 是否開啟來賓帳號
        write list = slockware # 指定只有slockware帳號有寫入權限

2.添加使用者slockware,建立檔案夾/tools  ,設定acl許可權
# useradd slockware
# smbpasswd -a slockware
New SMB password:
Retype new SMB password:

# mkdir /tools
# setfacl -m u:slockware:rwx /tools    //必須設定了使用者讀寫權限

3.重啟samba服務,試下效果,輸入使用者名稱和密碼後,可以在tools裡建立檔案了
# service samba restart

**4.實現使用者組mygrp的可讀寫:
增加使用者組mygrp,建立使用者gentoo,將gentoo和slockware添加到mygrp裡
# useradd gentoo
# smbpasswd gentoo
# groupadd mygrp
# usermod -aG gentoo mygrp
# usermod -aG slockware mygrp

在第1步的欄位[tools]裡,將write list修改為:
wreite list = +mygrp

修改/tools檔案夾許可權為mygrp組可讀寫
# setfacl -m g:mygrp:rwx /tools

現在,使用gentoo和slockware登陸都可以建立檔案了

其他補充:
smbpasswd 
-a   表示把此使用者加入到samba裡
-x   刪除使用者
-d   臨時性取消使用者

-e   啟用被臨時性取消的使用者

testparm      可以檢查語法錯誤

(三)linux下如何訪問samba共用資料夾
1.需要使用smbclinet命令,一般情況下,系統都預設安裝好了,首先查看伺服器上的檔案夾

smbclient -L 192.168.0.48 
Password:                       # 需要輸入密碼,直接斷行符號,進入來賓目錄
Anonymous login successful
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]

Sharename       Type      Comment
---------       ----      -------
homes           Disk      Home Directories
IPC$            IPC       IPC Service (DEANHELLO)
Server          Printer   Printing Server
想進入slockware使用者的目錄,需使用
# smbclient -L 192.168.0.48 -U slockware

2.根據看到的目錄,通過smbclinet訪問想要去的檔案夾
# smbclient //192.168.0.48/tools -U slockware
Password: 
Domain=[DEANHEHIEHEI] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]
smb: \> help              # 輸入help 可以看到能夠使用的命令,挺豐富的吧
?              altname        archive        blocksize      cancel         
case_sensitive cd             chmod          chown          close          
del            dir            du             exit           get            
getfacl        hardlink       help           history        lcd            
link           lock           lowercase      ls             mask           
md             mget           mkdir          more           mput           
newer          open           posix          posix_open     posix_mkdir    
posix_rmdir    posix_unlink   print          prompt         put            
pwd            q              queue          quit           rd             
recurse        reget          rename         reput          rm             
rmdir          showacls       setmode        stat           symlink        
tar            tarmode        translate      unlock         volume         
vuid           wdel           logon          listconnect    showconnect    
!    

如果出現如下錯誤

administrator@ubuntu:~$ smbclient //192.168.0.156/shared
Enter administrator's password: 
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME

解決方案:應該是/tools      主設定檔裡定義的[tools]那麼它對應的命令要是/tools,而不是你定義的路徑/shared

**3.通過掛載的方式來進入共用目錄
# mount -t cifs //172.16.100.1/tools /mnt -o username=slockware
Password: 
# cd /mnt
# ls
dd.txt  ss.txt

mount -o 指定使用者身份

(四)通過網頁來控制samba伺服器----samba-swat的使用
samba-swat是一個圖形化管理samba伺服器的軟體,功能非常豐富,我們現在來看看怎麼使用它
1.安裝samba-swat
# yum install samba-swat

2.修改設定檔:(samba-swat不屬於服務,它是一個非獨立守護進程,依賴於超級守護進程xinetd,xinetd管理的進程設定檔都存放在/etc/xinetd.d/目錄下)
# cd /etc/xinetd.d
# vim swat
service swat
{
        port            = 901               # 進程運行連接埠定義
        socket_type     = stream
        wait            = no
        only_from       = 192.168.0.0/24    # 指定運行訪問的網段或IP 
        user            = root  # 指定登陸使用者身份
        server          = /usr/sbin/swat   
        log_on_failure  += USERID            
        disable         = no                # 是否禁用,no開啟 
}

3.開啟swat,方式比較特殊
# service xineted start
# netstat -nltp           # 查看是否開啟901連接埠,沒有的話可能忘了設disable = no
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name       
tcp        0      0 0.0.0.0:901                 0.0.0.0:*                   LISTEN      3351/xinetd      

4.在瀏覽器裡輸入http://192.168.0.48:901  登陸管理頁面,需要注意的是root的密碼是作業系統的root密碼,所以登陸後我們要修改密碼,這樣下次登陸就是修改後的密碼,系統密碼不受影效。

點pssword標籤可以修改密碼:


首頁圖,功能很豐富,可以自己研究下

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.