日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络共享服务(三)之SAMBA

發布時間:2025/6/17 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络共享服务(三)之SAMBA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面說到了FTP和NFS,由于FTP是客戶端和服務器基于ftp應用協議進行交換數據的,它不支持掛載共享目錄的方式,而NFS又不支持跨平臺,所以就催生了第三種網絡共享服務:samba

Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議,它為局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統、打印機及其他資源。

至于SMB為什么最后叫Samba,當時的大學生 Tridgwell去申請 SMBServer ( Server Message Block 的簡寫 ) 這個名字來做為他撰寫的這個軟件的商標,可惜的是,因為SMB 是沒有意義的文字,因此沒有辦法達成注冊。既然如此的話,那么能不能在字典里面找到相關的字詞可以做為商標來注冊呢?翻了老半天,呵呵!這個SAMBA剛好含有 SMB ,又是熱情有勁的拉丁舞蹈的名稱,不如就用這個名字來做為商標好了。如此,這成為我們今天所使用的SAMBA 的名稱由來。

samba監聽的端口:

137/udp,138/udp,139/tcp,445/tcp

samba在linux上實現三種服務: 默認啟用前兩個服務

  nmbd: 實現netbios協議

  smbd: 實現cifs協議

  winbindd: 實現讓samba工作后能夠將linux加入到ad域(活動目錄中)

Note:CIFS: Common Internet File System,Windows各主機之間共享文件系統的協議,類似于linux上的nfsNetBIOS: Windows基于主機名實現互相通信的機制;只截取15個字符的主機名

?

一、CentOS6為客戶端,Windows為服務端

1.服務器端操作

創建共享目錄新建文件夾test點選工具 --> 文件夾選項 --> 查看 --> 取消使用簡單文件共享 --> 應用 --> 確定
   右鍵test文件夾 --> 共享和安全 --> 選中共享此文件夾(可以修改共享文件名,比如這里設為tools,下面會用到) --> 權限 --> 添加 --> 選中test用戶 --> 確定 --> text的權限可以勾上讀取和更改 --> 確定
      windows添加用戶:右鍵我的電腦 --> 管理 --> 本地用戶和組 --> 用戶 --> 右鍵空白區域新增用戶(比如test用戶)

2. 客戶端操作

安裝samba客戶端?

yum list samba-client* //查看samba相關安裝包,默認已安裝客戶端samba-client

3. 客戶端訪問服務器端數據

 3.1. 交互式數據訪問:

客戶端以test用戶連接服務器

samblient -L HOST -U USERNAME
  # smbclient -L 192.168.1.301 -U test  //192.168.1.301為windows服務器ip, test為登錄用戶名

獲取到共享信息后,連接共享文件夾

smbclient //SERVER/shared_name -U USERNAME  //UNC路徑: \\SERVER\shared_name
  # smbclient //192.168.1.301/tools -U test

連上后打開一個類似于ftp的客戶端工具

smb:\>

?測試上傳數據到服務器

smb:\> lcd /etc smb:\> put fstab

? 3.2. 基于掛載的方式訪問

掛載到/mnt目錄下 

mount -t cifs //SERVER/shared_name /mount_point -o username=USERNAME,password=PASSWORD
  # mount -t cifs //192.168.1.301/tools /mnt -o username=test

訪問數據

ls -l /mnt //windows上的文件默認都有執行權限?

二、以CentOS6為服務端,windows作為客戶端

1.服務端操作:

  安裝samba

  CentOS 6默認已經安裝好了samba的客戶端程序,這里要做服務端,所以安裝samba服務端程序:samba.x86_64

  # yum -y install samba samba相關文件組成:
  服務腳本:
   /etc/rc.d/init.d/nmb/etc/rc.d/init.d/smb
  主配置文件:
    /etc/samba/smb.conf
  samba用戶:  
    賬號:都是系統用戶,/etc/passwd
    密碼:samba服務自有密碼文件
    將系統用戶添加為samba用戶的命令:
       smbpasswd:
          -a Sys_User:添加系統用戶為samba用戶
          -d Sys_User: 禁用指定用戶賬號
          -e Sys_User: 啟用指定用戶賬號
          -x Sys_User: 刪除指定用戶賬號

修改工作組

# cd /etc/samba
# vim smb.conf
  修改workgroup = WORKGROUP  //windows工作組默認為workgroup,CentOS工作組默認為MYGROUP

添加系統賬號

# useradd smbuser1  //添加系統賬號 # smbpasswd -a smbuser1  //將smbuser1密碼添加到smbuser1賬號中

測試

客戶端windows系統連接服務器:
\\192.168.1.104\ 輸入用戶名和密碼 登錄到用戶的家目錄

三、多個用戶賬號登錄同一個共享目錄

1.服務器端操作:

編輯samba配置文件: /etc/samba/smb.conf

# vim /etc/samba/smb.conf 

?最后一行添加自定義共享:

[shared_name]path = /path/to/share_directory  //共享文件路徑comment = Comment String   //注釋信息guest ok = {yes|no}  //是否允許來賓賬號訪問public = {yes|no}  //是否允許公開writable = {yes|no}  //是否可寫read only = {yes|no}  //是否只讀write list = +GROUP NAME  //哪些組中用戶可寫

?比如:?

[shared]comment = My Shared Testing.path = /shared/sambaguest ok = yeswritable = yes

測試語法:

# testparm

創建共享目錄:

# mkdir /shared/samba
# ls -ld /shared/samba  //smbuser1沒有寫權限
# setfacl -m u:smbuser1:rwx /shared/samba  //設置smbuser1用戶能讀能寫能執行

?重啟服務:

# service nmb restart;service smb restart;

2. 客戶端操作

安裝samba客戶端:

# yum -y install samba-client

連接服務器:

# smbclient //192.168.1.104/shared -U smbuser1  //注意:客戶端訪問的是配置段定義的名字shared,而不是創建的目錄

?3. 測試

客戶端連接完服務器后,打開一個類似ftp的客戶端:

smb:\> lcd /etc
smb:\> put fstab  //成功上傳

?四、samba圖形化工具: samba-swat

安裝samba-swat

# yum install samba-swat -y

工具介紹:

這個工具是基于web服務提供圖形界面,它自己提供了web服務器,以超級守護進程xinetd代為管理,在/etc/xinetd.d目錄下有個文件swat

?打開swat文件

# vim swat # default: off # description: SWAT is the Samba Web Admin Tool. Use swat \ # to configure your Samba server. To use SWAT, \ # connect to port 901 with your favorite web browser. service swat {port = 901  socket_type = streamwait = noonly_from = 127.0.0.1  //這里改為192.168.1.0/24user = rootserver = /usr/sbin/swatlog_on_failure += USERIDdisable = yes  //改為 no }

?重啟xinetd服務

# service xinetd restart?

?測試:

瀏覽器輸入: 192.168.1.104:901

練習:建立samba共享,共享目錄為/data,要求:

(1)共享名為shared,工作組為alen

? (2) 添加組為develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組,密碼均為用戶名

? (3) 添加samba用戶gentoo,centos和ubuntu,密碼均為”alen“

? (4) 此samba共享shared僅允許develop組具有寫權限,其他用戶只能以只讀方式訪問

? (5) 此samba共享服務僅允許來自192.168.1.0/24網絡的主機訪問

服務端安裝samba服務:# yum install samba
  # cd /etc/samba
  # vim smb.conf
    修改工作組: workgroup = alen
           hosts allow = 192.168.1.0/24
添加組及用戶:
  # groupadd develop
  # useradd ubuntu
  # useradd -G develop gentoo
  # useradd -G develop centos
  # echo "gentoo" | passwd --stdin gentoo
  # echo "centos" | passwd --stdin centos
  # echo "ubuntu" | passwd --atdin ubuntu
添加系統用戶為samba用戶:
  # smbpasswd -a gentoo; 密碼為alen
  # smbpasswd -a centos; 密碼為alen
  # smbpasswd -a ubuntu; 密碼為alen
添加共享配置段:
  [shared]
    comment = shared file
    path = /data
    guest ok = yes
    write list = +develop
測試語法:
  # testparm
develop組對共享目錄添加寫權限:
  # mkdir /data
# setfacl -m g:develop:rwx /data
客戶端訪問:
  # smbclient //192.168.1.103/shared -U centos  

?

轉載于:https://www.cnblogs.com/ckh2014/p/10806027.html

總結

以上是生活随笔為你收集整理的网络共享服务(三)之SAMBA的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。