當前位置: 首頁>>技術教程>>正文


如何在Ubuntu 18.04 Bionic Beaver Linux上配置Samba服務器共享

, , ,

目的

目的是配置基本的Samba服務器以共享用戶主目錄,並提供對所選目錄的匿名訪問read-write。

還有許多其他的Samba配置,但是本指南的目的是使您入門一些基礎知識,這些基礎知識可以在以後進行擴展以實現更多功能以滿足您的需求。

操作係統和軟件版本

  • 操作係統:-Ubuntu 18.04仿生海狸
  • 軟件:-Samba版本4.7.4-Ubuntu或更高版本

要求

需要特權才能訪問您的Ubuntu 18.04 Bionic Beaver。

困難

介質

約定

  • -要求linux命令可以直接以root用戶身份或通過使用root特權以root特權執行sudo命令
  • $-要求linux命令以常規non-privileged用戶身份執行

腳本

以下配置過程將假定以下情形和pre-configured要求:

  • 服務器和MS Windows客戶端位於同一網絡上,沒有防火牆阻止兩者之間的任何通信
  • MS Windows客戶端可以通過主機名解析samba服務器ubuntu-samba
  • MS Windows客戶端的工作組域為WORKGROUP

說明

安裝Samba服務器

讓我們從安裝Samba服務器開始。這是一項微不足道的任務。一,安裝tasksel如果您的係統尚不可用,請使用命令。一旦準備好使用tasksel安裝Samba服務器。


$ sudo apt install tasksel
$ sudo tasksel install samba-server

組態

我們將以全新的幹淨配置文件開始,同時我們還將默認配置文件作為備份保留下來,以供參考。執行以下linux命令來複製現有配置文件並創建一個新配置文件:


$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
$ sudo bash -c 'grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf'


房屋共享

在本節中,我們將用戶主共享目錄添加到新目錄中/etc/samba/smb.confsamba配置文件。

Samba擁有自己的用戶管理係統。但是,samba用戶列表上存在的任何用戶也必須存在於/etc/passwd文件。如果您的係統用戶尚不存在,則無法位於/etc/passwd文件,首先使用創建一個新用戶useradd創建任何新的Samba用戶之前,請執行命令。一旦您的新係統用戶。 linuxconfig退出,使用smbpasswd創建新的Samba用戶的命令:


$ sudo smbpasswd -a linuxconfig
New SMB password:
Retype new SMB password:
Added user linuxconfig.

接下來,使用您喜歡的文本編輯器來編輯新的/etc/samba/smb.confsamba配置文件:


$ sudo nano /etc/samba/smb.conf

並添加以下行:


[homes]
   comment = Home Directories
   browseable = yes
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = %S

創建匿名共享

在本節中,我們將添加一個新的公開可用的read-write Samba共享,匿名/來賓用戶可以訪問。首先,創建您要共享的目錄並更改其訪問權限。例:


$ sudo mkdir /var/samba
$ sudo chmod 777 /var/samba/

接下來,使用您喜歡的文本編輯器將以下行添加到Samba配置文件中sudo nano /etc/samba/smb.conf


[public]
  comment = public anonymous access
  path = /var/samba/
  browsable =yes
  create mask = 0660
  directory mask = 0771
  writable = yes
  guest ok = yes

當前的Samba配置文件應類似於以下文件:

[global]
   workgroup = WORKGROUP
   server string = %h server (Samba, Ubuntu)
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
   usershare allow guests = yes
[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
[homes]
   comment = Home Directories
   browseable = yes
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = %S
[public]
  comment = public anonymous access
  path = /var/samba/
  browsable =yes
  create mask = 0660
  directory mask = 0771
  writable = yes
  guest ok = yes


重新啟動Samba服務器

基本的Samba服務器配置完成。進行任何更改後,切記始終重啟samba服務器/etc/samba/smb.conf配置文件:


$ sudo systemctl restart smbd

重新啟動Samba服務器後,請確認所有共享已正確配置:


$ smbclient -L localhost
WARNING: The "syslog" option is deprecated
Enter WORKGROUP\linuxconfig's password: 
Anonymous login successful

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        homes           Disk      Home Directories
        public          Disk      public anonymous access
        IPC$            IPC       IPC Service (ubuntu server (Samba, Ubuntu))
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
        WORKGROUP            UBUNTU

(可選)創建一些測試文件。成功安裝Samba共享後,以下文件應可供我們使用:


$ touch /var/samba/public-share 
$ touch /home/linuxconfig/home-share 

最後,確認您的Samba服務器已啟動並正在運行:


$ sudo systemctl status smbd
● smbd.service - Samba SMB Daemon
   Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-01-31 19:50:19 AEDT; 1min 12s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 3561 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 5 (limit: 4915)
   CGroup: /system.slice/smbd.service
           ├─3561 /usr/sbin/smbd --foreground --no-process-group
           ├─3578 /usr/sbin/smbd --foreground --no-process-group
           ├─3579 /usr/sbin/smbd --foreground --no-process-group
           ├─3590 /usr/sbin/smbd --foreground --no-process-group
           └─3611 /usr/sbin/smbd --foreground --no-process-group

桑巴山股票

在此階段,我們準備將注意力轉向MS Windows。對於每個MS Windows版本,安裝網絡驅動器目錄可能會略有不同。本指南以Samba客戶端的身份使用MS Windows 7。



掛載用戶主目錄

首先,打開你Windows Explorer然後在right-clickNetwork然後點擊Map network drive...標簽。選擇驅動器號,然後鍵入Samba共享位置。確保你打勾Connect using different credentials如果您的用戶名和密碼與之前創建的用戶名和密碼不同:

imag description

輸入您的Samba用戶名和密碼:

imag description

現在,您應該對用戶的主目錄具有read-write訪問權限:

imag description

Mount Anonymous Samba分享

同樣,安裝您的匿名/來賓Samba共享。但是這一次將不需要用戶名和密碼:

imag description

imag description

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/7436.html,未經允許,請勿轉載。