CentOS 7下Samba安裝配置

最近新學Linux,本來想用RedHat Linux來做學習平臺,但是發現RedHat Linux ISO文件實在是太難下載了。因爲CentOS和RedHat Linux極其相似,所以選擇下載CentOS Linux 7 DVD ISO. 這個鏡像4個多GB,但是下載只用了30多分鐘。

網絡上大量配置samba的文章,但是發現沒有一篇照着做是可以實現的。所以我決定寫一篇完整的配置。雖然安全性不能保證,但是功能可以實現,安全性以後再研究了。

  1. 安裝

安裝的過程我不再具體寫,百度一下有大把文檔,稍微有點Linux基礎的人我相信都能安裝的了。我裝了兩次,第一次用的的min install, 裝完以後發現ifconfig命令運行不了。

運行which ifconfig或者是find / -name "ifconfig*.*"都沒有找到文件文件。

網上找了很多,有的說是環境變量沒有,文件在bin 或者sbin下面。

正解是運行下面命令:

# yum install net-tools

原因是ifconfig已經過時了,可以用ip addr或者ip link查詢。

因爲我是新學,所以爲了排除干擾,我重新選擇了file and printer server模式安裝。這個模式下安裝ifconfig命令是可以運行的。

2.安裝samba

運行下面命令:

# yum -y install samba samba-client samba-common

安裝完成後運行 rpm -qa | grep "samba",確保都安裝成功了。

wKiom1QnyN3im3QMAACEg_dNi6Q211.jpg

3. 配置samba

假設我們有這樣一個場景

共享名路徑權限
SHAREDOC/smb/docs所有人員包括來賓均可以訪問
RDDOCS/smb/tech僅允許特定組的用戶進行讀寫訪問
準備工作:
創建共享目錄(假設共享/smb目錄下的文件)
# mkdir -p /smb/docs
# mkdir -p /smb/tech
 
//創建操作系統用戶
# useraddalice
# useraddjack
# useradd tom
# useradd RD
   
//修改用戶的組
# usermod -a-G RD alice
# usermod -a-G RD jack
# usermod -a-G RD tom
賬號創建完以後檢查用戶所屬組,確保每個用戶所屬組都有1003 RD 
# id alice
uid=1000(alice) gid=1000(alice)groups=1000(alice),1003(RD)
# id jack

uid=1001(jack) gid=1001(jack)groups=1001(jack),1003(RD)
# id tom

uid=1002(tom) gid=1002(tom)groups=1002(tom),1003(RD)
# id RD

uid=1003(RD) gid=1000(RD)groups=1003(RD)
 
//修改目錄權限
# chgrp RD /smb/tech
# chgrp RD /smb/docs
# chown RD /smb/tech
# chown RD /smb/docs
# chmod 770 /smb/tech
# chmod 770 /smb/docs
 
修改完成後再檢查一下文件夾權限
# ls /smb -l
  
//備份原有的配置文件在原目錄下
# cd /etc/samba
# cp smb.conf smb.conf.origin
 
 
# vi/etc/samba/smb.conf
刪除原有所有內容,添加如下內容:
[global]
  workgroup=BIGCLOUD
  netbios name=ZZSRV2
  server string=Samba Server
  #security=share
  security=user
  map to guest = Bad User
[SHAREDOCS]
  path=/smb/docs
  readonly=yes
  browseable=yes
  guest ok=yes
[RDDOCS]
  path = /smb/tech/
  public = no
  writable = yes
 
  write list = @RD
  validusers = @RD

4. 重啓服務

RedHat Liunx都是用service restart smb來重啓的,在CentOS裏面服務的操作都是用systemctl來完成了。

運行下面命令:

#  systemctl restart smb

# systemctl reload smb

# systemctl status smb

最後這條命令是檢查狀態的。

wKioL1Qn0hnxC41_AANT1o1nrS8028.jpg

 

5. 防火牆和SELinux

網上基本上沒有文章提到這一點,所以我一直測試不成功,最後發現關閉SELinux和防火牆後就可以訪問了。

關閉防火牆

wKiom1Qn046hB80lAADU-iQnisI052.jpg

關閉SELinux

wKiom1Qn06fydR1JAAHsK1ShxVY267.jpg

 

7. 客戶端所屬組

我成功測試的機器是一臺在WORKGROUP工作組裏面的windows 7,加入域的機器是訪問不了的。這個可能和之前我們Samba裏面設置的是workgroup有關係吧。

 

 

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