天天看點

SAMBA

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  #并設定密碼

SAMBA

這樣就完了!!!!!!!完了!!!!!登陸就行了,可以用win鍵+r來運作這個,并輸入\\加剛才開啟服務的ip位址回車登入賬号密碼,好的成功!

SAMBA

這時候有個問題,若伺服器有兩個samba賬号但是第二次用windows登陸卻不用輸密碼直接登入!怎麼才能使用另外的賬号登入呢,這就需要清除windows的緩存了

    net use  

檢視連接配接

    net  use  \\172.17.66.166\ipc$  /del  用該指令清除

之後再登陸一次可以再次輸入賬号密碼!

SAMBA

centos系統中連接配接指令需要安裝samba-client這個包

連接配接指令:smbclient  

//172.17.66.166/smb1  -u smb1

輸入密碼就行了

SAMBA

·/etc/samba/smb.conf

設定:

hosts allow =  

x.x.x.x   #允許哪些主機可以通路我

log file =

/var/log/samba/log.%i  #%i表示來訪者的ip位址若沒有log level

這個等級設定則不記錄日志,來訪時隻生成檔案沒内容。

SAMBA

重新建立一個共享目錄:

SAMBA

共享目錄名[smbshare1]搜尋可看到,實際目錄名/app/share1則看不到,兩者毫不相關!

comment  

#描述資訊

read only = no

#預設隻讀,想要讀寫則添加此行(writable=yes功能跟read only

= no一樣)

·public = yes  

#不要賬号即能登陸,一般不用

valid users =  smb1  smb2  

#隻允許這兩個使用者可以登陸,也可以使用linux使用者組,前提使用者已經加入到samba賬号裡面用@或+加上組名

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任何人可讀不安全

SAMBA

檔案格式檔案名随意指定,但是兩邊要對應賬号密碼存放檔案權限可設定為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

SAMBA

想使用幾個使用者建立幾個檔案(跟使用者對應),檔案内定義不同的路徑和權限,用戶端登入則顯示不同的内容擁有不同的權限。

繼續閱讀