Linux7.4成家記-共享Samba服務(wù)器搭建(一)

背景:又到了幾年一次的設(shè)備更新時間了,這次淘汰下了Mac mini,一個小主機,雖然跑一些性能的應(yīng)用比較吃力,但棄之不用還是比較浪費,靈機一動,何不把它改造成一個家庭的服務(wù)器托管中心呢,重新安裝了Centos 7.4的系統(tǒng),接下來就是各種折騰了。

一、安裝Samba服務(wù)

什么是Samba服務(wù)?簡單來說就是類似于Windows上的網(wǎng)上鄰居,通過它可以實現(xiàn)多種設(shè)備訪問Linux系統(tǒng)共享的資源,Samba的安裝非常簡單,只需一個命令即可。

yum -y install samba samba-client samba-common

Samba服務(wù)安裝后,會生成配置文件目錄 /etc/samba,其中/etc/samba/smb.conf是它的核心配置文件,/usr/lib/systemd/system/smb.service是它的啟動/關(guān)閉文件。

二、Samba服務(wù)的組成與使用

Samba由兩個服務(wù)組成,一是smb,另一個由是nmb。

  • smb服務(wù)是Samba的核心啟動服務(wù),只有smb服務(wù)啟動,才能實現(xiàn)文件的共享。
  • nmb服務(wù)是負責 解析用的,類似于dns的功能,它可以把LINUX系統(tǒng)共享的工作組名與其IP對應(yīng)起來,如果nmb服務(wù)沒有運行,就只能通過IP地址來訪問了。

Samba服務(wù)安裝好后,就可以通過以下的命令進行啟動服務(wù)了:

systemctl start smb

這個命令執(zhí)行后沒有任何返回結(jié)果,如果想來檢查smb服務(wù)是否正常運行,可以通過下面的命令進行檢查:

ps -ef | grep smbd
#以下是返回結(jié)果
root     16655     1  0 09:51 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group
root     16657 16655  0 09:51 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group
root     16658 16655  0 09:51 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group
root     16659 16655  0 09:51 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group
root     16924 12084  0 09:52 pts/1    00:00:00 grep --color=auto smbd

三、Samba服務(wù)核心配置文件smb.conf

smb.conf是Samba服務(wù)最重要的配置文件,里面有很多選項和內(nèi)容,通過vim命令查看里面的內(nèi)容,可以看到是這樣的:

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        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

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root

在定制屬于自己的Samba服務(wù)器之前,先來看一下這個配置文件中有哪些內(nèi)容?

  • [global] 表示以下 的內(nèi)容為全局配置,是必選項。
  • workgroup用來定義工作組,也就是Windows中的工作組的概念。
  • passdb backend就是用戶后臺的意思。目前有三種后臺:smbpasswd、tdbsam和ldapsam,默認值為tdbsam,表示使用一個數(shù)據(jù)庫文件來建立用戶數(shù)據(jù)庫。數(shù)據(jù)庫文件叫passdb.tdb,默認在/etc/samba目錄下。passdb.tdb用戶數(shù)據(jù)庫可以使用smbpasswd –a來建立Samba用戶,不過要建立的Samba用戶必須先是系統(tǒng)用戶。
  • printing 設(shè)置Samba共享打印機的類型,建議默認。
  • load printers 設(shè)置是否在啟動Samba時就共享打印機。
  • cups options 打印機的選項設(shè)置,很復(fù)雜,就不說明了,有興趣的可以自行百度。
  • homes 用來設(shè)置在Windows中顯示出來的共享目錄的名稱。
  • comment 對于共享目錄的描述。
  • path 用來指定共享目錄的路徑,是必選項。
  • valid users 設(shè)置允許訪問該共享的用戶,可以直接寫用戶名,如果需要設(shè)置用戶組的話,可以在組名前加上@即可,各用戶或者組名之間使用逗號隔開。
  • browseable 取值為yes/no,用來指定該共享是否可以被瀏覽。
  • read only 取值為yes/no,用來指定此共享是否只讀。
  • inherit acls 取值為yes/no,設(shè)置是否從父目錄中繼承選項設(shè)置。
  • printable 取值為yes/no,如果設(shè)置為yes,則客戶端可以將打印任務(wù)提交至打印池。
  • create mask 設(shè)置對新創(chuàng)建文件的權(quán)限,如0600就表示為對創(chuàng)建者是可讀可寫,對其他用戶禁止訪問。
  • write list 用來設(shè)置訪問此目錄的讀寫權(quán)限用戶列表,如write list = root,@students

除了示例文件中的參數(shù)項外,Samba還提供了更多的參數(shù)項目,感興趣的同學(xué)可以通過網(wǎng)文具體細節(jié)可以查看網(wǎng)文《smb.conf文件詳細介紹》來自行學(xué)習(xí)。

四、創(chuàng)建可匿名訪問的共享SAMBA服務(wù)

話不多說,下面就開始創(chuàng)建屬于自己的Samba服務(wù)吧!先來創(chuàng)建一個共享的目錄,即可以給所有人進行訪問。

1、修改配置文件

首先將原本的配置文件進行備份,這是一個好習(xí)慣,Linux服務(wù)大多都會有自帶的配置文件,在對此文件進行修改時,應(yīng)養(yǎng)成即時備份的習(xí)慣,我習(xí)慣使用如下命令進行文件備份。

cp -a smb.conf smb.conf.bak

備份完成后,使用vim編輯器打開smb.conf配置文件,保留[global]區(qū)域的內(nèi)容(但需增加匿名訪問內(nèi)容),其他的刪除,并加上如下的共享目錄,最終的文件內(nèi)容如下:

[global]
        workgroup = SAMBA
        security = user
        map to guest = Bad User
        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[share]
        comment = 家庭共享文件目錄
        path = /share_files
        writeable = yes
        browseable = yes
        log file = /share_files/access.log
        public = yes

可以看到多了幾個新的選項:

  • log file 指定訪問此目錄的日志文件。
  • guest ok 指定是否允許匿名用戶訪問。

保存此配置文件,并退出!

2、創(chuàng)建共享目錄

在配置文件中,設(shè)置了共享目錄為/share_files,設(shè)置的日志文件為access.log,下面就建立這兩個目錄/文件。

mkdir /share_files
touch /share_files/access.log

除了創(chuàng)建這兩個目錄/文件外,還需要對它們設(shè)置文件訪問權(quán)限,所以只需再補上下面的命令:

chmod -R 777 /share_files

3、重啟smb服務(wù)

完成上兩步操作后,便可以執(zhí)行如下命令重啟smb服務(wù)了。

systemctl restart smb.service

4、測試smb服務(wù)

找一臺Windows電腦,然后在資源管理器(或計算機)地址欄中輸入 以下的地址:\\192.168.3.222\,其中的IP地址是Samba服務(wù)器的地址,建議訪問前先確保Windows與Linux機器的連通,可以使用ping命令簡單測試。

如果發(fā)現(xiàn)沒有成功訪問Samba服務(wù),可能是由于防火墻的原因,可以關(guān)閉防火墻,為了一勞永逸,我就直接把防火墻給關(guān)閉了,也可以將Samba服務(wù)添加至防火墻的例外中,這里就不演示了,后面再寫一篇關(guān)于防火墻的內(nèi)容。

systemctl stop firewalld
systemctl disable firewalld

如果您使用的是Windows 10系統(tǒng),由于組策略的原因,在使用匿名訪問的時候也會報錯,如下圖所示:

圖示 Windows 10組策略影響

關(guān)閉組策略的相應(yīng)項目過程操作如下,打開組策略窗口,并找到相應(yīng)項目

圖示 啟用來賓組策略修改(一)
圖示 啟用來賓組策略修改(二)

啟用完“啟用不安全的來賓登錄”項目后,再次利用地址訪問,便可以看到共享目錄share了,如下圖所示:

圖示 成功訪問共享目錄

五、使用SAMBA服務(wù)

1、在電腦中訪問SAMBA服務(wù)

打開Windows資源管理器,選擇添加一個網(wǎng)絡(luò)位置,操作的過程界面如下列所示:

圖示 添加網(wǎng)絡(luò)位置(一)
圖示 添加網(wǎng)絡(luò)位置(二)
圖示 添加網(wǎng)絡(luò)位置(三)
圖示 添加網(wǎng)絡(luò)位置(四)
圖示 添加網(wǎng)絡(luò)位置(五)

點擊完成按鈕完成網(wǎng)絡(luò)位置的添加,回到資源管理器主界面,可以發(fā)現(xiàn)在網(wǎng)絡(luò)位置區(qū)域出現(xiàn)了家庭共享文件系統(tǒng)圖標,如下圖所示:

圖示 資源管理器網(wǎng)絡(luò)位置

進入到此位置中,就如同使用本地盤符一樣,這里我們上傳一個電影看一下效果。

圖示 上傳效果測試

可以發(fā)現(xiàn)上傳的速度還是非??捎^的?。?!我們也可以在服務(wù)器上外接硬盤用來擴充容量,讓廢棄的電腦變成一個家庭文件服務(wù)器。

2、在移動設(shè)備中訪問SAMBA服務(wù)

作為一個深度的電影愛好者,拿著手機觀看下載的視頻是一件非常享受的事,有了SAMBA服務(wù)器,將影片通過迅雷或者百度云下載至SAMBA服務(wù)器上,然后可以使用多個終端訪問觀看,可以避免許多問題。

接下來以iphone為例,演示如何使用APP連接并管理SAMBA服務(wù)器的資源。

這里用到的APP是FE文件管理器,是一個免費的應(yīng)用,也沒有令人生厭的彈出廣告,下載完打開后的界面是這樣的。

圖示 FE文件管理器主界面

點擊右上角的“+”號,添加連接服務(wù),打開連接服務(wù)的列表。

圖示 FE文件管理器連接服務(wù)列表

選擇“Linux”圖標,新建至Linux服務(wù)器的連接,系統(tǒng)會自動識別本網(wǎng)絡(luò)中的Linux鄰居,如圖所示:

圖示 FE文件管理器連接創(chuàng)建界面

點擊Linux服務(wù)器圖標,彈出登錄界面,此處選擇“訪客”項目。

圖示 FE文件管理器SAMBA登錄界面
圖示 FE文件管理器SAMBA文件列表

成功登錄至SAMBA服務(wù)后,找到在前一項目中上傳的視頻文件,便可以觀看影片了,親測速度非常流暢。

圖示 影片播放界面

六、后記

Linux對于多數(shù)人來說是一個比較專業(yè)的技術(shù),但如果僅僅是為了提高生活及工作的效率,其實有很多種玩法,筆者并不是一個專業(yè)的系統(tǒng)運維方面的專家,對Linux也是一知半解,只是嘗試將Linux融入工作和生活,提高工作的效率和生活的樂趣,一起共勉!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容