CentOS Linux中Samba檔案分享權限設定伺服器的構建

來源:互聯網
上載者:User

前  言

  在我們使用 Windows 作為客戶機的時候,通常有檔案、列印共用的需求。作為Windows 網路功能之一,通常可以在 Windows 客戶機之間通過 Windows Network 固有的功能實現這些要求。然而,通過 Samba 我們也可以讓一台 CentOS 主機來相容 Windows 網路,實現同樣的功能,進而充分發揮 CentOS 主機的可用性。

  本篇文檔主要介紹怎樣通過 Samba 伺服器的構建實現 Windows 網路中的檔案分享權限設定。

安裝 Samba

  首先,通過 yum 來線上安裝 Samba 。

[root@sample ~]# yum -y install samba  ← 安裝 Samba

Setting up Install Process
Setting up repositories
update 100% |=========================| 951 B 00:00
base 100% |=========================| 1.1 kB 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 73 kB 00:00
update : ################################################## 212/212
Added 212 new packages, deleted 0 old in 4.94 seconds
primary.xml.gz 100% |=========================| 569 kB 00:00
base : ################################################## 1500/1500
Added 1500 new packages, deleted 0 old in 28.97 seconds
primary.xml.gz 100% |=========================| 157 B 00:00
Added 0 new packages, deleted 0 old in 0.03 seconds
primary.xml.gz 100% |=========================| 32 kB 00:00
extras : ################################################## 124/124
Added 124 new packages, deleted 0 old in 1.93 seconds
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for samba to pack into transaction set.
samba-3.0.10-1.4E.9.i386. 100% |=========================| 101 kB 00:00
---> Package samba.i386 0:3.0.10-1.4E.9 set to be updated
--> Running transaction check
--> Processing Dependency: samba-common = 0:3.0.10 for package: samba
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for samba-common to pack into transaction set.
samba-common-3.0.10-1.4E. 100% |=========================| 37 kB 00:00
---> Package samba-common.i386 0:3.0.10-1.4E.9 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
samba i386 3.0.10-1.4E.9 base 13 M
Installing for dependencies:
samba-common i386 3.0.10-1.4E.9 base 5.0 M

Transaction Summary
=============================================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 18 M
Downloading Packages:
(1/2): samba-common-3.0.1 100% |=========================| 5.0 MB 00:04
(2/2): samba-3.0.10-1.4E. 100% |=========================| 13 MB 00:11
warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 443e1821
Public key for samba-common-3.0.10-1.4E.9.i386.rpm is not installed
Retrieving GPG key from http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
Importing GPG key 0x443E1821 "CentOS-4 key <centos-4key@centos.org>"
Key imported successfully
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: samba-common ######################### [1/2]
Installing: samba ######################### [2/2]
Installed: samba.i386 0:3.0.10-1.4E.9
Dependency Installed: samba-common.i386 0:3.0.10-1.4E.9
Complete!

配置 Samba

  然後,通過編輯 /etc/samba/smb.conf ,根據需求配置 Samba。在這裡,本文的原則是只將檔案分享權限設定應用於內網,並讓將要被共用的目錄擁有充分的讀寫權限屬性。
[root@sample ~]# vi /etc/samba/smb.conf  ← 編輯 Samba 的設定檔

#======================= Global Settings =====================================
[global]   ← 找到這一行(全域設定標籤),在此行下面添加如下行:

dos charset = GB2312  ← 將 Windows 用戶端的文字編碼設定為簡體中文 GB2312
unix charset = GB2312  ← 指定 Samba 所在的 CentOS 服務端建立檔案或目錄時的編碼為 GB2312
display charset = GB2312  ← 指定使用 SWAT(一種通過瀏覽器控制Samba的工具)時頁面的預設文字編碼
directory mask = 0777  ← 指定建立目錄的屬性(以下4行)
force directory mode = 0777
directory security mask = 0777
force directory security mode = 0777
create mask = 0777  ← 指定建立檔案的屬性(以下4行)
force create mode = 0777
security mask = 0777
force security mode = 0777

workgroup = MYGROUP  ← 找到此行,將工作群組名稱改為 Windows 網路所定義的工作群組名
 ↓
workgroup = WORKGROUP  ← 變為此狀態,這裡以 Windows XP 預設的“WORKGROUP”為例

; hosts allow = 192.168.1. 192.168.2. 127.  ← 找到此行,去掉行首的“;”,並制定訪問限制
 ↓
hosts allow = 192.168.0. 127.  ← 變為此狀態,指定內網IP地址及本地,只允許這兩種情況的訪問

然後在設定檔的末尾填如下幾行,定義公眾共用目錄:

[public]
comment = Public Stuff
path = /home/samba  ← 指定共用目錄位置
public = yes
writable = yes  ← 賦予共用目錄寫入許可權的屬性

  接下來,建立將要通過 Samba 共用給 Windows 網路的專用目錄。
[root@sample ~]# mkdir /home/samba  ← 建立共用檔案專用目錄

[root@sample ~]# chown -R nobody. /home/samba  ← 設定專用目錄歸屬為 nobody

[root@sample ~]# chmod 777 /home/samba  ← 將專用目錄屬性設定為 777

  在進行到服務端的串連之前,需要預先對用於登入 Samba 的使用者進行設定。這裡我們以 CentOS 中 Samba 標準的 Samba 使用者資料庫管理工具“smbpasswd”為例,建立用於登入 Samba 的使用者資料。這裡需要注意的一點:用 smbpasswd 建立使用者的前提是,系統使用者中存在該使用者 -- 在基於系統使用者之上,才可以建立該使用者在 Samba 使用者資料庫中的資訊。

[root@sample ~]# smbpasswd -a centospub  ← 將系統使用者 centospub(例)加入到 Samba 使用者資料庫

New SMB password:  ← 輸入該使用者用於登入 Samba 的密碼
Retype new SMB password:  ← 再次確認輸入該密碼
Added user centospub.

啟動 Samba 服務

  在啟動 Samba 服務之前,首先將防火牆設定中 Samba 所用到的連接埠進行開放。
[root@sample ~]# vi /etc/sysconfig/iptables  ← 編輯 iptables 設定檔

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT  ← 找到此行,在下面添加如下行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 138 -j ACCEPT

[root@sample ~]# /etc/rc.d/init.d/iptables restart  ← 重新啟動 iptables ,使新的規則生效
Flushing firewall rules:          [ OK ]
Setting chains to policy ACCEPT: filter   [ OK ]
Unloading iptables modules:       [ OK ]
Applying iptables firewall rules:      [ OK ]

  最後,啟動 Samba 服務。
[root@sample ~]# chkconfig smb on  ← 設定 Samba 自啟動

[root@sample ~]# chkconfig --list smb  ← 確認 Samba 啟動標籤,確認 2-5 為 on 的狀態
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off

[root@sample ~]# /etc/rc.d/init.d/smb start  ← 啟動 Samba 服務
Starting SMB services:       [ OK ]
Starting NMB services:       [ OK ]

從 Windows 用戶端串連到 Samba 伺服器

  在服務端啟動 Samba 服務後,我們就可以從 Windows 用戶端通過 Windows 網路連接到 Samba。這裡以 Windows XP 為例,說明如下串連過程:

1、從案頭開啟“網路位置”,並點擊“查看工作群組電腦”選項;

2、確認出現 Samba 服務端的串連,並雙擊該串連;(本站文檔的主機名稱以 Sample 為例)

3、輸入在服務端預先設定好的 Samba 使用者的使用者名稱及密碼;(使用者名稱同系統使用者名稱,密碼需要輸入在通過 smbpasswd 為該系統使用者佈建的 Samba 專用的密碼。)

4、然後確認能夠串連到 Samba 伺服器,並出現根目錄及 Samba 專用共用目錄。

  最後,在相應目錄進行建立、修改以及刪除檔案的操作,測試相應許可權的可操作性

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.