中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Samba服務(wù)器應(yīng)用使用的詳細教程

2018-09-28    來源:愛站科技

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

  今天小編給大家分享一篇Samba服務(wù)器應(yīng)用使用的詳細教程,感興趣的朋友跟小編一起來了解一下吧!

  Samba協(xié)議基礎(chǔ)

  在NetBIOS出現(xiàn)之后,Microsoft就使用NetBIOS實現(xiàn)了一個網(wǎng)絡(luò)文件/打印服務(wù)系統(tǒng),這個系統(tǒng)基于NetBIOS設(shè)定了一套文件共享協(xié)議,Microsoft稱之為SMB(Server Message Block)協(xié)議。這個協(xié)議被Microsoft用于它們Lan Manager和Windows NT服務(wù)器系統(tǒng)中,實現(xiàn)不同計算機之間共享打印機、串行口和通訊抽象(如命名管道、郵件插槽等)。

  隨著Internet的流行,Microsoft希望將這個協(xié)議擴展到Internet上去,成為Inter net上計算機之間相互共享數(shù)據(jù)的一種標準。因此它將原有的幾乎沒有多少技術(shù)文檔的SMB協(xié)議進行整理,重新命名為 CIFS(Common Internet File System),并打算將它與NetBIOS相脫離,試圖使它成為Internet上的一個標準協(xié)議。

  因此,為了讓Windows和Unix計算機相集成,最好的辦法即是在Unix計算機中安裝支持SMB/CIFS協(xié)議的軟件,這樣Windows客戶就不需要更改設(shè)置,就能如同使用Windows NT服務(wù)器一樣,使用Unix計算機上的資源了。Samba是用來實現(xiàn)SMB的一種軟件,它的工作原理是,讓NETBIOS(Windows95網(wǎng)絡(luò)鄰居的通訊協(xié)議)和SMB(Server Message Block)這兩個協(xié)議運行于TCP/IP通信協(xié)議之上,并且使用Windows的NETBEUI協(xié)議讓Unix計算機可以在網(wǎng)絡(luò)鄰居上被Windows計算機看到。它的功能有:

  共享Linux磁盤給Win95/NT

  共享Win95/NT磁盤給Linux機器

  共享Linux打印機給win95/NT

  共享win95/NT打印機給Linux機器。

  同時它的文件服務(wù)功能比NT系統(tǒng)還高,而且在Windows2000之前就提供了用戶磁盤空間限制的功能。

  Samba的配置

  在我寫這篇文章的時候,Samba的版本已經(jīng)到了2.2.2了,需要的可以通過samba.org得到最新的rpm安裝包。然后執(zhí)行rpm ?Uvh samba-2.2.2-20011013.i386.rpm來安裝或者升級它。安裝完后,可以看見/etc/samba這么一個目錄,里面存放和Samba相關(guān)的一些文件,最主要的是smb.conf,現(xiàn)在根據(jù)配置文件講講它的配置選項:

  全局設(shè)置:

  workgroup = MYGROUP

  定義該Samba服務(wù)器所在的工作組或者域(如果下面的security=domain的話)。

  server string = MY Samba Server

  設(shè)定機器的描述,當我們通過網(wǎng)絡(luò)鄰居訪問的時候可以在備注里面看見這個內(nèi)容,而且還可以使用samba設(shè)定的變量。這里說一下samba定義的變量:

  %S = 當前服務(wù)名(如果有的話)

  %P = 當前服務(wù)的根目錄(如果有的話)

  %u = 當前服務(wù)的用戶名(如果有的話)

  %g = 當前用戶說在的主工作組

  %U = 當前對話的用戶名

  %G = 當前對話的用戶的主工作組

  %H = 當前服務(wù)的用戶的Home目錄

  %v = Samba服務(wù)的版本號。

  %h = 運行Samba服務(wù)機器的主機名

  %m = 客戶機的NETBIOS名稱

  %L = 服務(wù)器的NETBIOS名稱

  %M = 客戶機的主機名

  %N = NIS服務(wù)器名

  %p = NIS服務(wù)的Home目錄

  %R = 說采用的協(xié)議等級(值可以是CORE, COREPLUS, LANMAN1, LANMAN2,NT1)

  %d = 當前服務(wù)進程的ID

  %a = 客戶機的結(jié)構(gòu)(只能識別幾項:Samba,WfWg,WinNT,Win95)

  %I = 客戶機的IP

  %T = 當前日期和時間

  hosts allow = 網(wǎng)絡(luò)或者主機

  這里可以設(shè)置允許訪問的網(wǎng)絡(luò)和主機IP,比如允許192.168.1.0/24和192.168.2.1/32訪問,就用host allow = 192.168.1. 192.168.2.1 127.0.0.1(網(wǎng)絡(luò)注意后面加”.”號,各個項目間用空格隔開,記得把本機也加進去)

  printcap name = printcapFile

  到printcapFile(一般是/etc/printcap)這個文件中取得打印機的描述信息

  load printers = yes|no

  設(shè)定是否自動共享打印機而不用設(shè)置下面的[printer]一節(jié)的相關(guān)東西

  printing = PrintSystemType

  定義打印系統(tǒng)的類型,缺省是lprng,可選項有:bsd, sysv, plp, lprng, aix, hpux, qnx。

  guest account = pcguest

  定義游客帳號,而且需要把這個帳號加入/etc/passwd,不然它就用缺省的nobody

  log file = LogFileName

  定義記錄文件的位置LogFileName(一般是用/var/log/samba/%m.log)

  max log size = size

  定義記錄文件的大小size(單位是KB,如果是0的話就不限大小)

  security = security_level

  定義Samba的安全級別,按從低到高分為四級:share,user,server,domain。它們對應(yīng)的驗證方式如下:

  share:沒有安全性的級別,任何用戶都可以不要用戶名和口令訪問服務(wù)器上的資源。

  user:samba的默認配置,要求用戶在訪問共享資源之前資源必須先提供用戶名和密碼進行驗證。

  server:和user安全級別類似,但用戶名和密碼是遞交到另外一個服務(wù)器去驗證,比如遞交給一臺NT服務(wù)器。如果遞交失敗,就退到user安全級。

  domain:這個安全級別要求網(wǎng)絡(luò)上存在一臺Windows的主域控制器,samba把用戶名和密碼遞交給它去驗證。

  后面三種安全級都要求用戶在本Linux機器上也要系統(tǒng)帳戶。否則是不能訪問的。

  password server =

  當前面的security設(shè)定為server或者domain的時候才有必要設(shè)定它。

  password level = n

  這是設(shè)定針對一些SMB客戶像OS/2之類而設(shè)的,這樣的系統(tǒng)在發(fā)送用戶密碼的時候,會把密碼轉(zhuǎn)換成大寫再發(fā)送,這樣就和samba的密碼不一致,這個參數(shù)可以設(shè)定密碼里允許的大寫字母個數(shù),這樣samba就根據(jù)這個數(shù)目對接收到的密碼進行大小寫重組,以重組過的密碼嘗試驗證密碼的正確性。n越大,組合的次數(shù)就越多,驗證時間就越長,安全性也會因此變得越低。例如n=2,用戶的密碼是abcd,但發(fā)送出去其實是ABCD,samba就會把這個ABCD進行大小寫重組,組合后的結(jié)果可以是: Abcd, aBcd, abCd, abcD, abcd, ABcd, AbCd, AbcD,aBCd,aBcD,abCD。

  所以如果沒有必要,就把n定為是零。這樣的話samba只嘗試兩次,一個是接收到的密碼,另一個嘗試的是這個密碼都是小寫的情況。

  username level = n

  這個是對于用戶名的情況,說明和上面一項類似。

  encrypt passwords = yes|no

  設(shè)置是否對密碼進行加密,samba本身有一個密碼文件/etc/samba/smbpasswd,如果不對密碼進行加密則在驗證會話期間客戶機和服務(wù)器之間傳遞的是明文密碼,samba直接把這個密碼和Linux里的/etc/samba/smbpasswd密碼文件進行驗證。但是在Windows 95 OS/R2以后的版本和Windows NT SP3以后的版本缺省都不傳送明文密碼,要讓這些系統(tǒng)能傳送明文密碼必須在其注冊表里更改,比較麻煩,好的方法就是把這里的這個開關(guān)設(shè)置為yes。

  smb passwd file = smbPasswordFile

  設(shè)置存放samba用戶密碼的文件smbPasswordFile(一般是/etc/samba/smbpasswd)。

  ssl CA certFile = sslFile

  當samba編譯的時候支持SSL的時候,需要指定SSL的證書的位置(一般在/usr/share/ssl/certs/ca-bundle.crt)。

  unix password sync = yes|no

  passwd program = /usr/bin/passwd %u

  passwd chat = *New*UNIX*password* %n

  *ReType*new*UNIX*password* %n

  *passwd:*all*authentication*tokens*updated*successfully*

  這三項設(shè)置能否從windows的應(yīng)用程序修改unix系統(tǒng)的用戶密碼

  username map = UsermapFile

  指定用戶映射文件(一般是/etc/samba/smbusers),當我們在這個文件里面指定一行root = administrator admin的時候,客戶機的用戶是admin或者administrator連接時會被當作用戶root看待。

  include = MachineConfFile

  指定對不同機器的連接采用不同的配置文件MachineConfFile(一般為了靈活管理使用/etc/samba/smb.conf.%m,由于采用了samba的變量,把配置文件和客戶機的NETBIOS名稱關(guān)聯(lián)起來,能很容易地控制這些客戶機的權(quán)限和設(shè)置)。

  socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

  這個是網(wǎng)絡(luò)socket方面的一些參數(shù),能實現(xiàn)最好的文件傳輸性能。相關(guān)的選項還有SO_KEEPALIVE、 SO_REUSEADDR、SO_BROADCAST、IPTOS_LOWDELAY、IPTOS_THROUGHPUT、SO_SNDLOWAT (*)、SO_RCVLOWAT(*),帶*號的要指定數(shù)值。一般如果在本地網(wǎng)絡(luò),就只用IPTOS_LOWDELAY,如果是有一個本地網(wǎng)絡(luò)的,就用 IPTOS_LOWDELAY TCP_NODELAY,如果是廣域網(wǎng)絡(luò),就試試IPTOS_THROUGHPUT。

  interfaces = interface1 interface2

  如果有多個網(wǎng)絡(luò)接口,就必須在這里指定。如interface = 192.168.12.2/24 192.168.13.2/24

  remote browse sync = host(subnet)

  這里指定瀏覽列表同步信息從哪里取得, 如果用host(比如192.168.3.25)或者整個子網(wǎng)(192.168.5.255)。

  ★這里說明一下什么是瀏覽(Browse):

  在SMB協(xié)議中,計算機為了訪問網(wǎng)絡(luò)資源,就需要了解網(wǎng)絡(luò)上存在的資源列表(例如在Windows下使用網(wǎng)絡(luò)鄰居查看可以訪問的計算機),這個機制就被稱為瀏覽(Browse)。雖然SMB協(xié)議中經(jīng)常使用廣播的方式,但如果每次都使用廣播的方式了解當前的網(wǎng)絡(luò)資源(包括提供服務(wù)的計算機和各個計算機上的服務(wù)資源),就需要消耗大量的網(wǎng)絡(luò)資源和浪費較長的查找時間,因此最好在網(wǎng)絡(luò)中維護一個網(wǎng)絡(luò)資源的列表,以方便查找網(wǎng)絡(luò)資源。只有必要的時候,才重新查找資源,例如使用Windows下的查找計算機功能。

  但沒有必要每個計算機都維護整個資源列表,維護網(wǎng)絡(luò)中當前資源列表的任務(wù)由網(wǎng)絡(luò)上的幾個特殊計算機完成的,這些計算機被稱為Browser,這些Browser通過記錄廣播數(shù)據(jù)或查詢名字服務(wù)器來記錄網(wǎng)絡(luò)上的各種資源。

  Browser并不是事先指定的計算機,而是在普通計算機之間通過自動進行的推舉產(chǎn)生的。不同的計算機可以按照其提供服務(wù)的能力,設(shè)置在推舉時具備的不同權(quán)重。為了保證一個Browser停機時網(wǎng)絡(luò)瀏覽仍然正常,網(wǎng)絡(luò)中常常存在多個Browser,一個為主Browser(Master Browser),其他的為備份Browser!

  remote announce = host(subnet)

  指定這些機器向網(wǎng)絡(luò)宣告自己,而不是有Browser得到。

  local master = yes|no

  這個參數(shù)指定nmbd是否試圖成為本地主瀏覽器,默認值是yes,如果設(shè)為no則samba服務(wù)器就永遠都不會成為本地主瀏覽器。但即使設(shè)置了yes,也不等于samba服務(wù)器就會成為本地主瀏覽器。只是參與本地主瀏覽器選擇。

  os level = n

  n的值是個整數(shù),決定了nmbd是否有機會成為本地廣播區(qū)域的工作組里的本地主瀏覽器,默認值是零,零則意味著nmbd失去瀏覽選擇。如果要nmbd更有機會成為本地主瀏覽器的話,可以設(shè)為65。

  domain master = yes|no

  這個參數(shù)讓nmbd成為一個域瀏覽器,取得各本地主瀏覽器的瀏覽列表,并將整個域的瀏覽列表遞交給各本地主瀏覽器。

  preferred master = yes|no

  這個參數(shù)指定nmbd是否是工作組里的首要的主瀏覽器,如果指定為yes,nmbd在啟動的時候就強制一個瀏覽選擇。

  ★Domain master和local master

  工作組和域這兩個概念在進行瀏覽時具備同樣的用處,都是用于區(qū)分并維護同一組瀏覽數(shù)據(jù)的多個計算機。事實上他們的不同在于認證方式上,工作組中每臺計算機都基本上是獨立的,獨立對客戶訪問進行認證,而域中將存在一個(或幾個)域控制器,保存對整個域中都有效的認證信息,包括用戶的認證信息以及域內(nèi)成員計算機的認證信息。瀏覽數(shù)據(jù)的時候,并不需要認證信息,Microsoft將工作組擴展為域,只是為了形成一種分級的目錄結(jié)構(gòu),將原有的瀏覽和目錄服務(wù)相結(jié)合,以擴大Mircrosoft網(wǎng)絡(luò)服務(wù)范圍的一種策略。

  工作組和域都可以跨越多個子網(wǎng),因此網(wǎng)絡(luò)中就存在兩種Browser,一種為Domain Master Browser ,用于維護整個工作組或域內(nèi)的瀏覽數(shù)據(jù),另一種為Local Master Browser,用于維護本子網(wǎng)內(nèi)的瀏覽數(shù)據(jù),它和Domain Master Browser通信以獲得所有的可瀏覽數(shù)據(jù)。劃分這兩種Browser 主要是由于瀏覽數(shù)據(jù)依賴于本地網(wǎng)廣播來獲得資源列表,不同子網(wǎng)之間只能通過瀏覽器之間的交流能力,才能互相交換資源列表。

  但是,為了瀏覽多個子網(wǎng)的資源,必須使用NBNS名字服務(wù)器的解析方式,沒有NBNS的幫助,計算機將不能獲得子網(wǎng)外計算機的NetBIOS名字。Local Master Browser也需要查詢NetBIOS名字服務(wù)器以獲得Domain Master Browser的名字,以相互交換網(wǎng)絡(luò)資源信息。

  由于域控制器在域內(nèi)的特殊性,因此域控制器傾向于被用做Browser,主域控制器應(yīng)該被用作Domain Master Browser,他們在推舉時設(shè)置的權(quán)重較大!

  preserve case = yes|no

  short preserve case = yes|no

  指定拷貝DOS文件的時候保持大小寫,缺省是no

  default case = lower|upper

  所有的DOS文件的缺省是大寫還是小寫

  case sensitive = yes|no

  大小寫敏感,一般是no,不然會出現(xiàn)一些問題。

  共享設(shè)置:

  ★共享資源:

  每個SMB服務(wù)器能對外提供文件或打印服務(wù),每個共享資源需要被給予一個共享名,這個名字將顯示在這個服務(wù)器的資源列表中。如果一個資源的名字的最后一個字母為$,則這個共享名就為隱藏共享,不能直接表現(xiàn)在瀏覽列表中,而只能通過直接訪問這個名字來進行訪問。在SMB協(xié)議中,為了獲得服務(wù)器提供的資源列表,必須使用一個隱藏的資源名字IPC$來訪問服務(wù)器,否則客戶無法獲得系統(tǒng)資源的列表。★

  共享設(shè)置中有個比較奇怪的段:

  [homes],在smb.conf文件中一般沒有對這個目錄的設(shè)定特定內(nèi)容比如路徑等。當客戶機發(fā)出服務(wù)請求時,就在smb.conf文件的其它部分查找友特定內(nèi)容的服務(wù)。如果沒有發(fā)現(xiàn)這些服務(wù),并且提供了homes段時,那么就搜索密碼文件得到用戶的Home目錄。通過Homes段,Samba可以得到用戶的Home目錄并使之共享。下面是這個段的最基本的幾個設(shè)置。

  [homes]

  comment=Home Directory

  browseable=no

  writable=yes

  比較正常的共享的配置如下例:

  [MyShare]

  comment = grind’s file

  path = /home/grind

  allow hosts = host(subnet)

  deny hosts = host(subnet)

  writable = yes|no

  user = user(@group)

  valid users = user(@group)

  invalid users = user(@group)

  read list = user(@group)

  write list = user(@group)

  admin list = user(@group)

  public = yes|no

  hide dot files = yes|no

  create mode = 0755

  directory mode = 0755

  sync always = yes|no

  short preserve case = yes|no

  preserve case = yes|no

  case sensitive = yes|no

  mangle case = yes|no

  default case = upper|lower

  force user = grind

  wide links = yes|no

  max connections = 100

  delete readonly = yes|no

  其中[]里面的MyShare指定共享名,一般就是網(wǎng)絡(luò)鄰居里面可以看見的文件夾的名字。

  comment指的是對改共享的備注。

  path指定共享的路徑,其中可以配合samba變量使用。比如你可以指定path=/data/%m,這樣如果一臺機器的NETBIOS名字是 grind,它訪問MyShare這個共享的時候就是進入/data/grind目錄,而對于NETBIOS名是glass的機器,則進入 /data/glass目錄。

  allow hosts和deny hosts和前面的全局設(shè)置的方法一樣這里不再提及。

  writeable指定了這個目錄缺省是否可寫,也可以用readonly = no來設(shè)置可寫。

  user設(shè)置所有可能使用該共享資源的用戶,也可以用@group代表group這個組的所有成員,不同的項目之間用空格或者逗號隔開。

  valid users指定能夠使用該共享資源的用戶和組。

  invalid users指定不能夠使用該共享資源的用戶和組。

  read list 指定只能讀取該共享資源的用戶和組。

  write list指定能讀取和寫該共享資源的用戶和組。

  admin list指定能管理該共享資源(包括讀寫和權(quán)限賦予等)的用戶和組。

  public指明該共享資源是否能給游客帳號訪問,這個開關(guān)有時候也叫g(shù)uest ok,所以有的配置文件中出現(xiàn)guest ok = yes其實和public = yes是一樣的。

  hide dot files指明是不是像unix那樣隱藏以“.”號開頭的文件。

  create mode指明新建立的文件的屬性,一般是0755。

  directory mode指明新建立的目錄的屬性,一般是0755。

  sync always指明對該共享資源進行寫操作后是否進行同步操作。

  short preserve case指明不管文件名大小寫。

  preserve case指明保持大小寫。

  case sensitive指明是否對大小寫敏感,一般選no,不然可能引起錯誤。

  mangle case指明混合大小寫。

  default case指明缺省的文件名是全部大寫還是小寫。

  force user強制把建立文件的屬主是誰。如果我有一個目錄,讓guest可以寫,那么guest就可以刪除,如果我用force user= grind強制建立文件的屬主是grind,同時限制create mask = 0755,這樣guest就不能刪除了。

  wide links指明是否允許共享外符號連接,比如共享資源里面有個連接指向非共享資源里面的文件或者目錄,如果設(shè)置wide links = no將使該連接不可用。

  max connections = n設(shè)定同時連接數(shù)是n。

  delete readonly指明能否刪除共享資源里面已經(jīng)被定義為只讀的文件。

  有兩類特殊的共享,分別是光驅(qū)和打印機

  光驅(qū)的共享設(shè)置:

  [cdrom]

  comment = grind’s cdrom

  path = /mnt/cdrom

  public = yes

  browseable = yes

  root preexec = /bin/mount -t iso9660 /dev/cd0 /mnt/cdrom

  root postexec = /bin/umount /mnt/cdrom

  這里root preexec指明了連接時用root的身份運行mount命令,而root postexec則指明了斷開時用root身份運行umount,有效實現(xiàn)了對光驅(qū)的共享。

  打印機共享的設(shè)置:

  [printers]

  path = /var/spool/samba

  writeable = no

  guest ok = yes

  printable = yes

  printer driver = HP LaserJet 5L

  這里printable指明該打印機可以打印, guest ok說明游客也能打印,path指明打印的文件隊列暫時放到/var/spool/samba目錄下。printer driver的作用是指明該打印機的類型,這樣我們在安裝網(wǎng)絡(luò)打印機的時候可以直接自動安裝驅(qū)動而不必選擇。

  添加用戶:

  samba添加用戶比較方便,一般是用smbadduser,用法是smbadduser unixid:netid,舉個例子:如果你的本機有個叫g(shù)rind的用戶,你用smbadduser grind:grind,這樣從網(wǎng)上鄰居訪問的時候用戶名就用grind,而如果你用了smbadduser grind:glass的話,網(wǎng)上鄰居訪問的時候提供的用戶名就是glass而不是grind了。

  以上就是Samba服務(wù)器應(yīng)用使用的詳細教程,想必都了解了吧,更多相關(guān)內(nèi)容請繼續(xù)關(guān)注愛站技術(shù)頻道。

標簽: linux ssl 安全 訪問服務(wù)器 服務(wù)器 服務(wù)器系統(tǒng) 權(quán)限 搜索 通信 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:linux系統(tǒng)搭建apache+web服務(wù)器詳細教程

下一篇:linux系統(tǒng)架設(shè)ftp服務(wù)器詳細教程