歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> CentOS上如何使用Samba共享文件夾

CentOS上如何使用Samba共享文件夾

日期:2017/2/28 11:55:42   编辑:Linux技術

  常常使用Windows的人可能會發現,Windows計算機之前共享資料非常方便,那麼大家知道CentOS上如何使用Samba共享文件夾?下文學習啦小編就分享了CentOS上使用Samba共享文件夾的方法,希望對大家有所幫助。

  CentOS上使用Samba共享文件夾方法

  步驟1:在Fedora和CentOS上安裝Samba

  首先,安裝Samba以及進行一些基本的配置。

  檢驗Samba是否已經安裝在您的系統中:

  $ rpm -q samba samba-common samba-client

  如果上面的命令沒有任何輸出,這意味著Samba並未安裝。這時,應使用下面的命令來安裝Samba。

  $ sudo yum install samba samba-common samba-client

  接下來,創建一個用於在網絡中共享的本地文件夾。這個文件夾應該以Samba共享的方式導出到遠程的用戶。在這個指南中,我們會在頂層文件夾'/'中創建這個文件夾,因此,請確保您有相應的權限。

  $ sudo mkdir /shared

  如果您想在您的home文件夾內創建共享文件夾(例如,~/shared),您必須激活SELinux中Samba的home文件夾共享選項,具體將在後面提到。

  在創建/shared文件夾後,設置文件夾權限以保證其余用戶可以訪問它。

  $ sudo chmod o+rw /shared

  如果您不想其他用戶對該文件夾擁有寫權限,您需要移除命令中的'w'選項。

  $ sudo chmod o+r /shared

  接下來,創建一個空文件來測試。這個文件可以被用來驗證Samba的共享已經被掛載。

  $ sudo touch /shared/file1

  步驟2:為Samba配置SELinux

  接下來,我們需要再次配置SELinux。在Fedora和CentOS發行版中SELinux是默認開啟的。SELinux僅在正確的安全配置下才允許Samba讀取和修改文件或文件夾。(例如,加上'sambasharet'屬性標簽)。

  下面的命令為文件的配置添加必要的標簽:

  $ sudo semanage fcontext -a -t samba_share_t "(/.*)?"

  將替換為我們之前為Samba共享創建的本地文件夾(例如,/shared):

  $ sudo semanage fcontext -a -t samba_share_t "/shared(/.*)?"

  我們必須執行restorecon命令來激活修改的標簽,命令如下:

  $ sudo restorecon -R -v /shared

  為了通過Samba共享在我們home文件夾內的文件夾,我們必須在SELinux中開啟共享home文件夾的選項,該選項默認被關閉。下面的命令能達到該效果。如果您並未共享您的home文件夾,那麼您可以跳過該步驟。

  $ sudo setsebool -P samba_enable_home_dirs 1

  步驟3:為Samba配置防火牆

  下面的命令用來打開防火牆中Samba共享所需的TCP/UDP端口。

  如果您在使用firewalld(例如,在Fedora和CentOS7下),接下來的命令將會永久的修改Samba相關的防火牆規則。

  $ sudo firewall-cmd --permanent --add-service=samba

  如果您在防火牆中使用iptables(例如,CentOS6或者更早的版本),可以使用下面的命令來打開Samba必要的向外的端口。

  $ sudo vi /etc/sysconfig/iptables

  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 445 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

  然後重啟iptables服務:

  $ sudo service iptables restart

  步驟4:更改Samba配置

  後面的步驟用來配置Samba以將本地文件夾導出為Samba共享文件夾。

  使用文件編輯器打開Samba配置文件,並將下面的行添加到文件的末尾。

  $ sudo nano /etc/samba/smb.conf

  [myshare]comment=my shared filespath=/sharedpublic=yeswriteable=yes

  上面在括號內的文本(例如,"myshare")是Samba共享的資源的名字,它被用來從遠程主機存取Samba共享。

  創建Samba用戶帳戶,這是掛載和導出Samba文件系統所必須的。我們可以使用smbpasswd工具來創建一個Samba用戶。注意,Samba用戶帳戶必須是已有的Linux用戶。如果您嘗試使用smbpasswd添加一個不存在的用戶,它會返回一個錯誤的消息。

  如果您不想使用任何已存在的Linux用戶作為Samba用戶,您可以在您的系統中創建一個新的用戶。為安全起見,設置新用戶的登錄腳本為/sbin/nologin,並且不創建該用戶的home文件夾。

  在這個例子中,我們創建了一個名叫"sambaguest"的用戶,如下:

  $ sudo useradd -M -s /sbin/nologin sambaguest$ sudo passwd sambaguest

  在創建一個新用戶後,使用smbpasswd命令添加Samba用戶。當這個命令詢問一個密碼時,您可以鍵入一個與其用戶密碼不同的密碼。

  $ sudo smbpasswd -a sambaguest

  激活Samba服務,並檢測Samba服務是否在運行。

  $ sudo systemctl enable smb.service $ sudo systemctl start smb.service $ sudo systemctl is-active smb

  使用下面的命令來查看Samba中共享的文件夾列表。

  $ smbclient -U sambaguest -L localhost

  接下來是在Thunar文件管理器中訪問Samba共享文件夾以及對file1進行拷貝復制的截圖。注意,Samba的共享內容可以通過在Thunar中通過 smb:///myshare 這個地址來訪問。

Copyright © Linux教程網 All Rights Reserved