歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> CentOS 6.3 Samba文件服務器詳細配置步驟

CentOS 6.3 Samba文件服務器詳細配置步驟

日期:2017/3/3 16:34:09   编辑:關於Linux

准備安裝

環境:CentOS 6.3_x64bit

安裝:Minimal(最小)

1、配置IP地址

2、掛載:[root@localhost ~]# mount -t iso9660 /dev/cdrom /etc/mnt

3、安裝YUM

4、查看Samba軟件包

[root@localhost ~]# rpm -qa | grep samba*

package samba-3.0.33-3.7.el5.i386.rpm is not installed //samba服務器的所有文件

package samba-client-3.0.33-3.7.el5.i386.rpm is not installed //samba客戶機的所有文件

package samba-common-3.0.33-3.7.el5.i386.rpm is not installed //服務器和客戶機都需要的公共文件夾

package samba-swat-3.0.33-3.7.el5.i386.rpm is not installed //redhat公司為圖形界面編輯的文件

安裝 Samba(方法一)#yum install samba (推薦使用)

安裝 Samba(方法二)使用RPM包安裝

#rpm -ivh samba-3.0.33-3.7.el5.i386.rpm //samba服務器安裝的所有文件

#rpm -ivh samba-client-3.0.33-3.7.el5.i386.rpm //samba客戶機安裝的所有文件

5、創建共享文件夾:

#mkdir /data/share/public caiwu yanfa jishu

#chmod 777 public caiwu yanfa jishu

6、創建三個用戶組:

#groupadd caiwu yangfa jishi

創建用戶:(添加到相應的組裡)

#useradd user1 -g caiwu

#smbpasswd -a user1

小提示:

smbpasswd -a 添加 user

-x 刪除

-e 啟用

-d 禁用

7、備份Samba 配置文件

備份:cp /etc/samba/smb.conf /etc/samba/smb.confbak

恢復:cp /etc/samba/smb.confbak /etc/samba/smb.conf

8、配置vi /etc/samba/smb.conf

======================= Global Settings =====================================

[global] //設置samba服務整體環境

workgroup = WORKGROUP //設置工作組名

server string = Samba Server //服務器名說明

hosts allow = 192.168.1. 192.168.2. 127. //限制可訪問此服務的IP范圍,默認是全部允許的,要是想設設置去掉前面的";"

printcap name = /etc/printcap //打印機配置文件

load printers = yes //是否共享打印機

# bsd, sysv, plp, lprng, aix, hpux, qnx, cups

printing = cups //打印機的類型.標准打印機類型包括以上幾種.

guest account = pcguest //pcguest為用戶名.可改去掉前邊的";"讓用戶以

pcguest身份匿名登錄,但保證/etc/passwd中有此人.

log file = /var/log/samba/%m.log //為登錄服務器的用戶建立不同的日志文件.

max log size = 0 //日志文件的大小,"0"代表無限制

//以下是smb.conf文件對服務器安全級別的設置

security = user //安全性的級別共四種.share:不驗證(不推薦)、user:驗證用戶名和密碼 (推薦)、server:服務器驗證、domain:windows域驗證

password server = 密碼驗證服務器.

password level = 8 //密碼級別

username level = 8

encrypt passwords = yes //用戶密碼加密,當然也可以不加密

smb passwd file = /etc/samba/smbpasswd //將密碼服務器設置為samba server.需要這個東東來指定驗證文件.這個是文件的路徑,如果samba server是指定的winserver這個不需要

ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt

unix password sync = Yes

passwd program = /usr/bin/passwd %u

passwd chat = *New*password* %n\n *Retype*new*password* %n\n

*passwd:*all*authentication*tokens*updated*successfully*

pam password change = yes

username map = /etc/samba/smbusers //如果每個windows用戶在samba服務器中有帳戶這個可以不設

include = /etc/samba/smb.conf.%m

obey pam restrictions = yes

interfaces = 192.168.12.2/24 192.168.13.2/24 如果多網段要在這裡列出

remote announce = 192.168.1.255 192.168.2.44

local master = no

os level = 33

domain master = yes

preferred master = yes

domain logons = yes

logon script = %m.bat

logon script = %U.bat

logon path =

\\%L\Profiles\%

wins support = yes //wins server支持

wins server = w.x.y.z

wins proxy = yes //wins 代理設置

dns proxy = no //dns代理設置

preserve case = no

short preserve case = no

default case = lower

case sensitive = no

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

[public] //設置共享文件夾名稱

comment = public //注釋

path = /data/share/public //samba服務器共享目錄路徑

public = yes                    //所有人公開共享
write list = yanghw //可寫用戶或組
create mode = 0777 //建立文件時所給的權限
directory mode = 0777 //建立文件時所給的權限
[技術部] //設置共享文件夾名稱
comment = 技術部資料 //注釋
path = /data/share/jishu //samba服務器共享目錄路徑
public = no //禁止共享,指定的用戶共享
valid users = @jisji,user2 //設定只有此名單內的用戶才能訪問共享資源(拒絕優先)(用戶名/@組名
write list = @jishu //可寫用戶或組
create mode = 0775 //建立文件時所給的權限
directory mode = 0775 //建立目錄時所給的權限

注釋說明:

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

[homes]

comment = Home Directories

browseable = no

writable = yes

valid users = %S

使用者本身的"家"目錄,當使用者以samba使用者身份登入samba server 後,

samba server 底下會看到自己的家目錄,目錄名稱是使用者自己的帳號

[分享的資源名稱]

<指令1>; = (參數)

<指令2>; = (參數)

..........................

要提供分享資源時,須先把欲分享的資源以 [ ] 符號括住,底下通常會帶指令和參數來表示此資源的設定和存取權限等,詳情如下:

[ ] --------- 共享文件夾名稱

Comment = XXX---------注釋說明

Path = /data/share/public------------分享資源的完整路徑名稱,除了路徑要正確外,目錄的權限也要設對

Browseable = ------是yes/否no在浏覽資源中顯示共享目錄,若為否則必須指定共享路徑才能存取

Printable = -------是yes/否no允許打印

hide dot ftles = --是yes/否no隱藏隱藏文件

Public = ----------是yes/否no公開共享,若為否則進行身份驗證(只有當security = share 時此項才起作用)

guest ok = --------是yes/否no公開共享,若為否則進行身份驗證(只有當security = share 時此項才起作用)

read only = -------是yes/否no以只讀方式共享當與writable發生沖突時也writable為准

Writable = --------是yes/否no不以只讀方式共享當與read only發生沖突時,無視read only

vaild users = -----設定只有此名單內的用戶才能訪問共享資源(拒絕優先)(用戶名/@組名)

invalid users = ---設定只有此名單內的用戶不能訪問共享資源(拒絕優先)(用戶名/@組名)

read list = -------設定此名單內的成員為只讀(用戶名/@組名)

write list = ------若設定為只讀時,則只有此設定的名單內的成員才可作寫入動作(用戶名/@組名)

create mask = -----建立文件時所給的權限

directory mask = --建立目錄時所給的權限

force group = -----指定存取資源時須以此設定的群組使用者進入才能存取(用戶名/@組名)

force use = r------指定存取資源時須以此設定的使用者進入才能存取(用戶名/@組名)

allow hosts = -----設定只有此網段/IP的用戶才能訪問共享資源

allwo hosts = 網段 except IP

deny hosts = ------設定只有此網段/IP的用戶不能訪問共享資源

allow hosts = 本網段指定IP指定IP

deny hosts = 指定IP本網段指定IP

9、重啟:

#chkconfig smb on  //設置 Samba開機自動啟動

#service smb restart //啟動 重啟 停止samba服務器

#service nmb restart

#testparm //測試smb.conf文件是否有語法錯誤

10、關閉防火牆

#iptables -F

11、開啟Samba 端口:

# vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 137 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 138 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

# service iptables restart

iptables:清除防火牆規則: [確定]

iptables:將鏈設置為政策 ACCEPT:filter [確定]

iptables:正在卸載模塊: [確定]

iptables:應用防火牆規則: [確定]

12、XP訪問:

\\.0.0.0

Samba如何隱藏用戶目錄

如下(前面添加注釋“;”):

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

;[homes]

; comment = Home Directories

; browseable = no

; writable = yes

; valid users = %S

; valid users = MYDOMAIN%\S

注意:

SELinux關閉

1 永久方法 – 需要重啟服務器

修改/etc/selinux/config文件中設置SELINUX=disabled ,然後重啟服務器。

2 臨時方法 – 設置系統參數

使用命令setenforce 0

LINUX關閉防火牆

1 重啟後永久性生效:

開啟:chkconfig iptables on

關閉:chkconfig iptables off

2 即時生效,重啟後失效:

開啟:service iptables start

關閉:service iptables stop

需要說明的是對於Linux下的其它服務都可以用以上命令執行開啟和關閉操作。

在開啟了防火牆時,做如下設置,開啟相關端口,

修改/etc/sysconfig/iptables 文件,添加以下內容:

#配置防火牆開啟端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT

service iptables restart 重啟防火牆,使規則生效

或者:

/etc/init.d/iptables status 會得到一系列信息,說明防火牆開著。

/etc/rc.d/init.d/iptables stop 關閉防火牆

最後:

在根用戶下輸入setup,進入一個圖形界面,選擇Firewall configuration,進入下一界面,選擇Security Level為Disabled,保存。重啟即可。

本文出自 “運維工作奮斗” 博客,請務必保留此出處http://yanghuawu.blog.51cto.com/2638960/890696

Copyright © Linux教程網 All Rights Reserved