1. 程式人生 > >十二、samba服務器配置和管理

十二、samba服務器配置和管理

samba、文件共享

12.1、Samba簡介

Linux和Windows是兩種無論在風格還是在技術上都完全不同的操作系統,它們是兩個對立的陣形。各自都擁有自己的用戶群和市場。但是,要實現這兩種系統之間的資源共享,則需要使用Samba。Samba采用的是C/S工作模式,通過它可以將一臺Linux系統主機配置為Samba服務器,而其他安裝和使用了SMB協議的計算機可以通過Samba服務與Linux實現文件和打印機的共享。

Samba服務的安裝可以通過yum命令安裝,也可以通過源代碼安裝,為了能夠獲取最新版的Samba軟件,可以從其官網https://www.samba.org/上下載該軟件的源代碼安裝包。

[[email protected]
/* */ home]# wget https://download.samba.org/pub/samba/stable/samba-4.6.5.tar.gz [[email protected] home]# tar xf samba-4.6.5.tar.gz [[email protected] home]# cd samba-4.6.5 [[email protected] samba-4.6.5]# ./configure [[email protected] samba-4.6.5]# make && make install [[email protected]
/* */ samba-4.6.5]# cp /home/samba-4.6.5/packaging/LSB/smb.conf /usr/local/samba/etc/ #復制配置文件 [[email protected] samba-4.6.5]# echo ‘/usr/local/samba/lib‘ >> /etc/ld.so.conf [[email protected] samba-4.6.5]# ldconfig #添加庫文件到系統 [[email protected] samba-4.6.5]# grep ‘netbios‘ /etc/services #確保文件中有這些內容 netbios-ns 137/tcp # NETBIOS Name Service netbios-ns 137/udp netbios-dgm 138/tcp # NETBIOS Datagram Service netbios-dgm 138/udp netbios-ssn 139/tcp # NETBIOS session service netbios-ssn 139/udp

啟動和關閉Samba

Samba服務器包括smbd和nmbd兩個進程,它們分別是Samba的SMB(Service Message Block)服務的守護進程和NetBIOS服務守護進程。要使Samba服務器正常運行,必須要同時啟動這兩個進程,其作用分別為:

smbd:Samba的SMB服務守護進程,使用SMB協議與客戶進行連接,完成用戶認證、權限管理和文件共享任務。

nmbd:NetBIOS名字服務的守護進程,可以幫助客戶端定位服務器和域,相當於Windows NT中的WINS服務器。

[[email protected] sbin]# /usr/local/samba/sbin/nmbd -D   #啟動Samba
[[email protected] sbin]# /usr/local/samba/sbin/smbd -D
[[email protected] samba]# ps -ef | grep nmbd             #查看進程是否啟動
root     35891     1  0 18:02 ?        00:00:00 /usr/local/samba/sbin/nmbd -D
root     35899  1305  0 18:02 pts/0    00:00:00 grep nmbd
[[email protected] samba]# ps -ef | grep smbd
root     35893     1  0 18:02 ?        00:00:00 /usr/local/samba/sbin/smbd -D
root     35894 35893  0 18:02 ?        00:00:00 /usr/local/samba/sbin/smbd -D
root     35895 35893  0 18:02 ?        00:00:00 /usr/local/samba/sbin/smbd -D
root     35897 35893  0 18:02 ?        00:00:00 /usr/local/samba/sbin/smbd -D
root     35901  1305  0 18:02 pts/0    00:00:00 grep smbd

12.2、Samba服務器基本配置

Samba的配置更改主要通過修改其主配置文件smb.conf來完成,該配置文件由全局設置和共享定義兩部分組成。文件更改後不會立刻生效,用戶需要重啟Samba服務器或執行相應的命令重載配置文件使之生效

  • smb.conf配置文件

smb.conf是Samba的主配置文件,包括全局設置和共享定義。其中全局設置定義影響整個Samba系統運行的全局選項,用於設置整個系統的規則;共享定義則是對系統中的共享資源進行定義,該部分可以由多個段組成,常見的包括:用戶主目錄段,共享目錄段和打印段,每個段中可以再定義詳細的共享選項。

全局設置選項

選項名稱說明
netbios name設置NetBIOS名稱,默認為服務器主機名
workgroup設置Samba服務器所屬的工作組名稱
server string
設置samba服務器的說明信息

interfaces

bind interfaces only

如果服務器有多個IP地址,可以使用interfaces選項把IP地址列出來。如果bind interfaces only設置為yes,則表示

Samba將綁定interfaces選項所設置的IP地址

hosts allow

hosts deny

hosts allow指定允許訪問該Samba服務器的客戶端列表

hosts deny指定拒絕訪問客戶端列表

printcap
設置[printers]段中所使用的打印機配置文件
load printers
啟用該選項後將自動共享printcap name所指定的配置文件中的所有打印機
printing
設置打印機的類型
guest account
指定samba中使用的guest帳號,默認nobody
wins server
指定wins服務器的ipdizhi或主機名
wins support
設置samba服務器是否作為wins服務器
wins proxy
設置是否啟用WINS代理功能
dns proxy設置是否啟用DNS代理功能
username map
指定用戶映射文件的位置

共享選項

共享目錄,在該段中指定了一個通過samba進行共享的目錄,定義共享目錄的各種設置。要通過Samba共享服務器上的目錄/home/samba,共享名為share,用戶對該目錄只能讀不能寫入。

[share]                        #共享目錄的共享名
   comment = For testing only  #共享目錄的說明信息
   path = /home/samba          #指定共享目錄
   read only = yes             #該共享目錄是只讀

用戶主目錄,使用[home]來標示,定義用戶對其主目錄的訪問設置。

[home]
   comment = Home Directories      #註釋信息
   browseable = no                 #不可瀏覽
   writable = yes                  #可寫
   valid users = mary fred         #有效用戶列表
   create mode =0664               #權限模式
   directory mode = 0775           #目錄模式

打印機,共享打印機是Samba服務器的常見應用,使用Samba共享打印機可以有效的節約硬件資源。

printcap name = /etc/printcap   #指定系統中打印機配置文件位置
load printers = yes             #指定自動共享/etc/printcap文件中設置打印機
printing = cups                 #指定達應急類型
[printers]
   comment = All Printers       #註釋信息
   path = /var/spool/samba      #指定打印機池
   browseable = no              #不可瀏覽
   public = yes                 #指定允許guest帳號使用打印機
   printable = yes              #允許使用該打印機打印
  • Samba用戶管理

Samba的用戶是與操作系統用戶聯系在一起,在創建Samba用戶前,必須先添加一個與之同名的操作系統用戶,但是兩者的口令可以不相同。Samba用戶通過smbpasswd命令進行管理,其命令格式為:

smbpasswd [options]  [username]

常用選項:

-h:顯示命令幫助信息

-a:添加用戶

-d:禁用某個用戶

-e:啟用某個用戶

-n:設置用戶密碼為空

-x:刪除某個用戶

用戶映射,為防止Samba用戶通過Samba帳號來猜測操作系統用戶的信息以及提供靈活的用戶管理方法,所以就出現Samba用戶映射,映射的賬戶不需要創建。實現用戶映射的方法:

1、編輯smb.conf在[global]部分添加用戶映射文件

username map = /etc/samba/smbusers

2、手工創建用戶映射文件/etc/samba/smbusers,該文件格式為:

#Samba用戶賬號 = 需要映射的賬號列表
root = administrator admin
nobody = guest
share = jim jack

3、重啟samba服務器

12.3、日誌設置

Samba的日誌默認存放在‘<Samba 安裝目錄>/var/‘目錄下,其中smbd進程日誌為log.smbd,nmbd進程日誌為log.nmbd。用戶也可以設置Samba所提供的日誌選項。在smb.conf配置文件中可以設置日誌的存放位置與格式:

log file = /var/log/samba/log.%m

其中,%m是Samba配置文件保留變量,表示客戶端的NetBIOS,常見保留變量有:

變量說明

%a

客戶端架構
%d當前服務器進程的進程號
%D
用戶的WinNT域
%G
登錄用戶的主用戶組
%H
用戶的主目錄
%h
Samba服務器的主機名
%I
客戶端的IP地址
%j
打印任務的任務號
%L
Samba服務器的NetBIOS名稱
%M
客戶端的主機名稱
%m
客戶端的NetBIOS名稱
%p打印的文件名稱
%S
當前共享的名稱
%T
當前的日期和時間
%v
Samba版本號
%$name
環境變量name的變量








本文出自 “隨風而飄” 博客,請務必保留此出處http://yinsuifeng.blog.51cto.com/10173491/1934835

十二、samba服務器配置和管理