qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          LINUX-SAMBA服務配置

          原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://chenbin.blog.51cto.com/945033/346188

          SAMBA服務的配置。

          SAMBA簡介

          NFS只能實現在linuxunix系統之間實現文件共享,而CIFS(公共因特網文件系統)只能實現windows系統之間的文件共享。那么linuxunix系統怎么和windows系統之間共享文件呢?這就要用到SAMBA服務器了,SAMBA服務器能真正實現在不同主機、不同系統之間的文件共享。

           

          Samba核心有兩守護進程:

          smbd:監聽139端口,實現主機之間的文件和打印機的共享。

          nmbd:監聽137138端口,實現主機之間可以利用NetBios名互相訪問。

          SAMBA安裝

          配置IP地址:

          [root@rhel3 ~]# ifconfig eth0 192.168.100.30 netmask 255.255.255.0

          安裝軟件:

          [root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-common-3.0.33-3.7.el5.i386.rpm

          提供samba的配置文件和語法檢驗工具,服務器和客戶端都要安裝。

          [root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-client-3.0.33-3.7.el5.i386.rpm

          客戶端軟件。

          [root@rhel3 ~]# rpm -ivh /misc/cd/Server/perl-Convert-ASN1-0.20-1.1.noarch.rpm         //在安裝samba服務器軟件時要先安裝此軟件。

          [root@rhel3 ~]# rpm -ivh /misc/cd/Server/perl-Convert-ASN1-0.20-1.1.noarch.rpm         //安裝samba前要裝上這個軟件。

          [root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-3.0.33-3.7.el5.i386.rpm

          服務器端軟件。

          [root@rhel3 ~]# rpm -ivh /misc/cd/Server/xinetd-2.3.14-10.el5.i386.rpm

          安裝下面的網頁配置軟件時要先把xinetd軟件先裝上。

          [root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-swat-3.0.33-3.7.el5.i386.rpm

          sambaWEB配置。這個最后安裝。

           

          SAMBA服務配置文件詳解。

          [global]

           

          # ----------------------- Network Related Options -------------------------

           

                  workgroup = MYGROUP

          設置工作組名稱。

                  server string = Samba Server Version %v

          設置服務器描述。

          ;       netbios name = MYSERVER

          設置NetBios名稱。

          ;       interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24

          后面可以跟接口或IP地址,如果服務器不想用默認的IP地址時或想用多個IP地址時設置 此項。

          ;       hosts allow = 127. 192.168.12. 192.168.13.

          設置允許訪問主機的IP地址。默認注釋,表示允許所有主機訪問。

          # --------------------------- Logging Options -----------------------------

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

          設置日志文件的存放位置,服務器會每個用戶保存一個日志文件,%m表示使用用戶訪問的NetBios名來命令日志文件。

          ;       max log size = 50

          指定日志文件的大小,單位(KB

          # ----------------------- Standalone Server Options ------------------------

                  security = share

          設置Samba共享安全級別:

          share: 共享級別,服務器不對客戶機進行身份驗證。

          user: 用戶級別,服務器對客戶機進行身份驗證。

          server: 服務器級別,Samba服務器必須通過另一臺服務器對客戶機進行身份驗證。如果設置為此值,需另加一行:password Server = IP才行。

          domain: 域級別,Samba服務器要通過windows server的域控制器對客戶機進行身份驗證,同樣,如果設置為此值,需另加一行:password Server = IP才行。

                  passdb backend = tdbsam

          指定Samba服務器對用戶帳戶和密碼的管理方式。一般默認即可。

          # ----------------------- Browser Control Options ----------------------------

          ;       local master = no

          如果不想Samba服務器成為局域網內的主瀏覽服務器,此項選擇no.

          ;       os level = 33

          設置刻服務器在局域網內訪問的優先級。

          ;       preferred master = yes

          使Samba啟動時選擇一個本地瀏覽器,并給它獲得選擇較高的機會。

          #----------------------------- Name Resolution -------------------------------

           

          ;       wins support = yes

          是否支持WINS服務器,Samba可以成為WINS服務器,也可以成為WINS客戶端,但不能兩者兼得。

          ;       wins server = w.x.y.z

          WINS服務器地址。

          ;       wins proxy = yes

          表示一個非WINS用戶通知Samba響應名稱解析,本身不為客戶端提供查詢。

          ;       dns proxy = yes

          同上。

          # --------------------------- Printing Options -----------------------------

                  load printers = yes

          設置是否允許打印機共享,并加裁打印機。

                  cups options = raw

          指定打印機使用的方式。

          ;       printcap name = /etc/printcap

          設置打印機配置文件的位置。

          ;       printcap name = lpstat

          ;       printing = cups

          設置打印系統類型,一般默認。只有在打印系統不是標準系統時才指定。

           

          #============================ Share Definitions ================

           

          [homes]

                  comment = Home Directories

          描述信息。

                  browseable = no

          設置其他用戶是否可以瀏覽此共享文件。

                  writable = yes

          設置此用戶是否可寫。

                 valid users = %S

                        設置可訪問的用戶和組。多個用戶用逗號分開,指定組時要在組名前加@

                        invalid users = 用戶名/組名

          設置不能訪問的用戶和組,用法同上。

           

          Samba定義的變量:

           

          %S 當前服務器名。

          %P 當前服務器的根目錄。

          %u 當前服務器的用戶名。

          %g 當前用戶所在的主工作組。

          %U 當前對話的用戶名。

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

          %H 當前服務器用戶的home目錄。

          %v Samba服務器的版本號。

          %h 運行Samba服務器的主機名。

          %m 客戶機的NetBios名。

          %L 服務器的NetBios名。

          %M 客戶機的主機名。

          %N NIS服務器名。

          %p NIS服務器的Home目錄。

          %R 所采用的服務器等級。

          %d 當前服務進程的ID

          %a 客戶機和結構。

          %I   客戶機的IP

          %T 當前日期和時間。

          SAMBA基于共享的簡單配置。

          編輯配置文件:

          [root@rhel3 ~]# vi /etc/samba/smb.conf

          # ----------------------- Standalone Server Options ------------------------

                  security = share    //不需要用戶名和密碼的共享模式。

                  passdb backend = tdbsam

           

          下面是共享目錄和權限的設置:(在最后添加)

                  [share]

                 comment = linux share

                  path = /rhel3

                 public = yes

                  writable = yes

                  printable = no

                  write list = +staff

          如果共享目錄是復制例子的,別忘了把前面的;去掉哦!如果還不能訪問那就是防火墻在搗亂了。

           

          [root@rhel3 ~]# mkdir /rhel3

          [root@rhel3 ~]# touch /rhel3/linux.txt

          [root@rhel3 ~]# vi /rhel3/linux.txt

          This is linux server!

          查看一下文件夾的權限:

          [root@rhel3 ~]# ll /

          drwxr-xr-x   2 root root 4096 Jun 8 21:56 rhel3

          因為在共享時設置的是可寫的,而在這里除了root用戶其他人是沒有權限寫入,所有還是不能寫入,修改一下:

          [root@rhel3 ~]# chmod 777 /rhel3

          [root@rhel3 ~]# ll /

          drwxrwxrwx   2 root root 4096 Jun 8 21:56 rhel3

          權限已經修改完成。

          [root@rhel3 ~]# service smb restart

          現在來測試一下:

          windows系統在運行里輸入:

           

           

           

          linux系統:

          [root@rhel2 ~]# mount //192.168.100.30/share /mnt      //mount 后面跟主機名或IP地址,后面是共享名。最后跟掛載點。

          Password:           //這里不需要輸入密碼。

          [root@rhel2 ~]# ls /mnt

          liunx.txt

           

          使用smbclient

          [root@rhel2 ~]# smbclient //192.168.100.30/share         //smbclient后面跟共享主機名或IP地址再加上共享名。

          Password:

          Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.33-3.7.el5]

          Server not using user level security and no password supplied.

          從這里也可以看到服務器是沒有使用身份驗證的。

          smb: \> help

          ?              altname        archive        blocksize      cancel        

          case_sensitive cd             chmod          chown          close         

          del            dir            du             exit           get           

          getfacl        hardlink       help           history        lcd           

          link           lock           lowercase      ls             mask          

          md             mget           mkdir          more           mput          

          newer          open           posix          posix_open     posix_mkdir   

          posix_rmdir    posix_unlink   print          prompt         put           

          pwd            q              queue          quit           rd            

          recurse        reget          rename         reput          rm            

          rmdir          showacls       setmode        stat           symlink       

          tar            tarmode        translate      unlock         volume        

          vuid           wdel           logon          listconnect    showconnect   

          !            

          這里顯示的是一些客戶端使用的命令。如:

          smb: \> dir

           .                                   D        0 Wed Jun 9 14:42:23 2010

           ..                                  D        0 Wed Jun 9 14:41:23 2010

           liunx.txt                                   22 Wed Jun 9 14:42:23 2010

           

                          61880 blocks of size 65536. 25838 blocks available

           

          因為有寫的權限,所以寫個文件試試:

          smb: \> mkdir rhel2

          smb: \> dir

           .                                   D        0 Wed Jun 9 15:43:18 2010

           ..                                  D        0 Wed Jun 9 14:41:23 2010

           liunx.txt                                   22 Wed Jun 9 14:42:23 2010

           rhel2                               D        0 Wed Jun 9 15:43:18 2010

           

                          61880 blocks of size 65536. 25838 blocks available

           

          沒問題,可以寫入。下載文件:

          smb: \> get liunx.txt /share.txt              //get后面第一個參數是遠程服務器的文件名,第二個參數是保存到本地的文件名。

          getting file \liunx.txt of size 22 as /share.txt (0.2 kb/s) (average 0.2 kb/s)

          smb: \> q            //退出

          [root@rhel2 ~]# ls /

          bin      dev   lib         misc opt   sbin       srv usr

          boot     etc   lost+found mnt   proc selinux    sys var

          chenbin home media       net   root share.txt tmp

           

          [root@rhel2 ~]# cat /share.txt

          This is linux server!

          沒問題,關于每個命令的使用這里就不一一演示,詳細說明可以使用幫助。命令如下:

          [root@rhel2 ~]# man smbclient

           

          SAMBA基于用戶的簡單配置。

          接著上面的做:

          修改配置文件:

          # ----------------------- Standalone Server Options ------------------------

                  security = user

          共享目錄也就不改了。因為是基于用戶的共享,所以這里需要建立用戶。

           

          [root@rhel3 ~]# useradd samba           //首先要建立本地用戶。

          [root@rhel3 ~]# passwd samba            //為本地用戶創建密碼。(如果只是添加Samba用戶,這步可以省略。)

          Changing password for user samba.

          New UNIX password:

          BAD PASSWORD: it is too short

          Retype new UNIX password:

          passwd: all authentication tokens updated successfully.

          [root@rhel3 ~]# smbpasswd -a samba        //創建Samba用戶。創建的用戶必須也存在于本地用戶數據庫中。

          New SMB password:

          Retype new SMB password:

          Added user samba.

           

          [root@rhel3 ~]# service smb restart

           

          可以測試一下samba的配置文件。如下:

           

           

          測試:

          windows系統下:

          因為連接過了,現在連接的話系統不提示輸入用戶名和密碼了,清除一下:在命令提示符下操作:

          D:\Users\chenbin>net use              //查看遠程連接。

          會記錄新的網絡連接。

           

           

          狀態       本地        遠程                      網絡

           

          -------------------------------------------------------------------------------

          OK                     \\192.168.100.30\IPC$     Microsoft Windows Network

          OK                     \\RHEL3\IPC$              Microsoft Windows Network

          命令成功完成。

           

          D:\Users\chenbin>net use \\192.168.100.30\IPC$ /delete

          \\192.168.100.30\IPC$ 已經刪除。

          D:\Users\chenbin>net use \\RHEL3\IPC$ /delete

          \\RHEL3\IPC$ 已經刪除。

          再連接:

           

          打開后如下圖:

           

           

          出現輸入用戶名和密碼對話框,輸入后確定。

           

           

          出現了共享文件夾。samba目錄是一個用戶目錄,后面再說明。關于權限問題這里這不測試了。

          windows下為了方便,可以使用網絡映射,在本地映射一個網絡磁盤,這樣只要訪問這個磁盤就可以訪問共享文件了,也省去了每次輸入地址,用戶名和密碼。如下:

           

           

          接下來選擇一個共享目錄:

           

           

          完成后,在資源管理器里會多出一個Z盤,雙擊這個磁盤就能訪問共享文件了,很方便,如果不想用了,只要在這個磁盤上右擊-屬性-斷開。

           

          接下來在linux系統下測試:

          列出共享目錄:

           

           

          連接:

           

          關于用法就不演示了。

          posted on 2012-12-03 15:58 順其自然EVO 閱讀(1563) 評論(1)  編輯  收藏 所屬分類: linux

          評論

          # re: LINUX-SAMBA服務配置 2013-09-03 14:48 rio

          終于把跨網段問題解決了,愛死你了  回復  更多評論   

          <2012年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 潮州市| 南郑县| 揭阳市| 九龙县| 汤阴县| 伊宁县| 广灵县| 灌云县| 浮梁县| 刚察县| 金湖县| 乌审旗| 兴宁市| 上思县| 绥宁县| 凌源市| 关岭| 巫溪县| 万州区| 固镇县| 日喀则市| 桂阳县| 镶黄旗| 天峨县| 石楼县| 即墨市| 栾城县| 信丰县| 车险| 资溪县| 新化县| 甘谷县| 东城区| 浮梁县| 永靖县| 元朗区| 泽普县| 喀什市| 财经| 临泽县| 德令哈市|