🥤 Установка и настройка общего ресурса сервера Samba в Debian 10 / Ubuntu 18.04

by itisgood

Добро пожаловать в наше руководство по установке и настройке Samba Share на сервере Debian 10 (Buster) и системе Ubuntu 18.04 Linux.

Samba – это реализация протоколов Server Message Block (SMB) и Common Internet File System (CIFS) с открытым исходным кодом, предоставляющая услуги хранения файлов и печати между клиентами в различных операционных системах.

Настроив общий ресурс сервера Samba в Debian 10 (Buster) / Ubuntu 18.04, вы можете легко обмениваться папками или файлами между операционными системами Windows и Linux.

В этом контексте машина Windows будет использоваться в качестве клиента для доступа к общему ресурсу Samba в Linux (Debian 10 / Ubuntu 18.04).

Шаг 1: Установите Samba Server в Debian 10 / Ubuntu 18.04

Чтобы установить Samba на Debian 10 Buster / Ubuntu 18.04, используйте команды:

sudo apt -y update
sudo apt -y install samba

Если вы используете статический IP-адрес, ответьте «no», когда вас попросят использовать настройки WINS от DHCP.

Шаг 2. Настройка общего ресурса Samba в Debian 10 Buster / Ubuntu 18.04

Samba использует файл конфигурации в /etc/samba/smb.conf.

Если вы измените этот файл конфигурации, изменения не вступят в силу, пока вы не перезапустите демон Samba.

Давайте начнем с создания каталога для обмена через Samba.

Каталог должен существовать, прежде чем его можно будет настроить в smb.conf.

Мы создадим один такой в /home.

sudo mkdir -p /home/share

Доступ всем без аутентификации (не рекомендуется)

Каталог должен быть доступен для чтения и записи для всех пользователей.

sudo chmod 777 /home/share 

Настройте общий ресурс Samba в файле /etc/samba/smb.conf.

$ sudo vim /etc/samba/smb.conf

[global]

# Configure correct UTP
  unix charset = UTF-8
# Change this to the workgroup/NT-domain name your Samba server will be part of
   workgroup = WORKGROUP
   interfaces = 127.0.0.0/8 eth0
   bind interfaces only = yes

# Set share configuration at the end
[Docs]
   path = /home/share
   writable = yes
   guest ok = yes
   guest only = yes
   create mode = 0777
   directory mode = 0777

Детали конфигурации:

  • Docs –  общее имя
  • path = /home/share  – каталог для обмена файлами
  • guest ok = yes – включить гостевой доступ
  • guest only = yes – все защищены как гости
  • writable = yes – установить общий каталог как доступный для записи
  • create mode = 0777 & directory mode = 0777  – разрешить доступ всем

Настроить безопасный общий ресурс Samba (рекомендуется)

Установите групповое владение общим каталогом Samba для группы sambashare.

sudo chgrp sambashare /home/share

Создайте пользователей самбы.

Замените user1 на пользователя с общим доступом samba для создания.

sudo useradd -M -d /home/share/user1 -s /usr/sbin/nologin -G sambashare user1
sudo mkdir /home/share/user1
sudo chown user1:sambashare /home/share/user1
sudo chmod 2770 /home/share/user1

Установите пароль пользователя и подтвердите его.

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

Включите учетную запись samba после установки пароля с помощью команды:

$ sudo smbpasswd -e user1
Enabled user user1.

Мы создали домашний каталог пользователя в родительском каталоге общего ресурса Samba и установили право собственности на общую группу samba.

Давайте создадим другого пользователя.

sudo useradd -M -d /home/share/smbadmin -s /usr/sbin/nologin -G sambashare smbadmin
sudo mkdir /home/share/smbadmin
sudo smbpasswd -a smbadmin
sudo smbpasswd -e smbadmin
sudo chown smbadmin:sambashare /home/share/smbadmin
sudo chmod 2770 /home/share/smbadmin

Настроить безопасный общий ресурс Samba.

[user1]
    path = /home/share/user1
    read only = no
    browseable = no
    force create mode = 0660
    force directory mode = 2770
    valid users = @user1 @sambashare

[smbadmin]
    path = /home/share/smbadmin
    read only = no
    browseable = yes
    force create mode = 0660
    force directory mode = 2770
    valid users = @sambashare @smbadmin

Перезапустите демон samba после внесения изменений.

sudo systemctl restart smbd nmbd

Убедитесь, что служба работает.

Если у вас есть активный брандмауэр, запустите:

sudo ufw allow 'Samba'

Шаг 3. Настройка клиентов Samba

Чтобы получить доступ к общему ресурсу Samba в системе Linux, вам необходимо установить и настроить клиент Samba.

---------- Установка клиента на Ubuntu / Debian ----
$ sudo apt -y install smbclient cifs-utils

---------- Установка клиента на CentOS / RHEL / Fedora ----
$ sudo yum -y install samba-client cifs-utils
$ sudo dnf -y install samba-client cifs-utils

Доступ к общему ресурсу Samba – временно

$ smbclient //sambaserver/share -U sambausername

Example:

$ smbclient //192.168.122.52/user1 -U user1
WARNING: The "syslog" option is deprecated
Enter WORKGROUP\user1's password: 
Try "help" to get a list of possible commands.
smb: \> list
0: server=192.168.122.52, share=user1
smb: > ls
   .                                   D        0  Sun Jul 14 01:10:39 2019
   ..                                  D        0  Sun Jul 14 00:49:13 2019
   latest.zip                          N 12121295  Tue Jun 18 10:52:03 2019
     9544896 blocks of size 1024. 7918732 blocks available smb: > pwd Current directory is \192.168.122.52\user1\

Вы можете смонтировать общий ресурс samba в каталог в вашей локальной системе Linux, используя опции типа mount и cifs.

$ mkdir -p ~/mounts/shares
$ mount -t cifs -o username=user1 //192.168.122.52/user1 ~/mounts/shares
$ df -h
Filesystem              Size  Used Avail Use% Mounted on
/dev/vda1                40G  2.9G   38G   8% /
devtmpfs                488M     0  488M   0% /dev
tmpfs                   496M     0  496M   0% /dev/shm
tmpfs                   496M  6.7M  489M   2% /run
tmpfs                   496M     0  496M   0% /sys/fs/cgroup
tmpfs                   100M     0  100M   0% /run/user/1000
//192.168.122.52/user1  9.2G  1.6G  7.6G  18% /home/itisgood

Монтирование samba с fstab

//192.168.122.52/user1  /mnt/shares cifs credentials=/.sambacreds 0 0

Затем я создал файл учетных данных.

$ cat /.sambacreds
username=user1
password=password
domain=WORKGROUP

Тест:

$ sudo mkdir -p /mnt/shares
$ sudo mount -a
$ df -hT | grep cifs
//192.168.122.52/user1 cifs      9.2G  1.6G  7.6G  18% /mnt/shares

Для компьютеров с Windows Desktop следуйте стандартному процессу монтирования общего ресурса Samba в Windows.

См. также:

 

You may also like

Leave a Comment