搭建 samba 文件共享服務器 ( 1 )

搭建 samba 文件共享服務器  ( 1 )

samba 文件共享 想必大家都知道 是什麼 ,其實說白了 就是 windows 和 linux 系統之間可以相互文件共享的一個軟件!

其次 ,這是 samba 服務器的搭建 也是我們紅帽rhce 考試裡的一項,所以必須要掌握!

環境 : rhel7

軟件 : samba

一、安裝軟件

[root@feixiangkeji ~]# yum install samba

搭建 samba 文件共享服務器  ( 1 )

samba軟件安裝

二、開機自啟動,開啟服務

systemctl enable smb

systemctl start smb

搭建 samba 文件共享服務器  ( 1 )

三、添加防火牆策略

[root@feixiangkeji ~]# firewall-cmd --add-service=samba --permanent

[root@feixiangkeji ~]# firewall-cmd --reload

搭建 samba 文件共享服務器  ( 1 )

搭建 samba 文件共享服務器  ( 1 )

四、創建共享目錄

mkdir /share

mkdir /public

(我這裡創建兩個共享目錄,/public 是用來做匿名用戶,/share 是 feixiangkeji 用戶認證的共享目錄)

chmod 777 /share

chmod 777 /public

搭建 samba 文件共享服務器  ( 1 )

五、修改共享目錄上下文關係,設置布爾值

注意的是 : samba 服務的 上下文是 samba_share_t

semanage fcontext -a -t samba_share_t '/share(/.*)?'

semanage fcontext -a -t samba_share_t '/public(/.*)?'

restorecon -RFv /share

restorecon -RFv /public

搭建 samba 文件共享服務器  ( 1 )

修改上下文

getsebool -a | grep samba 查詢samba 的所有布爾值


samba_create_home_dirs --> off

samba_domain_controller --> off

samba_enable_home_dirs --> off

samba_export_all_ro --> off

samba_export_all_rw --> off

samba_portmapper --> off

samba_run_unconfined --> off

samba_share_fusefs --> off

samba_share_nfs --> off

sanlock_use_samba --> off

use_samba_home_dirs --> off

virt_sandbox_use_samba --> off

virt_use_samba --> off


我們要修改的就是我上面加粗的兩個

setsebool -P samba_export_all_ro on

setsebool -P samba_export_all_rw on

搭建 samba 文件共享服務器  ( 1 )

修改布爾值

第六步、修改配置文件

vim /etc/samba/smb.conf

但是註釋信息行實在太多,不便於分析裡面的重要參數,因此先把主配置文件改個名字,然後使用cat命令讀入主配置文件,再在grep命令後面添加-v參數(反向選擇),分別去掉所有以井號(#)和分號(;)開頭的註釋信息行,對於剩餘的空白行可以使用^$參數來表示並進行反選過濾,最後把過濾後的可用參數信息通過重定向符覆蓋寫入到原始文件名稱中。執行過濾後剩下的Samba服務程序的參數並不複雜

cp /etc/samba/smb.conf /etc/samba/smb.conf_bak

cat /etc/samba/smb.conf_bak | grep -v "^$ | grep -v "#" | grep -v ";" > /etc/samba/smb.conf


[root@feixiangkeji /]# cat /etc/samba/smb.conf

[global]

workgroup = MYGROUP

server string = Samba Server Version %v

log file = /var/log/samba/log.%m

max log size = 50

security = user

passdb backend = tdbsam

load printers = yes

cups options = raw

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

guest ok = no

writable = no

printable = yes


Samba服務程序中的參數以及作用

[global]

參數

作用


workgroup = MYGROUP

#工作組名稱


server string = Samba Server Version %v

#服務器介紹信息,參數%v為顯示SMB版本號


log file = /var/log/samba/log.%m

#定義日誌文件的存放位置與名稱,參數%m為來訪的主機名


max log size = 50

#定義日誌文件的最大容量為50KB


security = user

#安全驗證的方式,總共有4種


#share:來訪主機無需驗證口令;比較方便,但安全性很差

samba 4 中 已經取消 share 這個模式

#user:需驗證來訪主機提供的口令後才可以訪問;提升了安全性



#server:使用獨立的遠程主機驗證來訪主機提供的口令(集中管理賬戶)



#domain:使用域控制器進行身份驗證




passdb backend = tdbsam

#定義用戶後臺的類型,共有3種


#smbpasswd:使用smbpasswd命令為系統用戶設置Samba服務程序的密碼



#tdbsam:創建數據庫文件並使用pdbedit命令建立Samba服務程序的用戶



#ldapsam:基於LDAP服務進行賬戶驗證








[homes]


#共享參數


comment = Home Directories

#描述信息


browseable = no

#指定共享信息是否在“網上鄰居”中可見


writable = yes

#定義是否可以執行寫入操作,與“read only”相反

我們只需要在最下面追加 就可以了。。。。。。。。。。。。

我們因為要做一個普通用戶共享和 匿名用戶共享,下面就是我的例子:

[share]共享名稱為share
comment = Do not arbitrarily modify the database file警告用戶不要隨意修改數據庫
path = /share共享目錄為/share
browseable = yes開啟“所有人可見”
writable = no不允許寫入操作
write list = feixiangkeji 但只允許 feixiangkeji 用戶寫入

(普通用戶共享的配置文件)

[public] 共享名稱為public
comment = This is a public directory這是一個公開的目錄
path = /public共享目錄為/public
browseable = yes開啟“所有人可見”
writable = yes允許寫入操作
public = yes公開,允許匿名訪問

(匿名用戶共享的配置文件)

搭建 samba 文件共享服務器  ( 1 )

補充說明:

samba4 相比較以前的 samba 3 有個重大的變化是 , security 四種驗證方式中 不再支持 share ,然而參數就要做調整

原來 :

security = share

現在 :

security = user

map to guest = Bad User

第七步: 給共享用戶添加密碼

[root@feixiangkeji ~]# yum install samba-client (給samba用戶添加密碼用到的軟件)

useradd -s /sbin/nologin feixiangkeji (添加smb 用戶)

smbpasswd -a feixiangkeji

連續兩次輸入密碼

搭建 samba 文件共享服務器  ( 1 )

第八步: 重啟服務

systemctl restart smb

第九步: 客戶端測試

搭建 samba 文件共享服務器  ( 1 )

搭建 samba 文件共享服務器  ( 1 )

搭建 samba 文件共享服務器  ( 1 )

創建文件 進行測試 !!!!

謝謝大家 !

歡迎大家在留言區評論!


分享到:


相關文章: