samba服務及訪問控制


一.關於samba的介紹linux

1.Samba服務器的常見應用ios

(1)能夠提供用戶登陸samba主機時進行身份驗證。數據庫

(2)實現類unix機器與windows機器的文件共享。vim

2.Samba使用的協議windows

 (1)NetBIOS over TCP/IP : 最先IBM開發NETBIOS的目的僅是要讓局域網內少數計算機進行網絡鏈接的一個通訊協議而已。而samba最先發展時,是想要讓linux系統能夠加入windows的系統當中來,共享彼此的文件數據,因此固然samba就架構在NetBIOS之上而發展起來,可是NetBIOS沒法跨路由,把NetBIOS實如今TCP/IP之上就能夠跨路由了服務器

3. Samba使用的服務網絡

smbd:這個服務主要的功能就是用來管理samba主機共享目錄,文件與打印機信息等架構

nmbd:它是用來管理羣主和NetBIOS Name解析的tcp

smb:tcp 139 445   處理samba的數據,實現共享ide

nmb:udp 137 138   可以實現經過FQDN的方式訪問samba共享


4. Samba 服務及配置文件相關介紹

(1)Samba

這個軟件主要包括了samba的主要服務(smbd,nmbd),samba的文件,與samba相關logrotate設置文件,及默認選項等

(2)samba-common

這個軟件提供了samba的主要配置文件(smb.conf)

(3)samba-Client

這個軟件提供了當linux做爲samba Client端時,所須要的工做指令

(4)# vim /etc/samba/smb.conf

57 [global]     //全局配置的訪問控制

74         workgroup = MYGROUP  ///工做組的名稱

75         server string = Samba Server Version %v //主機的簡易說明

77 ;       netbios name = MYSERVER       //主機的NetBIOS名稱

79 ;       interfaces = lo eth0 192.168.12.2/24192.168.13.2/24

// 監聽的網卡,能夠是網卡的名字,也能夠是網段

80 ;       hosts allow = 127. 192.168.12. 192.168.13.   //容許哪些網段

101         security = user    //samba的共享的驗證方式:share:客戶端使用samba共享不須要  密碼,user :客戶端使用samba共享須要輸入用戶名和密碼

102         passdb backend = tdbsam

//   tdbsam:/etc/samba/下生成一個數據庫文件,用來保存建立的samba用戶和密碼

248 [homes]       // 共享名,每一個samba用戶,都有權力去訪問本身的家目錄,samba用戶的前身,必須是系統的普通用戶

249         comment = Home Directories   //描述信息

250         browseable = no      //目錄瀏覽權限

251         writable = yes    //是否可寫(建立文件或目錄)

252 ;       valid users = %S

253 ;       valid users = MYDOMAIN\%S

用戶的我的設置:

282 ;       [public]               //共享名

283 ;       comment = Public Stuff   //描述信息


284 ;       path = /home/samba       //真正的共享目錄位置

285 ;       public = yes     //是否能夠匿名訪問


286 ;       writable = yes    //能夠訪問的用戶是否有寫入權限,要與文件權限配合使用


287 ;       printable = no   //若是yes 那麼這個目錄就被認爲是一個打印機,因此通常咱們設置成 printables = no


288 ;       write list = +staff     //容許寫入權限的用戶列表


二.Samba的基本配置

(1)安裝

[root@tx1 ~]# yum install samba -y

簡單定義一個屬於本身的共享目錄

[root@tx1 ~]# vim /etc/samba/smb.conf


[root@tx1 ~]# useradd t2

[root@tx1 samba]# smbpasswd -a t2

New SMB password:

Retype new SMB password:

Added user t2.

[root@tx1 samba]# /etc/init.d/smb start

Starting SMB services:                                     [  OK  ]

Starting NMB services:                                     [  OK  ]


(2)設置共享路徑

[root@tx1 samba]# mkdir /tmp/samba -pv

mkdir: created directory `/tmp/samba'

[root@tx1 samba]# chmod 1757 /tmp/samba

注意權限設置好哦!

[root@tx1 samba]# /etc/init.d/smb restart

(3)linux客戶端測試

客戶端查看服務器有哪些共享信息:

掛載使用:

[root@tx2 ~]# mount //192.168.8.70/public /mnt -o user=t2

Password:

或者

[root@tx2 ~]# mount //192.168.8.70/public /mnt -o user=t2,password=123

[root@tx2 ~]# cd /mnt/

[root@tx2 mnt]# touch tx

返回到服務端查看:

[root@tx1 samba]# cd /tmp/samba/

[root@tx1 samba]# ls

tx

(4)Windos端測試:

(5)客戶端實現開機自動掛載

[root@tx2 ~]# vim /etc/fstab

三.Samba的訪問控制

(1)ip方式

[root@tx1 samba]# vim /etc/samba/smb.conf

79 ;       interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24

80 ;       hosts allow = 127. 192.168.12. 192.168.13.

打開這兩行的註釋,把容許的網段或ip寫進去就好了。


(2)匿名用戶

[root@tx1 samba]# vim /etc/samba/smb.conf

101         security = share

289  [public]

290  comment = Public Stuff

291  path = /tmp/samba

292  writable = yes

293  public = yes   //這個地方不要忘了哦!


[root@tx1 samba]# /etc/init.d/smb restart

用戶名和密碼都不用輸入,直接回車就能夠了


(3)服務器方面控制用戶的讀寫

valid users =   有效的用戶

valid users = user1 user(用戶) @user3(組)

writable = yes/no     可寫/不可寫

write list = user1user2 @user3可寫的用戶/組的列表  

read only = yes/no    可讀/不可讀

read list = user1 user2 user3 可讀的用戶列表


例:@1

user1只讀,其餘的用戶都是能夠讀寫的

[root@tx1 samba]# vim /etc/samba/smb.conf

101 security = user

289 [share]

290 comment = my samba

291 path = /tmp/samba

292 writable = yes

293 read list = user1

[root@tx1 samba]# vim /etc/samba/smb.conf

[root@tx1 samba]# useradd user1

[root@tx1 samba]# cd /etc/samba/

[root@tx1 samba]# smbpasswd -a user1

New SMB password:

Retype new SMB password:

Added user user1.

[root@tx1 samba]# /etc/init.d/smb restart

測試:

Permission denied


例@2

sa1用戶能夠讀寫,其餘的用戶只讀

read only = yes

write list = sa1


例@3

sa1用戶能夠讀寫,sa2用戶能夠讀,其餘的用戶不能夠訪問

valid users = sa1 sa2

write list = sa1


這裏就不作測試了,用戶的權限能夠本身定義,另外要注意得和實際的權限相符!

相關文章
相關標籤/搜索