Setting up Simple Samba File Shares
Оглавление:
- Предпосылки
- Установка Samba в Ubuntu
- Настройка брандмауэра
- Настройка глобальных параметров Samba
- Создание пользователей Samba и структуры каталогов
- Создание пользователей Samba
- Конфигурирование акций Samba
- Подключение к Samba Share из Linux
- Использование клиента smbclient
- Монтирование общего ресурса Samba
- Использование GUI
- Вывод
Samba - это бесплатная и открытая реализация протокола сетевого обмена файлами SMB / CIFS, который позволяет конечным пользователям получать доступ к файлам, принтерам и другим общим ресурсам.
В этом руководстве объясняется, как установить Samba в Ubuntu 18.04 и настроить его в качестве автономного сервера для совместного использования файлов в разных операционных системах по сети.
Мы создадим следующие общие ресурсы и пользователей Samba.
Пользователи:
- sadmin - Администратор с правами чтения и записи для всех общих ресурсов. josh - обычный пользователь со своей личной папкой.
Акции:
- пользователи - эта папка будет доступна всем пользователям с правами на чтение / запись. josh - этот ресурс будет доступен с правами на чтение / запись только пользователям josh и sadmin.
Файловые ресурсы будут доступны со всех устройств в вашей сети. Далее в этом руководстве мы также предоставим подробные инструкции о том, как подключиться к серверу Samba из клиентов Linux, Windows и macOS.
Предпосылки
Прежде чем продолжить, убедитесь, что вы вошли в систему Ubuntu 18.04 как пользователь с привилегиями sudo.
Установка Samba в Ubuntu
Samba доступна в официальных репозиториях Ubuntu. Чтобы установить его в вашей системе Ubuntu, выполните следующие действия:
-
Начните с обновления индекса пакетов apt:
sudo apt updateУстановите пакет Samba с помощью следующей команды:
sudo apt install sambaПосле завершения установки служба Samba запустится автоматически. Чтобы проверить, работает ли сервер Samba, введите:
sudo systemctl status smbdВывод должен выглядеть примерно так, как показано ниже, показывая, что служба Samba активна и работает:
● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…
На данный момент Samba установлена и готова к настройке.
Настройка брандмауэра
Предполагая, что вы используете
UFW
для управления брандмауэром, вы можете открыть порты, включив профиль 'Samba':
Настройка глобальных параметров Samba
Прежде чем вносить изменения в файл конфигурации Samba, создайте резервную копию для будущих справочных целей:
sudo cp /etc/samba/smb.conf{,.backup}
Файл конфигурации по умолчанию, который поставляется с пакетом Samba, настроен для автономного сервера Samba. Откройте файл и убедитесь, что
server role
установлена как
standalone server
sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…
По умолчанию Samba прослушивает все интерфейсы. Если вы хотите ограничить доступ к серверу Samba только из внутренней сети, раскомментируйте следующие две строки и укажите интерфейсы для привязки:
/etc/samba/smb.conf
… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…
После этого запустите утилиту
testparm
чтобы проверить файл конфигурации Samba на наличие ошибок. Если нет синтаксических ошибок, вы увидите
Loaded services file OK.
Наконец, перезапустите сервисы Samba с помощью:
sudo systemctl restart smbd
sudo systemctl restart nmbd
Создание пользователей Samba и структуры каталогов
Для удобства обслуживания и гибкости вместо использования стандартных домашних каталогов (
/home/user
) все каталоги и данные Samba будут находиться в каталоге
/samba
.
Чтобы создать каталог
/samba
введите:
sudo mkdir /samba
Установите групповое владение на
sambashare
. Эта группа создается во время установки Samba, позже мы добавим всех пользователей Samba в эту группу.
sudo chgrp sambashare /samba
Samba использует пользователей Linux и систему разрешений групп, но имеет собственный механизм аутентификации, отличный от стандартной аутентификации Linux. Мы создадим пользователей с помощью стандартного инструмента Linux
useradd
, а затем установим пароль пользователя с помощью утилиты
smbpasswd
.
Как мы упоминали во введении, мы создадим обычного пользователя, который будет иметь доступ к своему личному общему файлу и одну административную учетную запись с правами чтения и записи для всех общих ресурсов на сервере Samba.
Создание пользователей Samba
Чтобы создать нового пользователя с именем
josh
используйте следующую команду:
sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh
Параметры
useradd
имеют следующие значения:
-
-M-не создавать домашний каталог пользователя. Мы вручную создадим этот каталог.-d /samba/josh- установить домашний каталог пользователя в/samba/josh.-s /usr/sbin/nologin- отключить доступ к оболочке для этого пользователя.-G sambashare- добавить пользователя в группуsambashare.
Создайте домашний каталог пользователя и установите в качестве владельца каталога пользователя
josh
и группу
sambashare
:
sudo mkdir /samba/josh
sudo chown josh:sambashare /samba/josh
Следующая команда добавит бит setgid в каталог
/samba/josh
чтобы вновь созданные файлы в этом каталоге наследовали группу родительского каталога. Таким образом, независимо от того, какой пользователь создаст новый файл, у него будет группа-владелец
sambashare
. Например, если вы не установите права доступа к
sadmin
2770
а пользователь
sadmin
создает новый файл, пользователь
josh
не сможет читать / записывать в этот файл.
sudo chmod 2770 /samba/josh
Добавьте
josh
запись пользователя
josh
в базу данных Samba, установив пароль пользователя:
sudo smbpasswd -a josh
Вам будет предложено ввести и подтвердить пароль пользователя.
New SMB password: Retype new SMB password: Added user josh.
После того, как пароль установлен для включения учетной записи Samba, запустите:
sudo smbpasswd -e josh
Enabled user josh.
Для создания другого пользователя повторите тот же процесс, что и при создании пользователя
josh
.
Далее давайте создадим пользователя и группу
sadmin
. Все члены этой группы будут иметь административные разрешения. Позже, если вы хотите предоставить права администратора другому пользователю, просто добавьте этого пользователя в группу
sadmin
.
Создайте административного пользователя, набрав:
sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin
Приведенная выше команда также создаст группу
sadmin
и добавит пользователя в группы
sadmin
и
sambashare
.
Установите пароль и включите пользователя:
sudo smbpasswd -a sadmin
sudo smbpasswd -e sadmin
Затем создайте каталог
Users
доступа
Users
:
sudo mkdir /samba/users
Установите право собственности на каталог для пользователя
sadmin
и группы
sambashare
:
sudo chown sadmin:sambashare /samba/users
Этот каталог будет доступен всем аутентифицированным пользователям. Следующая команда
chmod
предоставляет доступ на запись / чтение членам группы
sambashare
в
sambashare
/samba/users
:
Конфигурирование акций Samba
Откройте файл конфигурации Samba и добавьте разделы:
sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin
Опции имеют следующие значения:
-
и- Имена общих ресурсов, которые вы будете использовать при входе в систему.path- Путь к общей папке.browseable- должен ли общий ресурс быть указан в списке доступных акций. При настройкеnoдругой пользователь не сможет видеть общий ресурс.read only- могут ли пользователи, указанные вvalid usersспискеvalid users, писать в этот общий ресурс.force create mode- устанавливает разрешения для вновь создаваемых файлов в этой общей папке.force directory mode- Устанавливает разрешения для вновь созданных каталогов в этом общем ресурсе.valid users- список пользователей и групп, которым разрешен доступ к общему ресурсу. Группы начинаются с символа@.
Для получения дополнительной информации о доступных параметрах см. Страницу документации файла конфигурации Samba.
После этого перезапустите сервисы Samba:
sudo systemctl restart smbd
sudo systemctl restart nmbd
В следующих разделах мы покажем вам, как подключиться к общему ресурсу Samba из клиентов Linux, macOS и Windows.
Подключение к Samba Share из Linux
Пользователи Linux могут получить доступ к общему ресурсу samba из командной строки с помощью файлового менеджера или смонтировать общий ресурс Samba.
Использование клиента smbclient
smbclient
- это инструмент, который позволяет вам получить доступ к Samba из командной строки. Пакет
smbclient
предварительно не установлен в большинстве дистрибутивов Linux, поэтому вам нужно будет установить его вместе с менеджером пакетов распространения.
Чтобы установить
smbclient
в Ubuntu и Debian, выполните:
sudo apt install smbclient
Чтобы установить
smbclient
на CentOS и Fedora, выполните:
sudo yum install samba-client
Синтаксис для доступа к общему ресурсу Samba выглядит следующим образом:
mbclient //samba_hostname_or_server_ip/share_name -U username
Например, чтобы подключиться к
josh
ресурсу с именем
josh
на сервере Samba с IP-адресом
192.168.121.118
качестве пользователя
josh
вы должны выполнить:
smbclient //192.168.121.118/josh -U josh
Вам будет предложено ввести пароль пользователя.
Enter WORKGROUP\josh's password:
После того, как вы введете пароль, вы войдете в интерфейс командной строки Samba.
Try "help" to get a list of possible commands. smb: \>
Монтирование общего ресурса Samba
Чтобы сначала смонтировать общий ресурс Samba в Linux, вам необходимо установить пакет
cifs-utils
.
На Ubuntu и Debian запустите:
sudo apt install cifs-utils
На CentOS и Fedora работают:
sudo yum install cifs-utils
Далее создайте точку монтирования:
sudo mkdir /mnt/smbmount
Смонтируйте общий ресурс с помощью следующей команды:
sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount
Например, чтобы смонтировать ресурс с именем
josh
на сервере Samba с IP-адресом
192.168.121.118
качестве пользователя
josh
в точку монтирования
/mnt/smbmount
вы запустите:
sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount
Вам будет предложено ввести пароль пользователя.
Password for josh@//192.168.121.118/josh: ********
Использование GUI
Файлы, файловый менеджер по умолчанию в Gnome имеет встроенную возможность доступа к общим ресурсам Samba.
- Откройте «Файлы» и нажмите «Другие местоположения» на боковой панели. В «Подключиться к серверу» введите адрес общей
smb://samba_hostname_or_server_ip/sharenameSamba в следующем форматеsmb://samba_hostname_or_server_ip/sharenamesharename. Нажмите «Подключиться», и появится следующий экран:








Вывод
Из этого руководства вы узнали, как установить сервер Samba в Ubuntu 18.04 и создавать различные типы общих ресурсов и пользователей. Мы также показали, как подключиться к серверу Samba с устройств Linux, macOS и Windows.
самба убунтуКак установить и настроить сервер NFS на Ubuntu 18.04
Сетевая файловая система (NFS) - это протокол распределенной файловой системы, который позволяет вам совместно использовать удаленные каталоги по сети. В этом уроке мы рассмотрим, как настроить сервер NFSv4 в Ubuntu 18.04.
Как установить и настроить Redis на Ubuntu 18.04
Redis - это хранилище структуры данных с открытым исходным кодом в памяти. Он может использоваться в качестве базы данных, кэша и брокера сообщений и поддерживает различные структуры данных, такие как строки, хэши, списки, наборы и т. Д. В этом руководстве описывается установка и настройка Redis на сервере Ubuntu 18.04.
Как установить и настроить samba на centos 7
В этом руководстве мы покажем, как установить Samba в CentOS 7 и настроить его как автономный сервер для совместного использования файлов в различных операционных системах по сети.
















