功能介紹:
Samba(SMB是Server Message Block其縮寫) 是一個網絡服務器,用於Linux和Windows共享文件之用.Samba即可以用於Windows和Linux之間的共享文件,也一樣用於Linux和Linux之間的共享文件,不過對於Linux和Linux之間共享文件有更好的網絡文件系統NFS,NFS也是需要架設服務器的.大家知道在Windows 網絡中的每臺機器即可以是文件共享的服務器.Samba 也一樣能行,比如一臺Linux的機器,如果架了Samba Server後,它能充當共享服務器,同時也能做爲客戶機來訪問其它網絡中的Windows共享文件系統,或其它Linux的Sabmba 服務器.我們在Windows網絡中,看到共享文件功能知道,我們直接就可以把共享文件夾當做本地硬盤來使用.在Linux的中,就是通過Samba的向網絡中的機器提供共享文件系統,也可以把網絡中其它機器的共享掛載在本地機上使用.這在一定意義上說和FTP是不一樣的,Samba是用的NETBIOS協議。
守護進程:
SMB是Samba 的核心啓動服務,主要負責建立 Linux Samba服務器與Samba客戶機之間的對話, 驗證用戶身份並提供對文件和打印系統的訪問,只有SMB服務啓動,才能實現文件的共享,監聽139 TCP端口。
NMB服務是負責解析用的,類似與DNS實現的功能,NMB可以把Linux系統共享的工作組名稱與其IP對應起來,如果NMB服務沒有啓 動,就只能通過IP來訪問共享文件,監聽137和138 UDP端口。
安裝軟件:
yum -y install samba
配置文件:
vi /etc/samba/smb.conf
workgroup = WORKGROUP //工作組
server string = Samba Server %v //備註信息
netbios name = Samba Server //NetBios名字
interfaces = lo 192.168.1.128/24 //Samba服務IP
hosts allow = 127. 192.168.1. //白名單,允許訪問的IP
security = share //運行級別:share,user,domain,server
log file = /var/log/samba/log.%m //日誌文件存放處
共享參數:
#=====================================ShareDefinitions=====================================
[PlutoSamba] //共享名
comment = Pluto Samba Service //備註信息
path = /Pluto //目錄路徑
browseable = yes/no //讀取
writable = yes //寫入
write list = @samba,kimi //允許寫入該共享的用戶或組
available = yes/no //執行
guest ok = yes/no //匿名訪問
public = yes/no //意義同“public”
admin users = root,king //該共享的管理者
valid users = @samba //允許訪問該共享的用戶或組
invalid users = @sale,@technology //禁止訪問該共享的用戶或組
Samba安裝好後,使用testparm命令可以測試smb.conf配置是否正確。使用testparm –v命令可以詳細的列出smb.conf支持的配置參數
==========================================實例===========================================
需求:1. 在系統分區時單獨分一個Samba的區,在該區下有以下幾個文件夾:HR、 FM和Share。在Share下又有以下幾個文件夾:HR、FM和Tools。
2. 各部門對應的文件夾由各部門自己管理,Tools文件夾由管理員維護。
3. HR管理員賬號:hrroot;普通用戶賬號:hruser。FM管理員賬號:fmroot;普通用戶賬號:fmuser。
[root@pluto /]# useradd -s /sbin/nologin hrroot
[root@pluto /]# useradd -g hrroot -s /sbin/nologin hruser
[root@pluto /]# useradd -s /sbin/nologin fmroot
[root@pluto /]# useradd -g hrroot -s /sbin/nologin fmuser
[root@pluto /]# useradd -s /sbin/nologin smbroot
[root@pluto /]# smbpasswd -a hrroot
New SMB password:
Retype new SMB password:
Added user hrroot.
[root@pluto /]# smbpasswd -a hruser
New SMB password:
Retype new SMB password:
Added user hruser.
[root@pluto /]# smbpasswd -a fmroot
New SMB password:
Retype new SMB password:
Added user rom.
[root@pluto /]# smbpasswd -a fmuser
New SMB password:
Retype new SMB password:
Added user ram.
[root@pluto /]# smbpasswd -a smbroot
New SMB password:
Retype new SMB password:
Added user smbroot.
[root@pluto /]# mkdir /Samba/pluto
[root@pluto /]# cd /Samba/pluto
[root@pluto pluto]# mkdir HR FM Share
[root@pluto pluto]# cd Share/
[root@pluto Share]# mkdir HR FM Tools
[root@pluto ~]# vi /etc/samba/smb.conf
security = user
[HR]
comment = This is a directory of HR.
path = /Samba/pluto/HR
public = no
admin users = hrroot
valid users = @hrroot
writable = yes
create mask = 0750
directory mask = 0750
[FM]
comment = This is a directory of FM.
path = /Samba/pluto/FM
public = no
admin users = fmroot
valid users = @fmroot
writable = yes
create mask = 0750
directory mask = 0750
[Share]
comment = This is a directory of Share.
path = /Samba/pluto/Share
public = no
valid users = smbroot,@hrroot,@fmroot
writable = yes
create mask = 0755
directory mask = 0755
:wq!