Centos7下Samba服務器配置(實戰!)

Samba概述

Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議,它爲局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統、打印機及其他資源。通過設置“NetBIOS over TCP/IP”使得Samba不但能與局域網絡主機分享資源,還能與全世界的電腦分享資源。

一,Samba共享服務的匿名訪問

1,安裝Samba服務

[root@localhost ~]# yum install samba -y  ##安裝Samba服務

2,配置Samba配置文件信息

[root@localhost ~]# cd /etc/samba/    ##切換到Samba配置文件目錄
[root@localhost samba]# mv smb.conf smb.conf.bak   ##備份
[root@localhost samba]# grep -v "#" smb.conf.bak > smb.conf   ##重新創建一個配置文件(除去註釋的)
[root@localhost samba]# vim smb.conf    ##修改配置文件

[global]                                     ##全局
                workgroup = SAMBA
                security = user

                passdb backend = tdbsam

                printing = cups
                printcap name = cups
                load printers = yes
                cups options = raw
                map to guest = Bad User     ##添加此項,開啓匿名用戶訪問
##大G到末行添加下面的配置信息
[myshare]                                     ##添加的share文件
                path=/opt/abc                       ##路徑
                public=yes                            ##公共訪問
                browseable=yes                   ##能夠訪問
                writable=yes                         ##寫權限
                create mask=0644               ##設置權限
                directory mask=0755

3,創建myshare路徑目錄,並給權限

[root@localhost samba]# mkdir /opt/abc      ##創建目錄
[root@localhost samba]# chmod 777 /opt/abc   ##給全部權限
[root@localhost samba]# systemctl stop firewalld.service   ##關閉防火牆
[root@localhost samba]# setenforce 0    ##關閉增強功能
[root@localhost samba]# systemctl start smb.service   ##開啓Samba服務

4,利用測試機訪問

利用測試機訪問共享

Centos7下Samba服務器配置(實戰!)

查看共享文件夾

Centos7下Samba服務器配置(實戰!)

創建一個文件到共享文件夾中

Centos7下Samba服務器配置(實戰!)

在Linux中查看創建的文件

[root@localhost samba]# cd /opt/abc/   ##查看共享文件目錄,查看到創建的文本
[root@localhost abc]# ls
111.txt
[root@localhost abc]# ls -l     ##Linux的匿名訪問用戶是nobody
總用量 0
-rw-r--r--. 1 nobody nobody 0 11月  5 15:51 111.txt

二,Samba共享服務的身份驗證

1,配置Samba配置文件信息

[root@localhost ~]# cd /etc/samba/    ##切換到Samba配置文件目錄
[root@localhost samba]# vim smb.conf    ##修改配置文件

[global]
                workgroup = SAMBA
                security = user

                passdb backend = tdbsam

                printing = cups
                printcap name = cups
                load printers = yes
                cups options = raw   ##將匿名訪問的一項刪除
##大G到末行添加下面的配置信息
[test]
                path=/opt/test         ##共享文件目錄路徑
                browseable=yes     ##能夠訪問,將public項去除
                create mask=0644
                directory mask=0755
                valid users=zhangsan, lisi      ##允許訪問的用戶
                write list=zhangsan                ##允許寫入的用戶

2,創建smb用戶

[root@localhost samba]# useradd zhangsan      ##創建兩個用戶
[root@localhost samba]# useradd lisi
[root@localhost samba]# smbpasswd -a zhangsan   ##創建smb用戶並設置密碼
New SMB password:       ##設置密碼
Retype new SMB password:     ##確認密碼
Added user zhangsan.
[root@localhost samba]# smbpasswd -a lisi
New SMB password:
Retype new SMB password:
Added user lisi.
[root@localhost samba]# pdbedit -L    ##列出smb用戶列表
zhangsan:1001:
lisi:1002:
[root@localhost samba]# cd /opt/    
[root@localhost opt]# mkdir test    ##創建共享目錄
[root@localhost opt]# ls
abc  rh  test
[root@localhost opt]# chmod 777 test/   ##給最大權限
[root@localhost opt]# systemctl restart smb.service   ##重啓Samba服務

3,用測試機訪問共享

爲了避免錯誤可以先在測試上清除緩存

Centos7下Samba服務器配置(實戰!)

利用測試機訪問共享

Centos7下Samba服務器配置(實戰!)

需要身份驗證,輸入用戶名密碼

Centos7下Samba服務器配置(實戰!)
Centos7下Samba服務器配置(實戰!)

創建一個文件到test共享文件夾中

Centos7下Samba服務器配置(實戰!)

在Linux中查看創建的文件

[root@localhost opt]# cd /opt/test/
[root@localhost test]# ls    ##創建成功
222.txt

4,因爲在配置文件中只允許zhangsan寫入權限,測試lisi能否寫入

用lisi訪問共享

Centos7下Samba服務器配置(實戰!)

測試創建文件

Centos7下Samba服務器配置(實戰!)

三,Samba共享服務的賬戶名映射(賬戶別名登錄)

1,配置映射文件和Samba配置文件

[root@localhost ~]# cd /etc/samba/
[root@localhost samba]# vim smbusers    ##創建賬戶映射配置文件

zhangsan = t01 t02   ##別名t01 t02 密碼還是zhangsan用戶的密碼

[root@localhost samba]# vim smb.conf   ##配置Samba配置文件

[global]
                workgroup = SAMBA
                security = user

                passdb backend = tdbsam

                printing = cups
                printcap name = cups
                load printers = yes
                cups options = raw
                username map = /etc/samba/smbusers    ##添加別名的配置文件路徑

[root@localhost samba]# systemctl restart smb.service   ##重啓Samba服務

2,用測試機測試別名訪問

使用別名登錄

Centos7下Samba服務器配置(實戰!)
Centos7下Samba服務器配置(實戰!)

四,Samba共享服務的訪問控制列表

1,配置Samba配置文件信息

[root@localhost ~]# cd /etc/samba/    ##切換到Samba配置文件目錄
[root@localhost samba]# vim smb.conf    ##修改配置文件

[test]
    path=/opt/test
    browseable=yes
    create mask=0644
    directory mask=0755
    valid users=zhangsan, lisi
    write list=zhangsan
    hosts deny=192.168.13.    ##添加拒絕192.168.13段訪問test
[root@localhost samba]# systemctl restart smb.service   ##重啓Samba服務

2,用測試機訪問test共享文件夾

Centos7下Samba服務器配置(實戰!)

五,通過Windows共享文件夾直接掛載到Linux中使用

1,利用Linux訪問Windows共享的文件

[root@localhost ~]# smbclient -L //192.168.100.99/share    ##訪問共享 
Enter SAMBA\root's password:                               ##密碼

2,將共享的文件掛載到Linux中,直接訪問文件

[root@localhost ~]# mkdir -p /opt/share01   ##創建掛載點
[root@localhost ~]# mount.cifs //192.168.100.99/share /opt/share01   ##將共享文件夾掛載到掛載點
Password for root@//192.168.100.99/share:  
[root@localhost ~]# cd /opt/share01    ##切換到掛載點
[root@localhost share01]# ls
test.txt
[root@localhost share01]# cat test.txt    ##查看共享文件夾的文件內容
this is a test!!

(Windows具體共享設置查看之前的博客,謝謝!!)

謝謝閱讀!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章