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 <user>

修改用戶密碼

smbpasswd <user>

刪除 用戶和密碼 :

smbpasswd –x <user>

pdbedit –x –u <user>

查看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  #並設置密碼

  cf5403315e182b61e17c6f5342975fc2.png


這樣就完了!!!!!!!完了!!!!!登陸就行了,可以用win鍵+R來運行這個,並輸入\\加剛纔開啓服務的ip地址回車登錄賬號密碼,好的成功!

b0741c1afd384dc12e3f770a544d5ee9.png

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

    net use   查看連接

    net  use  \\172.17.66.166\IPC$  /del  用該命令清除

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

38134b4f48d568386e05094c2d666423.png

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

連接命令:smbclient   //172.17.66.166/smb1  -U smb1

輸入密碼就行了

d9eb5b2d8e201c691d5dba863f216406.png

·/etc/samba/smb.conf 設置:

hosts allow =   x.x.x.x   #允許哪些主機可以訪問我

log file = /var/log/samba/log.%I  #%I表示來訪者的IP地址若沒有log level 這個等級設定則不記錄日誌,來訪時只生成文件沒內容。

284cf476a84b479d9af273ed2e6de201.png

重新創建一個共享目錄:

f5fd8780a412e0026875c987529bb9a3.png

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

comment   #描述信息

read only = NO #默認只讀,想要讀寫則添加此行(writable=yes功能跟read only = No一樣)

·public = yes   #不要賬號即能登陸,一般不用

valid users =  smb1  smb2   #只允許這兩個用戶可以登陸,也可以使用linux用戶組,前提用戶已經加入到samba賬號裏面用@或+加上組名

0b649b6f0e7fbd116c256590c6245532.png

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


cde4e4adcc9af6e22a4f8e4f26e3ba48.png

文件格式文件名隨意指定,但是兩邊要對應賬號密碼存放文件權限可設置爲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

  316a56d7201028a39d25b7e2323127d4.png  

想使用幾個用戶創建幾個文件(跟用戶對應),文件內定義不同的路徑和權限,客戶端登錄則顯示不同的內容擁有不同的權限。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章