Samba將Linux集成到Windows網絡

(一)Samba是一個與Windows操作系統兼容的文件與打印共享服務器,通過在Linux服務器上配置Samba,可以使Linux系統集成到Windows網絡中。在網絡中,用戶可以使用多種方法實現數據共享,例如常見的Web服務、FTP服務。使用這兩種網絡服務的好處是:它們是標準的Internet服務,可以被絕大多數操作系統支持,用戶基本不用考慮操作系統之間集成問題。另外,各種Unix操作系統之間也可以通過SSH和NFS提供數據共享服務。但是這兩種服務在微軟Windows系列操作系統中默認不被支持,因而Windows客戶機訪問這兩種服務時不方便。現在微軟網絡使用文件共享協議爲CIFS(通用Internet文件系統),基本可以認爲是SMB的升級版本。Linux下的Samba服務就是基於SMB/CIFS協議的。

 
(二)配置Samba服務器
實驗環境:LinuxAS4操作系統,雙網卡,IP分別爲192.10.30.3/24(VM1) | 192.10.10.3/24(VM2)
[root@localhost /]#rpm -qa |grep samba
system-config-samba-1.2.21-1        #提供了RH公司專門爲SMB服務器管理編寫的圖形界面的管理程序,功能不如Swat工具完善 
samba-common-3.0.10-1.4E6           #Samba的支持軟件包,提供smb服務器和客戶機中都必須使用的公共文件 
samba-client-3.0.10-1.4E.6          #提供了samba客戶機的所有文件,可以使Linux作爲客戶機訪問Windows服務器或其他Samba服務器
samba-3.0.10-1.4E.6                 #基本的服務器軟件包,用於提供SMB服務
samba-swat-3.0.10                   #基於Web界面的管理工具,使用戶可以比較方便地精確調整Samba服務器
smb.conf文件分成多個小節,結構清晰,該文件不區分大小寫,如參數"writable = yes"與"writable = YES"等價;以"#"和";"開頭的行爲註釋行
[root@localhost /]#grep -v "^#" /etc/samba/smb.conf |grep -v "^;"    #查看smb.conf有效配置內容
 
[global]   #全局參數字段
   workgroup = mygroup    #定義Samba服務器所在的工作組域  
   netbios name=Linux srv   #定義計算機的Netbios名,默認不存在,新添加
   server string = Linux samba Server  #定義計算機描述,通過網上鄰居訪問時可以在備註信息中看到這個信息
  client code page = 936
  character set = 936   #  以上用於支持中文字體
  #unix charset = cp936    #我按以下輸入不支持中文
 #dos charset = cp936
 # unix charset = gb2312 #我按以下輸入不支持中文
 #dos charset  =  gb2312
   hosts allow = 192.10.30. 192.10.10. #允許訪問的網絡或主機地址,注意此句本爲註釋行
   printcap name = /etc/printcap      
   load printers = yes        #自動加載打印機列表 

   cups options = raw
   log file = /var/log/samba/%m.log   #設置Samba服務器的日誌文件存放路徑,%m.log爲變量,表示客戶端主機名稱
   max log size = 50                  #日誌文件最大容量,單位是KB
 
   security = user     #定義Samba服務器的安全級別;share:共享級別,所有用戶不需要用戶名和密碼即可訪問;user:這是Samba的默認配置,所有用戶需提供用戶名及密碼才能訪問;server:和user安全級別類似,所有用戶必須通過身份驗證才能訪問服務器的資源,如果遞交失敗,退到user級別;domain:要求網絡上存在一臺Windows域控制器,Samba把用戶名能密碼傳給指定的域控制器進行驗證

  encrypt passwords = yes       #是否加密密碼,no表示以明文傳輸
  smb passwd file = /etc/samba/smbpasswd    #指定存放Samba用戶密碼文件

   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
 
   interfaces = 192.10.30.3/24 192.10.10.3/24    #指定Samba使用的網絡接口,可使用接口名或者IP地址 

   dns proxy = no 
   idmap uid = 16777216-33554431
   idmap gid = 16777216-33554431
   template shell = /bin/false
   winbind use default domain = no

[homes]   #目錄共享字段
   comment = Home Directories
   browseable = no    #表示所有Samba用戶目錄不被看到,只有登錄用戶才能看到自己的宿主目錄
   writable = yes     #設置用戶對自己的宿主目錄有寫權限
 
[printers]   #打印機共享字段
   comment = All Printers
   path = /var/spool/samba
   browseable = no
   guest ok = no
   writable = no
   printable = yes

[public]      #以public爲共享名共享
   comment = Public directories    #描述共享信息
   path = /home/public             #指定共享目錄位置
   public = yes                    #對所有Samba用戶可見
   writable = yes                  #允許用戶對該目錄進行寫入操作
 
[public2]
   path =/usr/public2
   only guest = yes        #表示所有用戶在使用該共享目錄進的用戶身份都是guest,即linux系統用戶nobody
   writable = yes        
   browseable = no       #用戶都不能瀏覽到,類似於public,但可以在運行處輸入\\IP\public2訪問到 
   printable = no
 
 
:wq 保存以上配置文件
 
[root@localhost /]#testparm    #查看Samba有效的設置情況
[root@localhost /]#service smb restart #重新啓動Samba服務 或使用service smb reload
[root@localhost /]#smbpasswd -a user1  #建立Samba用戶
#smbpasswd -a    向 /etc/samba/smbpasswd中添加用戶
#smbpasswd -x    從/etc/samba/smbpasswd中刪除用戶
#smbpasswd -d    禁用某個Samba用戶
#smbpasswd -e    啓用某個Samba用戶
#smbpasswd 命令所操作的帳戶必須是Linux系統中已有的用戶
[root@localhost /]#cat /etc/passwd | mksmbpasswd.sh > /etc/samba/sambpasswd   #將所有的linux用戶帳戶一次性添加到smbpasswd文件中
[root@localhost /]#smbpasswd user2   #爲了使新加入的用戶帳戶可用,還得設置Samba密碼,區分所有用戶還沒有加入到smbpasswd文件時命令的寫法
 
從Windows客戶端訪問:通過網上鄰居直接找到Samba服務器進行訪問或者在運行中輸入UNC路徑
[root@localhost /]#smbclient -L 127.1   #查看本機提供的共享資源
[root@localhost /]#smbstatus            #顯示Samba服務器連接狀態;顯示客戶端IP/主機名/登錄用戶/及鎖定的文件等
[root@localhost /]#smbclient //192.10.30.10/aa -U aa  #訪問Windows主機上的資源,注意格式(IP後面不能有空格)
[root@localhost /]#smbmount //19210.30.10/aa /mnt     #將Windows主機上的共享目錄直接掛載到Linux主機上
[root@localhost /]#umount /mnt/       #卸載Samba文件系統
 
 
(三)使用Swat管理samba服務器
[root@localhost /]#chkconfig swat on         #啓動Swat
[root@localhost /]#vi /etc/xinetd.d/swat     #修改允許訪問Swat服務的客戶主機IP地址,可根據管理需求進行更改;在此我註釋掉#only_from =127.0.0.1,即允許任意IP訪問
[root@localhost /]#service xinetd restart    #重啓xinetd服務 
在30段客戶端瀏覽器中輸入http://192.10.30.3:901/,Swat服務默認工作端口爲901 在彈出的對話框中以root登錄可全局控制 
 
^^接下來就以Web界面的方式管理Samba了,自己好好再研究下吧
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章