1. 程式人生 > 其它 >Centos配置samba

Centos配置samba

samba(windows和linux系統之間共享檔案 )

功能:windows和linux系統之間共享檔案 CIFS協議

環境:
server 192.168.100.11 desk1.uplooking.com
client 192.168.100.12 desk2.uplooking.com

埠:udp/137 udp/138 名稱解析 tcp/139 通訊會話 tcp/445 cifs

伺服器

一、檢視軟體包是否安裝

rpm -qa | grep samba

samba-common-4.4.4-9.el7.noarch 通用元件包
samba-common-tools-4.4.4-9.el7.x86_64 工具包
samba-4.4.4-9.el7.x86_64 主程式包
samba-client-4.4.4-9.el7.x86_64 客戶端軟體包 linux

yum install samba -y //安裝軟體

二、伺服器端的配置檔案

rpm -ql samba-common

/etc/samba/smb.conf //主配置檔案
/etc/samba/smb.conf.example

vim /etc/samba/smb.conf

---------------------------------------參考↓---------------------------------------------

[global] //全域性設定
workgroup = SAMBA //定義工作組
security = user //安全驗證的設定
user :需要提供使用者名稱和密碼才能訪問共享,驗證使用的是本地伺服器
share:匿名使用者,不需要提供使用者名稱和密碼直接就能訪問共享 //7已廢棄

passdb backend = tdbsam //使用者和密碼存放的格式 /var/lib/samba/private/

printing = cups //列印相關選項
printcap name = cups
load printers = yes
cups options = raw

[homes] //定義一個
comment = Home Directories //註釋,對共享的描述
valid users = %S, %D%w%S //只允許某個使用者訪問
browseable = No //不登陸就不可以檢視共享目錄
read only = No //可寫
inherit acls = Yes //繼承acl許可權

許可權控制
read only = Yes

write list = 使用者名稱 @組名 可寫列表

read only = No
read list = 使用者名稱 @組名 只讀列表

訪問控制
限制ip
hosts allow = 192.168.1. //只允許網段192.168.1.訪問
hosts deny = 192.168.2. //拒絕網段192.168.2.訪問

限制使用者
valid users = 使用者 @組名 //只允許哪些使用者訪問
invalid users = 使用者 @組名 //拒絕哪些使用者訪問

-------------------------------------參考↑--------------------------------------------

共享一個/share目錄,共享名叫sharetest,匿名使用者可寫可瀏覽
伺服器配置:

mkdir /share

chmod 777 /share

vim /etc/samba/smb.conf

[global]
        workgroup = SAMBA
        security = user
        map to guest = bad user
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
//阿里雲		smb ports = 1315 1314 #很重要,貌似阿里雲屏蔽了samba預設的埠
[sharetest]    //共享名
        comment = share test 123   //描述資訊
        path = /share    //共享檔案的路徑
        browseable = Yes    //可瀏覽
        guest ok = Yes     //允許guest使用者訪問
        read only = No     //可寫

testparm //測試配置語法

systemctl restart smb

systemctl restart nmb

三、Samba網路配置

阿里雲上配置,最重要的是要記得配置相應的埠開啟,不然外網是訪問不了的

  • 一方法是關閉防火牆
    systemctl stop firewalld.service
    setenforce 0

  • 二方法是新增規則(推薦)
    firewall-cmd --permanent --zone=public --add-service=samba
    firewall-cmd --reload

    -A INPUT -m state –state NEW -m tcp -p tcp –dport 139 -j ACCEPT
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 445 -j ACCEPT
    -A INPUT -m state –state NEW -m udp -p udp –dport 137 -j ACCEPT
    -A INPUT -m state –state NEW -m udp -p udp –dport 138 -j ACCEPT 
    -A INPUT -p tcp –dport 22 -j ACCEPT
    -A INPUT -p tcp –dport 21 -j ACCEPT
    -A INPUT -p tcp –dport 80 -j ACCEPT
    -A INPUT -p tcp –dport 443 -j ACCEPT
    -A INPUT -p icmp –icmp-type 8 -j ACCEPT
    -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
    -P OUTPUT ACCEPT
    
  • 埠轉發
    由於我使用的阿里雲,阿里雲的445埠被遮蔽了,即使你在阿里雲端開放了該埠也無效果,所以需要開放其他埠,並在Windows端進行埠轉發。

//Windows
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=445 connectaddress=你的伺服器地址 connectport=你的埠例如1314

netsh interface portproxy show all  #命令檢視埠轉發是否成功。
  • 關閉SELINUX
    setenforce 0

四、新增使用者登入(samba使用者)

pdbedit -a username(這裡要是你本機以有的使用者如:root)

[root@iZuf6dnzy9ygt2sur8q2iuZ /]# pdbedit -a root
new password:
retype new password:
Unix username:        root
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-6561631652-1627451568-1611045335-1000
Primary Group SID:    S-1-5-21-6561631652-1627451568-1611045335-513
Full Name:            root
Home Directory:       \\aaaaaaaaa\root

之後會讓你輸入新建使用者的密碼

pdbedit -L   顯示已存在的使用者

新增samba使用者提示 Failed to add entry for user.

這是因為沒有加相應的系統賬號,只需增加相應的系統賬號就可以了

(samba使用者名稱=系統賬號)

測試本地掛載

mount -t cifs -o username=username,password=123456,port=1314 //ip/sharetest /掛載目錄

windows客戶端:

在位址列輸入:\伺服器的ip地址
以後想直接訪問共享--->在共享資料夾上右鍵-->對映為網路驅動器-->選擇驅動器R:-->\伺服器的ip地址\共享名-->完成

例: \ip\sharetest

測試:把windows的檔案拷貝到共享目錄 如可以拷貝表示成功

1.共享一個/smbtest目錄,共享名叫test,samba伺服器提供三個smb使用者,分別是smb1~smb3,smb1和smb2使用者可寫,smba3只能讀和瀏覽,並且只允許192.168.100.11訪問