Samba服務配置及配置文件說明


前言

1、配置Samba服務為什么要關閉防火牆(firewalld)和Selinux?

在linux操作系統中默認開啟了防火牆,Selinux也處於啟動狀態,一般狀態為enforing;所以,在我們搭建任何服務(每個服務都有自己的端口),由於防火牆和Selinux的存在導致服務的端口被攔截了,雖然可以用命令查看服務的監聽端口,任然會訪問不到自己搭建的服務!

2、關閉防火牆和Selinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
 //關閉防火牆開機自啟

[root@localhost ~]# vim /etc/selinux/config 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing              //將enforcing換成disabled
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
 [root@localhost ~]# setenforce 0        //臨時關閉selinux,也可以重啟(永久生效)
[root@localhost ~]# getenforce            //與setenforce是一對,這個是查看selinux是否生效
Permissive

一、Samba服務

1、Samba服務介紹

1️⃣:服務全稱:Samba — SMB(Server Message Block服務器消息塊--微軟研發   CIFS)

2️⃣:服務功能:為網絡(局域網)中客戶機(Linux/Windows)提供文件和目錄資源共享

3️⃣:服務模式:C/S 客戶機服務器模式

4️⃣:模式的特點:服務的提供就需要在服務器端運行服務端程序,服務的訪問則需要在客戶機端運行客戶端程序

5️⃣:服務客戶端程序

  Linux:smbclient(查看共享、訪問共享)    mount.cifs == mount -t cifs

  Windows:GUI-資源管理器(查看、訪問)  映射網絡驅動器

2、Samba服務相關軟件包

1️⃣:服務軟件包:samba

2️⃣:服務進程名:smbd(核心) 和 nmbd

  smbd:提供文件和目錄共享,以及身份驗證(默認情況下,是基於IP地址的訪問共享)

  nmbd:提供客戶端通過服務器主機名的方式訪問共享

3️⃣:服務端口號:

  TCP:139和445(smbd)    tcp端口相對應的服務是smbd服務,其作用是提供對服務器中文件、打印資源的共享訪問

  UDP:137和138(nmbd)   udp端口相對應的服務是nmbd服務,其作用是提供基於NetBIOS主機名稱的解析

3、Samba服務配置文件

1️⃣:服務配置主文件:/etc/samba/smb.conf (包括全局配置、共享配置[用戶目錄及打印機共享、自定義共享])

2️⃣:服務管理腳本文件:/etc/rc.d/init.d/smb  | nmb

3️⃣:技術手冊:/usr/share/doc/samba-版本號(直接Tab兩下查看)

4、Samba主配置文件中相關參數介紹

1️⃣:SAMBA安全級別

  share:匿名訪問,即客戶端訪問共享時不必輸入用戶名和密碼,較為常用

  user:(默認)基於身份認證訪問,即客戶端訪問共享時必須輸入正確的用戶名和密碼,較為常用

  server:使用指定主機進行身份驗證。即基於遠程主機完成認證的訪問

  domain:使用指定域控制器進行身份驗證。即基於遠程主機完成認證的訪問

2️⃣:配置文件中規則:

  #號開頭的行為注釋行

  ;號開頭的行為備用設置參數,需要啟用時,刪除分號

  設置參數的方式為  參數 = 值 (等於號前后各有一個空格)

  可采用縮進功能,僅使文檔清晰

3️⃣:常用參數及意義

  workgroup = MYGROUP            //工作組名稱  

  server string = qiangge Samba Server      //服務器描述

  netbios name = SMBSERVER1            //SAMBA服務NETBIOS名,可與hostname不同

  interfaces = lo eth0 192.168.12.2/24   192.168.13.2/24             //提供服務的接口,可寫接口名,IP地址等

  hosts allow = 127. 192.168.12. 192.168.13.                   //允許訪問服務的客戶端,可寫網絡號,主機IP地址等

  log file = /var/log/samba/log.%m          //以每一個客戶機建立一個獨立的日志文件,%m代表以客戶機主機名或IP地址為文件名的組成部分

  max log size = 50            //日志文件的大小,單位默認為KB

  security = user

    share:匿名訪問,即客戶端訪問共享時不必輸入用戶名和密碼,較為常用

    user:基於身份認證訪問,即客戶端訪問共享時必須輸入正確的用戶名和密碼,較為常用

    server:使用指定主機進行身份驗證。即基於遠程主機完成認證的訪問

    domain:使用指定域控制器進行身份驗證。即基於遠程主機完成認證的訪問

  passdb backend = tdbsam         //SAMBA用戶密碼數據庫文件 

5、關於共享目錄的說明

[shared_name]                                         [共享資源的共享名稱]           //共享目錄名稱是客戶端訪問共享時所用的名稱,建議與物理目錄名稱不同更安全

comment = Comment String                    共享文件描述
* path = /path/to/share_directory              共享文件的絕對路徑
allow hosts = host(subnet)                       允許訪問此共享資源的主機列表
deny hosts = host(subnet)                       禁止訪問此共享資源的主機列表
* writable = yes|no                                   是否有寫權限
* browseable = yes|no                             是否瀏覽權限(yes為可見共享,no為隱藏共享)
user = user(@group)                               設置所有可能使用該共享資源的用戶列表
valid users = user(@group)                     指定能夠使用該共享資源的用戶和組列表
invalid users = user(@group)                  指定不能夠使用該共享資源的用戶和組
read list = user(@group)                         設置能夠讀取該共享資源的用戶列表
write list = user(@group)                         設置對該共享資源具有寫權限的用戶列表
admin list = user(@group)                       設置對共享資源具有管理權限的用戶列表
* public = yes|no                                      指明該共享資源是否能給游客帳號訪問
guest ok = yes|no                                    與public相同
hide dot files = yes|no                             是否隱藏以“.”號開頭的文件
create mode = 0755                                指明新建立的文件的屬性,一般是0755
directory mode = 0755                            指明新建立的目錄的屬性,一般是0755
sync always = yes|no                              指明寫操作后是否進行同步操作
short preserve case = yes|no                  指明忽略文件名大小寫
preserve case = yes|no                           指明保持文件名大小寫
case sensitive = yes|no                           指明是否對大小寫敏感
mangle case = yes|no                             指明混合大小寫
default case = upper|lower                      指明缺省的文件名是全部大寫還是小寫
force user = lt                                          強制指定建立文件的屬主是誰
wide links = yes|no                                  指明是否允許共享外符號連接
max connections = 100                           設定同時連接數是n
delete readonly = yes|no                         指明能否刪除已經被定義為只讀的文件

root preexec = /bin/mount -t iso9660 /dev/cdrom /mnt/cdrom           自動掛光驅
root postexec = /bin/umount /mnt/cdrom                                           自動

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM