CentOS 7安裝配置Samba

最近新學Linux,原本想用RedHat Linux來作學習平臺,可是發現RedHat Linux ISO文件實在是太難下載了。由於CentOS和RedHat Linux極其類似,因此選擇下載CentOS Linux 7 DVD ISO. 這個鏡像4個多GB,可是下載只用了30多分鐘。ios

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

  1. 安裝安全

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

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

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

正解是運行下面命令:ui

# yum install net-toolsspa

緣由是ifconfig已通過時了,能夠用ip addr或者ip link查詢。操作系統

由於我是新學,因此爲了排除干擾,我從新選擇了file and printer server模式安裝。這個模式下安裝ifconfig命令是能夠運行的。rest

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. 設置開機啓動samba
    chkconfig smb on 

 8. 客戶端所屬組

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

相關文章
相關標籤/搜索