Samba服務不僅可以實現linux和win之間的檔案共享,也可以實現linux和linux之間的共享,samba的使用者只限服務端本地使用者使用。
本文的環境是selinux開啟的情況下配置
Samba服務配置:
首選安裝samba軟體包:
建立一個打算共享的目錄:修改目錄的許可權
在目錄中建立幾個檔案以示區別:
安裝修改目錄安全上下文的軟體包:
修改目錄的安全上下文:
也可以使用chcon –t samba_share_t /hello 穩定性沒永久生效的好
檢視下修改後的目錄安全上下文:
配置samba服務端:
引數我們一個一個舉例看:
重啟服務:
匿名使用者測試下:(匿名使用者是不可以使用samba服務的)
但是匿名使用者可以檢視到samba服務端共享出的目錄:
新增2個samba使用者:
使用本地使用者登陸:(只要新增了samba使用者,不寫目錄的有效使用者,系統預設都可以登入)
我們目錄雖然給了寫的許可權,發現依舊不可以上傳,目錄許可權和samba配置檔案許可權取交集。
Win客戶端的測試:(只要我們登陸samba服務就必須要使用者名稱和密碼,杜絕了匿名使用者的訪問;linux客戶端好歹還能看到共享的目錄,win你只要登入就要密碼,連看都沒許可權,更嚴格)
使用samba使用者登陸:(配置檔案預設samba使用者家目錄是開啟的)
試著開啟westos共享目錄:(完全沒問題)
我們建立個檔案看看ok不?(提示沒許可權)
看看能不能大家lee使用者的家目錄:(也不行,這是因為我們的selinxu布林值並未開啟家目錄,所以只能看不能訪問)
Win系統它的快取建立的很到位,只要我們訪問過samba服務,在一定的時間內,你再次訪問,不需要使用者名稱,密碼可以直接進去。使用一下方法斷開連線
我們再次配置samba服務:加public共工的,這個目錄誰都可以看到
客戶端測試:(匿名使用者可以登陸)linux客戶端可以,win不行,你一登陸就提示要使用者名稱,密碼,不寫不讓登。
普通使用者也試試:
配置samba服務:writeable =yes 所有使用者都具有寫的許可權,包括匿名使用者。
匿名使用者:
不僅可以登陸還可以上傳檔案
測試下本地使用者:上傳沒問題
Win客戶端測試:
有寫的許可權就意味了我們可以刪除,建立目錄,上傳檔案:
配置samba服務:write list = 指定某個使用者具有寫的許可權,其他人都沒有:
客戶端測試:redhat使用者
使用lee使用者:
不ok,沒許可權
配置samba服務:@redhat redhat這個組可以寫,其他人不能寫
把lee使用者新增到redhat這個組:
客戶端測試:lee使用者又可以寫了
配置samba服務:隱藏westos目錄
測試:完全看不到westos目錄
Win客戶端也測試:samba本地使用者也一樣看不到
等於yes是呢?
配置samba服務:對這個目錄的有效使用者
測試:發現不可以訪問
拿win測:發現你進入這個目錄還是要密碼使用者名稱的、
給samba服務新增個管理員:
管理員以為這什麼?這是之前我們上傳的檔案,所有者,所屬組,幾乎都為登陸使用者的身份,但是當lee使用者作為管理員之後,他所做的動作都將變為root身份。
還有很多其他的引數:
password server = # 其他的NT 伺服器,或samba伺服器但security=server或domain 的ntbios 名字
hosts allow = 192.168.0. #指定那些主機可以訪問
hosta deny = 192.168.8. #指定那些主機不可以訪問
interfaces = 192.168.0.100/255.255.255.0 #設定samba將對哪些網路介面進行服務。
log file = /var/log/samba/%m.log #日誌檔案
max log size = 0 #日誌檔案的大小
log level = 0 # 日誌級別 0 表示沒有,3 一般比較合理
syslog = 2 # syslog的日誌級(0,err)(1,warning)(2,notice)(3,ifno)(4或以上,debug)
syslog only = yes #只使用系統日誌,關閉samba日誌