您好,登錄后才能下訂單哦!
12.1、Samba簡介
Linux和Windows是兩種無論在風格還是在技術上都完全不同的操作系統,它們是兩個對立的陣形。各自都擁有自己的用戶群和市場。但是,要實現這兩種系統之間的資源共享,則需要使用Samba。Samba采用的是C/S工作模式,通過它可以將一臺Linux系統主機配置為Samba服務器,而其他安裝和使用了SMB協議的計算機可以通過Samba服務與Linux實現文件和打印機的共享。
Samba服務的安裝可以通過yum命令安裝,也可以通過源代碼安裝,為了能夠獲取最新版的Samba軟件,可以從其官網https://www.samba.org/上下載該軟件的源代碼安裝包。
[root@localhost home]# wget https://download.samba.org/pub/samba/stable/samba-4.6.5.tar.gz [root@localhost home]# tar xf samba-4.6.5.tar.gz [root@localhost home]# cd samba-4.6.5 [root@localhost samba-4.6.5]# ./configure [root@localhost samba-4.6.5]# make && make install [root@localhost samba-4.6.5]# cp /home/samba-4.6.5/packaging/LSB/smb.conf /usr/local/samba/etc/ #復制配置文件 [root@localhost samba-4.6.5]# echo '/usr/local/samba/lib' >> /etc/ld.so.conf [root@localhost samba-4.6.5]# ldconfig #添加庫文件到系統 [root@localhost 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服務器。 |
[root@localhost sbin]# /usr/local/samba/sbin/nmbd -D #啟動Samba [root@localhost sbin]# /usr/local/samba/sbin/smbd -D [root@localhost 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 [root@localhost 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的變量 |
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。