天天看點

centos 7 配置samba

執行個體練習centos7配置samba

需求:供20多台裝有win7系統的計算機通路,有可以共同通路的目錄,有各自部門各自通路的目錄

實驗環境:一台筆記本,虛拟機中安裝RHEL7

因為隻需要做一個檔案伺服器,是以centos是最小安裝,首先先把ip擷取設定為靜态

<code>vi</code> <code>/etc/sysconfig/network-scripts/ifcfg-</code><code>***  </code><code>#因為是最小安裝,是以隻有vi</code>

<code>#在配置裡添加如下指令</code>

<code>BOOTPROTO=static </code>

<code>IPADDR=192.168.1.100 </code><code>#IP位址</code>

<code>NETMASK=255.255.255.0 </code><code>#掩碼值</code>

<code>GATEWAY=192.168.1.1 </code><code>#網關位址</code>

<code>DNS1=8.8.8.8</code>

<code>ONBOOT=</code><code>yes</code> <code># [yes|no](引導時是否激活裝置)</code>

<code>USERCTL=no </code><code>#[yes|no](非root使用者是否可以控制該裝置)</code>

<code>#重新開機網絡服務</code>

<code>systemctl restart network</code>

配置完成後,實測無問題

開始安裝samba

<code>yum </code><code>install</code> <code>samba -y</code>

安裝完成,嘗試連接配接,在裝有win7的機器上運作,輸入IP(\\192.168.1.*),提示無法連接配接,這是因為linux防火牆和selinux的原因,解決方法如下:

<code>firewall-cmd --permanent --zone=public --add-service=samba </code><code>#添加允許smb服務規則</code>

<code>firewall-cmd --reload</code>

<code>vim </code><code>/etc/selinu/config</code>   <code>#打開selinu配置檔案</code>

<code>selinux=disable          </code><code>#将selinux關閉</code>

配置完後重新開機系統

再連接配接,出現如下圖示,就證明可以連接配接了

<a href="https://s4.51cto.com/wyfs02/M00/8F/41/wKiom1jYy_jQn5A3AAB7KEfnJJ4559.png" target="_blank"></a>

接下來建立賬戶,先建立系統賬戶,再建立smb賬戶

<code>smbpasswd -a username           </code><code># 建立完系統賬戶後輸入以上指令,再輸入密碼,就建立成功了</code>

接下來是建立共享目錄

<code>mkdir</code> <code>share</code><code>/public</code>

<code>mkdir</code> <code>share</code><code>/exchange</code>

<code>mkdir</code> <code>caiwu</code>

<code>mkdir</code> <code>manager</code>

需求: caiwu目錄隻能caiwu組的能寫能看,但不能修改删除他人檔案,manager同。exchange所有人可看可寫,但不能修改他人檔案。public隻有管理者admin可建立檔案,他人隻能看。

(注:之前看了資料,關于目錄權限,目錄本身的權限是大于smb的配置的,也就是說目錄權限是700,那麼就算smb是writable=yes,那除了目錄所屬人,他人是無法操作的)

<code>chmod</code> <code>-R 1777 caiwu</code>

<code>chmod</code> <code>-R 1777 manager    </code>

<code>chmod</code> <code>-R 777 </code><code>/share/public</code>

<code>chmod</code> <code>-R 1777 </code><code>/share/exchange</code>

接下來是修改smb配置

<code>[share]</code>

<code>        </code><code>comment = share</code>

<code>        </code><code>path = </code><code>/home/share</code>

<code>        </code><code>valid </code><code>users</code> <code>= @admin</code>

<code>        </code><code>users</code> <code>admin = admin</code>

<code>        </code><code>read</code> <code>only = </code><code>yes</code>

<code>        </code><code>write list = @admin</code>

<code>[caiwu]</code>

<code>        </code><code>comment = caiwu</code>

<code>        </code><code>path = </code><code>/home/caiwu</code>

<code>        </code><code>valid </code><code>users</code> <code>= @caiwu</code>

<code>        </code><code>writable  = </code><code>yes</code>

<code>[manager]</code>

<code>        </code><code>comment = manager</code>

<code>        </code><code>path = </code><code>/home/manager</code>

<code>        </code><code>valid </code><code>users</code> <code>= @manager</code>

<code>        </code><code>write list = @manager</code>

<code>[public]</code>

<code>        </code><code>comment = public</code>

<code>        </code><code>path = </code><code>/home/share/public</code>

<code>        </code><code>available = </code><code>yes</code>

<code>        </code><code>admin </code><code>users</code> <code>= admin</code>

<code>        </code><code>read</code> <code>only=</code><code>yes</code>

<code>        </code><code>write list = admin</code>

<code>[exchange]</code>

<code>        </code><code>comment = exchange</code>

<code>        </code><code>path = </code><code>/home/share/exchange</code>

<code>        </code><code>writable = </code><code>yes</code>

<code>        </code><code>admin </code><code>users</code><code>= admin</code>

用客戶機連接配接,輸入賬号密碼,大概功能都能實作。

雖然看上去比較多,但熟悉了之後配置起來就快了。

登入檔案伺服器時選擇儲存憑據,以後就不用再輸入賬号密碼了,如果不選擇儲存憑據,在關機前都預設儲存密碼,關機後就無效了。如果你想換賬号登入,可以用以下方法,然後稍等一分鐘左右再打開,就可以重新填寫賬戶登入了

<a href="https://s5.51cto.com/wyfs02/M00/8F/3F/wKioL1jY0QjwrXTaAAAqJrScJVU493.png" target="_blank"></a>

共享參數:

#================== Share Definitions ==================

[共享名]

comment = 任意字元串

說明:comment是對該共享的描述,可以是任意字元串。

path = 共享目錄路徑

說 明:path用來指定共享目錄的路徑。可以用%u、%m這樣的宏來代替路徑裡的unix使用者和客戶機的Netbios名,用宏表示主要用于[homes] 共享域。例如:如果我們不打算用home段做為客戶的共享,而是在/home/share/下為每個Linux使用者以他的使用者名建個目錄,作為他的共享目 錄,這樣path就可以寫成:path = /home/share/%u; 。使用者在連接配接到這共享時具體的路徑會被他的使用者名代替,要注意這個使用者名路徑一定要存在,否則,客戶機在通路時會找不到網絡路徑。同樣,如果我們不是以用 戶來劃分目錄,而是以客戶機來劃分目錄,為網絡上每台可以通路samba的機器都各自建個以它的netbios名的路徑,作為不同機器的共享資源,就可以 這樣寫:path = /home/share/%m 。

browseable = yes/no

說明:browseable用來指定該共享是否可以浏覽。

writable = yes/no

說明:writable用來指定該共享路徑是否可寫。

available = yes/no

說明:available用來指定該共享資源是否可用。

admin users = 該共享的管理者

說明:admin users用來指定該共享的管理者(對該共享具有完全控制權限)。在samba 3.0中,如果使用者驗證方式設定成“security=share”時,此項無效。

例如:admin users =david,sandy(多個使用者中間用逗号隔開)。

valid users = 允許通路該共享的使用者

說明:valid users用來指定允許通路該共享資源的使用者。

例如:valid users = david,@dave,@tech(多個使用者或者組中間用逗号隔開,如果要加入一個組就用“@組名”表示。)

invalid users = 禁止通路該共享的使用者

說明:invalid users用來指定不允許通路該共享資源的使用者。

例如:invalid users = root,@bob(多個使用者或者組中間用逗号隔開。)

write list = 允許寫入該共享的使用者

說明:write list用來指定可以在該共享下寫入檔案的使用者。

例如:write list = david,@dave

public = yes/no

說明:public用來指定該共享是否允許guest賬戶通路。

guest ok = yes/no

說明:意義同“public”。

本文轉自 DEAST 51CTO部落格,原文連結:http://blog.51cto.com/xudongdong/1910677

繼續閱讀