安裝配置samba:
準備工作:
173/udp(NetBIOS)
138/udp
139/tcp
445/tcp
這些端口已經啟動。
然后確定selinux已經關閉(#getenforce)。
一般我們裝好系統之后samba都會安裝的:yum list all samba*
這里我選用的是samba3x.i386 ?3.5.10-0.107.el5 版本
而一般系統默認為 samba.i386 ? ? 3.0.33-3.37.el5 ?版本(卸載:rpm -e samba-client samba-common)
然后安裝 ?samba3x.i386 ?3.5.10-0.107.el5 版本(yum -y install samba3x samba3x-client samba3x-common)
這種方法只局限于筆者所采用的環境,嘿嘿,其實這些簡單安裝你懂得。。。
當samba安裝好之后它會啟動兩個進程:nmbd(提供NetBIOS)和smbd(提供文件共享)
samba的服務腳本:/etc/rc.d/init.d/smb
samba的配置文件:/etc/samba/所有文件,主配置文件是:smb.conf
打開主配置文件:vim smb.conf
解析:所有#開頭的都是注釋
? ? ? 所有;開頭的也是注釋但是這個注釋為可以啟用的參數或指令或選項
??#======================= Global Settings ==================全局配置(定義),對所有共享都有效。
??#======================= Share Definitions ================家目錄設置,共享定義。
?其中:
?[printers] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 共享名稱 ? ? ? ? comment = All Printers ? ? ? ? path = /var/spool/samba ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?共享路徑 ? ? ? ? browseable = no ? ? ? ? guest ok = no ? ? ? ? writable = no ? ? ? ? printable = yes |
?# ----------------------- Netwrok Related Options ------------------------- # # workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH # # server string is the equivalent of the NT Description field # # netbios name can be used to specify a server name not tied to the hostname # # Interfaces lets you configure Samba to use multiple interfaces # If you have multiple network interfaces then you can list the ones # you want to listen on (never omit localhost) # # Hosts Allow/Hosts Deny lets you restrict who can connect, and you can # specifiy it as a per share option as well # ? ? ? ? workgroup = MYGROUP ? ? ? ? ? ? ? ? ? ? ? ? ? ? 工作組 ? ? ? ? server string = Samba Server Version %v ? ? ? ? ?描述信息 %V為宏(類似常量一次定義永久有效) ; ? ? ? netbios name = MYSERVER ? ? ? ? ? ? ? ? ? ? ? ? 當前這臺主機的netbios名稱,沒有啟用就默認為當前主機的主機名的第一段 ; ? ? ? interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24? ; ? ? ? hosts allow = 127. 192.168.12. 192.168.13. |
?# --------------------------- Logging Options --------------------------關于日志的選項 # # Log File let you specify where to put logs and how to split them up. # # Max Log Size let you specify the max size log files should reach ? ? ? ? # logs split per machine ? ? ? ? ? ? ? ? ? ? 每個客戶端來訪問時使用獨立的日志文件 ? ? ? ? log file = /var/log/samba/log.%m ? ? ? ? ? ? 客戶端主機自己的IP地址或名字 ? ? ? ? # max 50KB per log file, then rotate ? ? ? ? max log size = 50 ? ? ? ? ? ? ? ? ? ? ? ? ? ?日志文件最大為50KB |
?# ----------------------- Standalone Server Options ----------------------獨立守護進程 # # Scurity can be set to user, share(deprecated) or server(deprecated) # # Backend to store user information in. New installations should? # use either tdbsam or ldapsam. smbpasswd is available for backwards? # compatibility. tdbsam requires no further configuration. ? ? ? ? security = user ? ? ? ? ? ? ? ? ? ? ?一種級別 ? ? ? ? passdb backend = tdbsam ? ? ? ? ? ? ?用戶的賬號和密碼所存放的格式 |
?# ----------------------- Browser Control Options ------------------------瀏覽時的控制信息 # # set local master to no if you don't want Samba to become a master # browser on your network. Otherwise the normal election rules apply # # OS Level determines the precedence of this server in master browser # elections. The default value should be reasonable # # Preferred Master causes Samba to force a local browser election on startup # and gives it a slightly higher chance of winning the election ; ? ? ? local master = no ; ? ? ? os level = 33 ; ? ? ? preferred master = yes |
?#============================ Share Definitions ==========================共享定義 [homes] ? ? ? ? ? ? ? ? ? ? ? ? ? ? 它是定義一個用戶是否可以通過samba訪問自己的家目錄的,對于不同的用戶來講它顯示不同結果的 ? ? ? ? comment = Home Directories ? ? ? ? ?注釋,說明信息 ? ? ? ? browseable = no ? ? ? ? ? ? ? ? ? ? 是否被其他用戶看到瀏覽到 ? ? ? ? writable = yes ? ? ? ? ? ? ? ? ? ? ?是否具有寫權限 ; ? ? ? valid users = %S ; ? ? ? valid users = MYDOMAIN\%S [printers] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 打印機 ? ? ? ? comment = All Printers ? ? ? ? ? ? ? 所有打印機 ? ? ? ? path = /var/spool/samba ? ? ? ? ? ? ?路徑 ? ? ? ? browseable = no ? ? ? ? ? ? ? ? ? ? ?是否被其他用戶看到瀏覽到 ? ? ? ? guest ok = no ? ? ? ? ? ? ? ? ? ? ? ?是否允許來賓賬號訪問 ? ? ? ? writable = no ? ? ? ? ? ? ? ? ? ? ? ?是否具有寫權限 ? ? ? ? printable = yes ? ? ? ? ? ? ? ? ? ? ?是否允許打印 |
此外常用的還有:
public = 表示是否具有讀權限
read only = 表示是否是只讀的 決不允許與writable = yes 同時存在
write list = 定義可寫用戶列表?
? ? ? ? ? ? ?@group ?表示定義可寫用戶組名或+group
valid users = 只允許哪些用戶訪問(白名單)
invalid users = 不允許哪些用戶訪問(黑名單)
[shared_name] ? 共享名稱
windows訪問linux共享:
下面來定義一個共享
首先:mkdir -pv /share/test
然后: vim smb.conf 在最后添加:
再然后 命令#testparm 測試是不是有語法問題,再按回車鍵可以查看所有定義的有效信息
啟動服務完成。
創建一個用戶賬號(采用的是hive)然后利用命令#smbpasswd -a hive 添加用戶到smb用戶中(密碼設置盡量不要與系統密碼一致)
使用windows打開查看:
在家目錄中創建一個新文本
在進入系統查看結果:
由此可見家目錄寫入權限是可以的
而在tools中無法執行寫入權限:
原因:
?
其他用戶無權限,使用命令:#setfacl -m u:hive:rwx /share/test/更改權限?
?
這樣就可以了。
linux訪問windows共享:
1,熟悉一個命令:
smbclient
? ? -L NetBIOS_Name 或者直接輸入IP地址 ? ? ? 表示我們要訪問哪臺主機
-U username ? ? ? ?實現認證的
-P 密碼
2,在windows上創建一個共享文件
3,利用smbclient -L IP地址 ?進行連接 利用的是來賓賬戶進行連接的
4,若要利用用戶名進行連接
首先,在windows上創建一個用戶設置好密碼
然后,smbclient -L IP地址 -U 用戶名
5,利用smbclient //172.16.11.1/tools -U hive 可以查看內容上傳內容下載內容(下載前要查看自己本地所在目錄:!pwd ,切換本地目錄用!cd)退出用exit
?
?
基于IP的訪問控制
1,利用iptables
2,利用samba
? ?在配置文件中有一個hosts allow = IP地址 ? ? ?這是一個白名單,若要有多個IP地址使用空格隔開
3,使用samba-swat
? ? (1)安裝與版本匹配的samba-swat
(2)啟動xinetd(service xinetd start)
(3)啟動swat(chkconfig swat on)
(4)重啟xinetd
4,非獨立進程都有一個單獨的配置文件(/etc/xinetd.d/下)對應的都是進程的名稱
5,打開/etc/xinetd.d/swat文件
?only_from ? ? ? = 172.16.0.0/16 ? ? ? ? ? ?改為當前網段 |
6,用瀏覽器打開IP地址就可以了(記得要加上端口號:901)
?
關于samba安裝配置使用已基本結束,若感覺不太習慣可使用ftp等。。。
?
?
本文轉自 z永 51CTO博客,原文鏈接:http://blog.51cto.com/pangge/1052522