CentOS6.6搭建Samba共享服務

  1. Samba

Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通訊協議,它爲局域網內的不一樣計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機經過該協議能夠訪問服務器上的共享文件系統、打印機及其餘資源。經過設置"NetBIOS over TCP/IP"使得Samba不但能與局域網絡主機分享資源,還能與全世界的電腦分享資源。vim

簡單來講,Samba是實現Windows和Linux跨平臺文件共享的;Samba有兩個守護進程,分別是smbd和nmbd;安全

smb:監聽tcp 139 445端口,實現檔案共享、用戶驗證等;服務器

nmb:監聽udp137和138端口,實現netBIOS解析,處理瀏覽共享網絡


Linux上要實現Samba須要如下套件dom

Samba         實現服務tcp

samba-client    Linux客戶端ide

cifs-utils        實現跨平臺訪問工具



環境檢查


  1. 環境中是否已安裝Samba及相關套件spa

[root@SAMBA ~]# rpm -qa samba samba-client cifs-utilsunix

samba-client-3.6.23-12.el6.x86_64

cifs-utils-4.8.1-19.el6.x86_64


2)  安裝samba

通過檢查,samba-client和cifs-utils已經默認安裝(若是沒有安裝,安裝便可),因此安裝samba主服務便可;

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

採用yum安裝,自動解決依賴關係;


samba主配置文件介紹


主配置文件:

/etc/samb/smb.conf

默認配置:

[root@SAMBA ~]# grep -vE "^#|^$|^;" /etc/samba/smb.conf


[global]


workgroup = MYGROUP                          //samba全局設置

server string = Samba Server Version %v





# logs split per machine

log file = /var/log/samba/log.%m

# max 50KB per log file, then rotate

max log size = 50


security = user

passdb backend = tdbsam





# the login script name depends on the machine name

# the login script name depends on the unix user used

# disables profiles support by specifing an empty path









load printers = yes

cups options = raw

#obtain list of printers automatically on SystemV


[homes]                                                    //用戶共享目錄設置

comment = Home Directories

browseable = no

writable = yes


[printers]                                                  //打印設置

comment = All Printers

path = /var/spool/samba

browseable = no

guest ok = no

writable = no

printable = yes


另外該配置文件還提供了共享設置案例,只不過用;註釋掉了

[root@SAMBA ~]# grep -n  "^;" /etc/samba/smb.conf |tail -n 20

243:;   store dos attributes = yes

252:;   valid users = %S//指定受權訪問用戶或用戶組

253:;   valid users = MYDOMAIN\%S

264:;   [netlogon]//指定共享的自定義標識

265:;   comment = Network Logon Service//指定共享目錄的說明文字

266:;   path = /var/lib/samba/netlogon//指定共享的實際路徑

267:;   guest ok = yes//至關於public = yes ,全部人可用

268:;   writable = no//與read only相反,是否可寫

269:;   share modes = no

274:;   [Profiles]

275:;   path = /var/lib/samba/profiles

276:;   browseable = no//設置爲隱藏

277:;   guest ok = yes

282:;   [public]

283:;   comment = Public Stuff

284:;   path = /home/samba

285:;   public = yes

286:;   writable = yes

287:;   printable = no

288:;   write list = +staff


常見配置語句解析

workgroup: 工做組名稱

server string:服務器描述

security:    安全級別,user爲要求用戶驗證

comment:   對此共享目錄的說明文字

path:       共享目錄的實際位置

browseable: 是否可見,no爲隱藏

public:      是否全部人可見

writable:  是否可寫,與read only相反


除了以上說明以外,還能夠採用 man 5 smb.conf來幫助



帳號說明


SAMBA使用能夠採用匿名使用,可認證使用,具體採用方式由主配置文件中security決定;

samba一共有5種,分別是share、user、server、domain、ads。
1.share:全部人均可以訪問這臺samba服務器(不須要輸入用戶名和密碼)。
2.user:須要輸入有效的用戶名和密碼才能訪問samba服務器(身份驗證由samba服務器負責)。
3.server:與user相同,只是將身份驗證交由指定的另外一臺samba服務器負責。
4.domain:將身份驗證交由域控制器負責。
5.ads:將身份驗證交由域控制器負責(比domain更爲安全一點)。



共享訪問


Windows訪問


Linux訪問

smbclient訪問

smbclient L 服務器地址

smbclient //服務器地址/共享名

smbclient U 用戶名 //服務器地址/共享名



帳號管理


帳號設置

帳號名稱必須存在於系統中,但採用獨立的密碼,帳號文件存在於/var/lib/samba/private/passwd.tdb;訪問共享時,採用用戶和密碼登錄,權限取決於對應的系統帳號的權限;


帳號管理工具

pdbedit 工具

-a 指定系統帳戶爲samba帳戶,並設置密碼;

-L 查看共享帳號信息

-x 刪除共享帳號


案例解析

根目錄下/samba爲共享目錄,目錄內有music、carton、MV目錄,其中分別對應各種檔案,供上傳和下載;其中vip帳戶woon能夠寫;

1)設置環境

[root@SAMBA samba]# ls

carton  music  MV

2)配置共享

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

[music]

path = /samba

public = yes

read only = yes

write list = woon


3) 添加共享帳戶

[root@SAMBA samba]# pdbedit -a woon

[root@SAMBA samba]# useradd samba

[root@SAMBA samba]# pdbedit -a samba

[root@woon samba]# setfacl -d -m u:woon:rwx /samba/

4)重啓samba服務;

service smb restart

service nmb estart



實驗驗證


  1. woon用戶驗證

[root@woon ~]# ls -al /etc/ >> /samba/ls.log

[root@woon ~]# rm -rf /samba/install.log

[root@woon ~]# smbclient -U woon //192.168.239.128/music

Enter woon's password:

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.23-12.el6]

smb: \> ls

.                                   D        0  Tue Mar  3 17:48:13 2015

..                                 DR        0  Tue Mar  3 17:32:03 2015

MV                                  D        0  Tue Mar  3 17:38:00 2015

music                               D        0  Tue Mar  3 17:38:59 2015

ls.log                                   15220  Tue Mar  3 17:48:03 2015

acl                                 D        0  Tue Mar  3 17:34:37 2015

carton                              D        0  Tue Mar  3 17:33:47 2015


33788 blocks of size 262144. 14918 blocks available

smb: \> put install.log

putting file install.log as \install.log (8637.9 kb/s) (average 8638.1 kb/s)

smb: \> ls

.                                   D        0  Tue Mar  3 17:48:39 2015

..                                 DR        0  Tue Mar  3 17:32:03 2015

MV                                  D        0  Tue Mar  3 17:38:00 2015

music                               D        0  Tue Mar  3 17:38:59 2015

ls.log                                   15220  Tue Mar  3 17:48:03 2015



Linux訪問Windows共享文件夾

mount -t smbfs -o username=user,iocharset=GB2312 -l //192.168.1.100/test /mnt/test

相關文章
相關標籤/搜索