samba:
啟動服務:
systemctl start
smb
service smb start
samba
的功能:
共享檔案和列印,實作線上編輯
實作登入samba 使用者的身份認證
可以進行netbios 名稱解析
外圍裝置共享
相關包:
samba 提供smb 服務
samba-client
用戶端
軟體
samba-common
通用軟體
cifs-utils smb
工具
samba-winbind
和 和ad
相關
相關服務程序:
smbd 提供smb (cifs務 )服務
tcp:139,445
nmbd netbios
名稱解析
udp:137,138
主配置檔案:/etc/samba/smb.conf
幫助參看:man smb.conf
文法檢查 例: testparm -v
/etc/samba/smb.conf
宏定義:
%m 用戶端主機的netbios名 %m
用戶端主機的fqdn
%h 目前使用者家目錄路徑
%u目前使用者使用者名
%g 目前使用者所屬組 %h
samba伺服器的主機名
%l samba 伺服器的netbios名 %i
用戶端主機的ip
%t 目前日期和時間
%s可登入的使用者名
簡單的samba指令:
添加samba
使用者
smbpasswd -a
<user>
pdbedit -a -u
修改使用者密碼
smbpasswd
删除 使用者和密碼
:
smbpasswd –x
pdbedit –x –u
檢視samba 使用者清單
/var/lib/samba/private/passdb.tdb
pdbedit –l –v
檢視samba
伺服器狀态
smbstatus
簡單的建立使用者,并用windows連接配接samba:
先啟服務
在centos6中建立使用者這裡建立了nologin類型的使用者
useradd -s
/sbin/nologin smb1
用smbpasswd 指令添加為samba服務的使用者,跟centos沒有關聯
: smbpasswd -a smb1 #并設定密碼

這樣就完了!!!!!!!完了!!!!!登陸就行了,可以用win鍵+r來運作這個,并輸入\\加剛才開啟服務的ip位址回車登入賬号密碼,好的成功!
這時候有個問題,若伺服器有兩個samba賬号但是第二次用windows登陸卻不用輸密碼直接登入!怎麼才能使用另外的賬号登入呢,這就需要清除windows的緩存了
net use
檢視連接配接
net use \\172.17.66.166\ipc$ /del 用該指令清除
之後再登陸一次可以再次輸入賬号密碼!
centos系統中連接配接指令需要安裝samba-client這個包
連接配接指令:smbclient
//172.17.66.166/smb1 -u smb1
輸入密碼就行了
·/etc/samba/smb.conf
設定:
hosts allow =
x.x.x.x #允許哪些主機可以通路我
log file =
/var/log/samba/log.%i #%i表示來訪者的ip位址若沒有log level
這個等級設定則不記錄日志,來訪時隻生成檔案沒内容。
重新建立一個共享目錄:
共享目錄名[smbshare1]搜尋可看到,實際目錄名/app/share1則看不到,兩者毫不相關!
comment
#描述資訊
read only = no
#預設隻讀,想要讀寫則添加此行(writable=yes功能跟read only
= no一樣)
·public = yes
#不要賬号即能登陸,一般不用
valid users = smb1 smb2
#隻允許這兩個使用者可以登陸,也可以使用linux使用者組,前提使用者已經加入到samba賬号裡面用@或+加上組名
invalid users
#跟上面意思相反
browsable = no
#不可檢視(若知道名可以檢視也可以登入,檢視全部時檢視不到,隐藏檔案)
write list = smb1
#不設定寫權限,則在此設定的使用者具有寫權限(例如1,2,3使用者valid
user =1 ,2則3不能登陸,write list = 1 則2可以登陸不能寫,1能登陸能寫)
testparm
指令來測試檔案内容
mount
挂載
mount -o
username=smb1 //192.x.x.x/smb1 /mnt/smb1
·寫到fstab内:賬号密碼可以寫檔案内fstab任何人可讀不安全
檔案格式檔案名随意指定,但是兩邊要對應賬号密碼存放檔案權限可設定為400(僅自己可讀)
多使用者挂載:添加multiuser(在fstab檔案内default列加上multiuser)選項多使用者挂載
在上面的例子中1,2,3使用者通路權限不一樣的前提下
#在存放賬号密碼的檔案内使用3使用者登入(權限最小的),伺服器用戶端都要存在這三個系統賬号,在用戶端切換到1(su
- 1),本身是用3挂載權限最小,但是執行此指令(切換使用者在1上執行cifscreds add -u 1 192.168.x.x
)代表使用1登入samba,拿到讀和寫的權限。
使用者不同檢視到的檔案夾不同:
(相當于一個使用者一個配置檔案的感覺)
在全局[global]下添加:
config file =
/etc/samba/conf.d/%u( %u 跟使用者同名的檔案)
vim
/etc/samba/conf.d/smb1
想使用幾個使用者建立幾個檔案(跟使用者對應),檔案内定義不同的路徑和權限,用戶端登入則顯示不同的内容擁有不同的權限。