准備安裝
環境: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