Настройка samba в терминале ubuntu
Содержание:
ШАГ 6: Утилиты и диагностика Samba
# testparm Load smb config files from etcsambasmb.conf Loaded services file OK. Server role: ROLE_STANDALONE
-
smbget позволяет скачивать с windows, linux (д.уст. samba) файлы через SMB протокол. Скачать рекурсивно все директории и файлы:
smbget -Rr smb://ip_addr/share
-
smbclient — утилита для подключения к общедоступным папкам.
-
Отобразить общедоступные ресурсы на удаленном хосте:
smbclient -L ip_addrhostname
-
Посмотреть «шары» локально на стороне сервер
smbclient -L 127.0.0.1
-
Просмотреть папку vip под пользователем tatyana
$ smbclient \\\\10.26.95.220\\vip -U tatyana
-
Отобразить общедоступные ресурсы на удаленном хосте:
-
nbtscan
nbtscan ip_addr разрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся доустанавливать вручную. nmblookup включен в пакет samba. nmblookup -A ip_addr
Общий доступ к папке Ubuntu
Сначала давайте создадим общую папку доступную всем. То есть с анонимным доступом, без авторизации samba.
Создайте папку, к которой будем открывать доступ, например:
После того как папка создана, нужно сделать для нее правильные права доступа. Следующие команды разрешают доступ к папке для всех и делают владельцем nobody:
Следующим шагом будет описать папку allaccess в файле настройки samba:
Теперь ваш конфигурационный файл должен выглядеть вот так:
Рассмотрим подробнее опции, которые были здесь использованы:
- path — путь к папке, которую нужно расшарить;
- browsable — будет ли папка отображаться в списке доступных шар;
- writable — будет ли папка доступна для записи;
- read only — папка доступна только для чтения;
- guest ok, public — будет ли разрешен гостевой доступ;
- only guest — если установлено yes, то папка будет доступна только гостям;
- hosts allow — ip адреса, с которых можно получить доступ к этому серверу;
- valid users — по умолчанию могут авторизоваться все пользователи, если в этом параметре передать список пользователей, то авторизоваться смогут только они;
- create mask — маска прав для создаваемых файлов.
Чтобы применить изменения, перезапустите сервер Samba:
Настройка Samba Ubuntu 16.04 для анонимного доступа завершена. Теперь вы можете проверить доступность общей папки allaccess из Windows, для этого нажмите Win+R и выполните:
Вы увидите нашу папку. Если не увидите, проверьте еще раз конфигурацию. Доступ к папке можно получить без авторизации samba. Настойка Samba шары с доступом без авторизации завершена.
Также вы можете подключится к этому серверу из Linux с помощью Nautilus для этого достаточно набрать адрес smb://ip-сервера, в разделе другие места:
Step 3 — Creating Users
In this step, we will create users that can access the shares. They will need access as Samba and system users in order to authenticate with the Samba server when they log in and read and write to the file system.
In the hypothetical company Example.com there are four employees who need to be added to the Samba server and created as users on the Linux system: david, mike, jane, and lucy. In addition to these four, there will be an admin user who will be able to access and administer the personal shares. This user will also own the common shares that everyone can access.
The first step to adding system users is creating home directories for each of them. Rather than using the standard home directories at , the Samba directories and data will be located at . Keeping Samba data in a single location and separated from other user data will make future management tasks such as backups easier.
Note: The users created in this guide are not intended to have SSH logins. If your users already have accounts on the server, you should create a dedicated Samba user for them in order to follow this guide.
The next section will explain the process to add the first user, david, but you will need to repeat this process for mike, jane, and lucy.
The first step is to create the directory where the Samba data will be stored, at the root of the file system. This directory will be called , and its group ownership will be set to , a group that was created when you installed Samba.
Execute the following commands to create the directory and set the group ownership to :
Next, create david’s home directory under the directory:
Now, add david as a system user with the following command:
The options do the following:
- — This sets the location of the user’s home directory.
- — This stops the command from creating david’s home directory. If the system were to create this directory, it would be populated with configuration files such as that are not necessary for the current setup.
- — This sets which shell david will be allocated when he logs in by SSH. An SSH login is not needed for access to a Samba share; setting this to will disable SSH logins.
- — This adds the user to the group, giving them read and write access to their own shares and to the common share.
You will be prompted for a password when you run this command. Choose a unique, non-dictionary based password of 10 characters or more.
Now that the system user david exists, you can set the ownership and permissions on his Samba home directory:
Setting the permissions of the directory to means that new files or directories created under will inherit the group ownership of the parent directory rather than the primary group of the user that created the file or directory. This means, for example, that if the admin user were to create a new directory in david’s share, david would be able to read and write to it.
Next, add david to the Samba server. Samba keeps its own database of users and passwords, which it uses to authenticate logins. In order to log in, all users must be added to the Samba server and enabled. Execute the following commands to accomplish both of these tasks:
The options used here do the following:
- — This adds the user to the Samba server without enabling them.
- — This enables a previously-added user.
The password that you enter here will be used to access the Samba share, and can differ from the system password.
The user david now exists as a system user without the ability to SSH into the server. He has a home directory at , and is registered and enabled as a Samba user.
Repeat this process for every Samba user (mike, jane, and lucy).
To create the admin user, run through the following commands, changing the home directory to :
In addition to creating the admin user, let’s create a group called admins to make the management of the server easier. With read and write permissions to each share, this group can simplify the work of adding and deleting users. For example, if individual users function as admin users and then leave the organization, they need to be individually removed from each share. New administrators also need to be manually added to every share. Creating an admins group and giving this group read-write access to the shares means adding and removing users requires only a single command.
Execute the following commands to create a new group called admins and add the user admin to this group:
Additional users can be added to the admins group by running the second command, , and substituting another user in place of .
The system configurations are now complete, with the organization Example.com’s users set as system and Samba users. Let’s move on to configuring the Samba server so these users can access their share directories.
Настройка Samba в Ubuntu 16.04
Ставим Samba и если у кого нет — пакет gksu, для возможности запуска окна настроек Samba:
sudo apt install samba system-config-samba gksu
Теперь переходим к настройке сервера
Создаём резервную копию оригинального файла конфигурации Samba:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
После этого, создаём свой файл конфигурации:
sudo gedit /etc/samba/smb.conf
Указываем глобальные настройки файлового сервера.
Копируем в файл эти строки:
workgroup = WORKGROUP server string = Samba Server %v netbios name = SambaSrv security = user map to guest = bad user name resolve order = bcast host wins support = no dns proxy = no
Что мы скопировали?
А вот что:
workgroup - рабочая группа, в которой находятся все наши машины server string - строка коментария, где %v - это макрос, который будет заменён на версию Самбы netbios name - имя Самба-сервера, которое будет отображаться в Windows security - по умолчанию выполнять аутентификацию на уровне пользователя map to guest - это инструкция демону, которая сообщает, что делать с запросами. bad user - означает, что запросы с неправильным паролем будут отклонены, если такое имя пользователя существует name resolve order - очередность разрешения IP адресов по NetBIOS имени. bcast - означает отправить в локальную сеть широковещательный запрос. Если все компьютеры между которыми планируется взаимодействие находятся в одной сети этот вариант оптимальный. wins support - не устанавливайте этот параметр в yes если у вас нет нескольких подсетей и вы не хотите, чтобы ваш nmbd работал как WINS сервер
Сохраняем изменения.
Теперь даём общий доступ к папке в Ubuntu, чтобы машины с Windows могли ею пользоваться.
Общий доступ к папке в Ubuntu
Создаём папку, к которой будем открывать доступ для всех:
sudo mkdir -p /samba/obmen
Ключ -p разрешает создавать вложенные папки.
~ — создать каталоги в домашней папке пользователя
После того как папка создана, нужно сделать для нее правильные права доступа. Следующие команды разрешают доступ к папке для всех и делают владельцем nobody:
cd /samba sudo chmod -R 0755 obmen sudo chown -R nobody:nogroup obmen/
Внесём изменения в файл настройки samba, добавив следующий раздел:
path = /samba/obmen browsable = yes writable = yes guest ok = yes read only = no
Теперь ваш конфигурационный файл должен выглядеть вот так:
workgroup = WORKGROUP server string = Samba Server %v netbios name = SambaSrv security = user map to guest = bad user name resolve order = bcast host dns proxy = no path = /samba/obmen browsable =yes writable = yes guest ok = yes read only = no
Чтобы применить изменения, перезапустите сервер Samba:
sudo service smbd restart
С анонимным доступом к общему ресурсу мы закончили.
Теперь можем проверить доступность этой папки в Windows-машине.
Нажимаем Win+R и в адресной строке пишем:
Скрин показывает, что доступ получен, и получен он без вводи логин и пароля, то есть анонимно.
Защищенный общий доступ к папке Ubuntu
Чтобы расшарить папку для Windows в Ubuntu, к которой будут иметь доступ только пользователи из определенной группы, создадим отдельную папку и опишем ее в файле настройки Samba в Ubuntu.
Создаем папку:
sudo mkdir -p /samba/obmen/sec
Устанавливаем права, чтобы доступ к папке получали только пользователи из группы securedgroup.
Создаем группу:
sudo addgroup securedgroup
Настраиваем права:
cd /samba/obmen sudo chmod -R 0770 sec/ sudo chown -R alex:securedgroup sec
Добавляем настройки в конфигурационный файл samba
Открываем конфигурационный файл
sudo gedit /etc/samba/smb.conf
И добавляем в него этот блок:
path = /samba/obmen/sec valid users = @securedgroup guest ok = no writable = yes browsable = yes
Перезапускаем сервер Samba.
Теперь доступ к общей папке в Ubuntu могут получить только пользователи группы securegroup.
Чтобы проверить как это работает добавим пользователя alex в нашу группу:
sudo usermod -a -G securedgroup alex
Чтобы пользователь мог работать с расшаренными папками в Ubuntu, он должен быть в базе данных Samba.
Создаём для него пароль Samba:
sudo smbpasswd -a alex
После ввода команды будет предложено ввести новый пароль.
Для применения изменений перезагружаем файловый сервер.
Для того, чтобы доступ к папке мог получить только определённый пользователь, заменяем @securedgroup на имя пользователя.
Вот и всё
10 октября 2016, 18:32
Александр
Linux
13304
Из этой категории
- Установка LAMP-сервера и phpMyAdmin в Debian 10Установка XAMPP в Debian 10 (Ubuntu) LinuxОтключить пароль SUDO в LinuxBash-команды для экономии времениУстанавливаем Brackets в Debian 10Работа с пакетами при помощи dpkgНастройка Linux Debian 10Скачиваем сайты целиком — утилита wget15 специальных символов-команд, которые нужно знать для работы в Bash Linux42 команды Linux
Conclusion
In this article, you have created cross-platform online file shares using the Samba server. You have also accessed these shares from Windows, Linux, and macOS.
Samba shares have become so common that many applications are able to access the data stored in them. These applications can extend the functionality and usefulness of your Samba shares. For example, the mobile version of the media player VLC can connect to and stream music and video from your Samba share. To access it, select open MRL and use the standard Samba URL: . You can also use a Samba share as the destination for your backups with the cross-platform backup utility BackupPC.
In addition to acting as a simple file share, Samba can work with Windows Active Directory as either a domain controller or a member of a domain. The Samba Wiki User Documentation contains more information on how to do this.
Samba Configuration
To configure Samba to use LDAP, edit its configuration file commenting out the default passdb backend parameter and adding some ldap-related ones. Make sure to use the same values you used when running smbldap-populate:
Change the values to match your environment.
Now inform Samba about the rootDN user’s password (the one set during the installation of the slapd package):
As a final step to have your LDAP users be able to connect to samba and authenticate, we need these users to also show up in the system as “unix” users. Use SSSD for that as detailed in Service — SSSD.
Install sssd-ldap
Configure /etc/sssd/sssd.conf:
Adjust permissions and start the service:
Restart the Samba services:
To quickly test the setup, see if getent can list the Samba groups:
If you have existing LDAP users that you want to include in your new LDAP-backed Samba they will, of course, also need to be given some of the extra Samba specific attributes. The smbpasswd utility can do this for you:
You will prompted to enter a password. It will be considered as the new password for that user. Making it the same as before is reasonable. Note that this command cannot be used to create a new user from scratch in LDAP (unless you are using ldapsam:trusted and ldapsam:editposix, not covered in this guide).
To manage user, group, and machine accounts use the utilities provided by the smbldap-tools package. Here are some examples:
-
To add a new user with a home directory:
The -a option adds the Samba attributes, and the -P option calls the smbldap-passwd utility after the user is created allowing you to enter a password for the user. Finally, -m creates a local home directory. Test with the getent command:
-
To remove a user:
In the above command, use the -r option to remove the user’s home directory.
-
To add a group:
As for smbldap-useradd, the -a adds the Samba attributes.
-
To make an existing user a member of a group:
The -m option can add more than one user at a time by listing them in comma-separated format.
-
To remove a user from a group:
-
To add a Samba machine account:
Replace username with the name of the workstation. The -t 0 option creates the machine account without a delay, while the -w option specifies the user as a machine account.
1. Установка Samba AD
Выполните обновление РЕД ОС:
# yum clean all && yum update
Установите необходимые пакеты:
# yum install samba-client*.x86_64 samba-common.noarch samba-common*x86_64 samba-dc*.x86_64 samba-libs.x86_64 samba-winbind*.x86_64 -y
Проверьте Samba на наличие kerberos heimdal (при использовании MIT Kerberos возможна некорректная работа samba c kerberos) см. ссылкуhttps://wiki.samba.org/index.php/Running_a_Samba_AD_DC_with_MIT_Kerberos_KDC
В том случае, если следующая команда выдаёт «HAVE_LIBKADM5SRV_MIT», тогда нужно установить Samba с поддержкой Kerberos Heimdal.
# smbd -b | grep HAVE_LIBKADM5SRV_MIT HAVE_LIBKADM5SRV_MIT
Переименуйте используемые по умолчанию конфигурационные файлы samba и kerberos:
# mv /etc/krb5.conf /etc/krb5.conf.bak # mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Команда проверки установленной версии samba:
# smbd -V
Настраиваем Samba
Перед непосредственно настройкой, программу нужно установить. Установка Samba выполняется таким же образом, как в случае с другими программами — при помощи ввода в терминал команды:
Сразу же заметьте: все действия, которые будут описаны, включая и установку программы, можно выполнить как на простой Ubuntu, так и на Ubuntu Server. Только на последней доступен исключительно текстовый интерфейс.
После установки следует сделать бэкап файла конфигурации:
Дальше делаем свой документ с глобальными параметрами:
Либо редактируем существующий. В этом файле содержатся основные установки сервера Самбы. Чтобы разобраться, что мы будем делать дальше, нужно понимать, что означают различные строки.
- Workgroup — рабочая группа. Значение этого параметра также часто будет Workgroup, поскольку в Виндовс домен рабочей группы по умолчанию выглядит именно так.
- Netbios name — имя компьютера Ubuntu, которое видят пользователи Windows. Здесь можно вводить значение на своё усмотрение.
- Security — режим авторизации пользователей. По умолчанию стоит User, то есть аутентификация на уровне пользователя. Пока что лучше так и оставить.
- Os level — указывает приоритет, который имеет Samba над другими клиентами (ПК) в локальной или интернет-сети.
- Name resolve order — очерёдность разрешения IP-адресов по NetBIOS имени.
- Read only — привилегия чтения или записи каталога. Значение может быть «yes» — исключительно чтение, «no» — запись.
Создаём пользователя
Это простейшее действие, с которого можно начинать работу с Самбой.
Добавляем пользователя в самой ОС:
Создаём для него пароль:
Занесём нашего пользователя в базу Samba:
При помощи команды $ smbpasswd можно выполнять другие различные действия:
- $ smbpasswd username — смена пароля
- $ smbpasswd -x username — удаление пользователя
- $ smbpasswd -d username — бан пользователя
Сервер необходимо перезагружать, если вносите изменения в конфигурационный файл. Делается это с помощью команды:
Это базовые настройки Samba. Теперь можно попробовать применить программу на практике.
Доступ к папке
Сначала попробуем создать папку, доступ к которой будет открыт всем пользователям, даже тем, кто не авторизован в Samba.
Создаём папку, с которой и будем потом работать на двух компьютерах:
Теперь делаем для этой папки расширенный доступ, чтобы её мог открыть любой клиент нашей локальной сети:
Владельцем согласно коду является nobody.
Теперь в файле с конфигурацией сервера нужно сделать два раздела: первый, содержащий основную информацию:
Следуют разделы друг за другом в таком же порядке.
Обновляем изменения сервера:
Действия с компьютером на Windows
На Винде также требуется выполнить некоторые действия, чтобы можно было без труда открыть новую общую папку и редактировать её.
- Открываем командную строку. Желательно делать это с расширенными правами, т. е. от имени администратора.
- Выполняем команду:
- notepad C:\Windows\System32\drivers\etc\hosts
- Открывается файл, в котором вводим следующую строчку:
- 168.0.1 srvr1.domain.com srvr1
Благодаря ей папка станет доступна. - Открыть её можно при помощи строки «Выполнить». Жмём Win + R, вводим: После этого нам откроется папка.
Закрытая папка
Настроенный сервер Samba можно использовать и для создания сетевых папок с ограниченным доступом. Такую папку тоже нужно сначала создать, а затем добавить в конфигурацию Samba.
Делаем папку с названием «Closed»:
Делаем специальную группу, которая может иметь доступ к этой папке:
Создаём особые права для разных групп:
Так же, как и в случае с открытой папкой, добавляем сведения в конфигурацию:
Перезапускаем сервер.
Как можно понять, мы сделали папку Closed внутри Access. Таким образом Access может открыть каждый пользователь локальной сети, но чтобы смотреть и редактировать Closed, нужно обладать особыми правами.
Чтобы убедиться, что всё работает именно так, как мы это задали в командном файле, можно выполнить несколько простых действий.
Создаём пользователя и добавляем его в нашу закрытую группу:
Пользователя у нас зовут, как пачку сигарет (или премьер-министра Британии).
Делаем для Уинстона пароль:
После этого нам предложат ввести новый пароль, чтобы зайти заново под только что созданным аккаунтом. Не забудьте после этого сделать перезагрузку. Теперь вы знаете, как настроить сервер через Самбу в Убунту.
Конечно, возможности Samba не исчерпываются только созданием простых папок. Но эти простые инструкции и примеры показывают, что можно сделать при помощи этой программы. Это будет первым шагом к пониманию сути серверных ПК и их управления.
Настройка сервера
Настройка Samba-сервера выполняется в несколько этапов. Так как все данные пользователей и машин хранятся в LDAP, вначале неободимо выполнить настройку OpenLDAP-сервера, а затем — настройку LDAP для хранения учётных записей пользователей Linux. Это необходимо для работы Linux-клиентов. После этого можно настроить Samba-сервер.
Настройка Samba
Перед настройкой Samba-сервера настройте LDAP для хранения учётных записей Unix-пользователей. Для этого выполните:
cl-setup unix
* ПРЕДУПРЕЖДЕНИЕ: Выполнение этой программы изменит конфигурационные файлы и базу данных сервиса LDAP. Если вы готовы продолжить выполнение программы, введите 'yes', если нет - 'no': yes * Добавлен ldif файл ... * Unix сервис сконфигурирован ...
Для настройки Samba-сервера выполните:
cl-setup samba
* ПРЕДУПРЕЖДЕНИЕ: Выполнение этой программы изменит конфигурационные файлы Samba сервиса. Если вы готовы продолжить выполнение программы, введите 'yes', если нет - 'no': yes * Добавлен ldif файл ... * Запускается Samba ... * Пользователь client добавлен в Unix сервис * Пользователь client добавлен в Samba сервис * Пользователь admin добавлен в Unix сервис * Пользователь admin добавлен в Samba сервис * Samba сервис сконфигурирован ...
В качестве параметров вы можете указать netbios и workgroup.
- — устанавливает имя NetBIOS, под которым будет работать Samba сервер. По умолчанию оно устанавливается равным первому компоненту DNS-имени хоста.
- — имя домена или рабочей группы NT для компьютеров, которые будут получать доступ к этому серверу.
Задайте пароль администратора (пользователь с логином ):
cl-passwd —smb admin samba
Новый пароль:
Повторите новый пароль:
* Пароль пользователя admin Samba сервиса изменен
Заметка
Пользователь используется только для ввода клиентского компьютера с ОС Windows в домен. Admin не имеет домашней директории.
Если нужен администратор домена для управления компьютерами на Windows, создайте нового пользователя и включите его в доменную группу .
Пример создания администратора домена:
cl-useradd -p —gid «Domain Admins» -c «Администратор домена» d_admin samba
Новый SMB пароль: Повторите новый SMB пароль: * Пользователь d_admin добавлен в Unix сервис * Пользователь d_admin добавлен в Samba сервис
Добавление и удаление пользователей
Для работы с пользователями используйте аналоги стандартных Unix-команд: , , , , , , . Синтаксис этих команд будет во многом совпадать с одноименными системными утилитами.
Для примера добавьте пользователя test и задайте ему пароль:
cl-useradd test samba
* Пользователь test добавлен в Unix сервис * Пользователь test добавлен в Samba сервис
cl-passwd test samba
Новый пароль: Повторите новый пароль: * Пароль пользователя Unix сервиса изменен * Пароль пользователя test Samba сервиса изменен
System Config Samba
Графический интерфейс (GUI) способен во многом облегчить процесс настройки Samba в Ubuntu. Как минимум, пользователю, который только перешел на Linux, этот способ покажется более понятным.
Шаг 1: Установка
Изначально нужно установить специальную программу в систему, которая обладает интерфейсом и которая необходима для осуществления настройки. Сделать это можно с помощью «Терминала», выполнив команду:
Если до этого вы не устанавливали все компоненты Samba себе на компьютер, вам нужно будет вместе с ней загрузить и установить еще некоторые пакеты:
После того как все необходимое было установлено, можно переходить непосредственно к настройке.
Шаг 2: Запуск
Запустить System Config Samba можно двумя способами: с помощью «Терминала» и через меню Bash.
Способ 1: Терминал
Если вы решили использовать «Терминал», то вам необходимо сделать следующее:
- Нажмите сочетание клавиш Ctrl+Alt+T.
-
Введите следующую команду:
- Нажмите Enter.
Далее вам потребуется ввести системный пароль, после чего откроется окно программы.
Способ 2: Меню Bash
Второй способ многим покажется проще, так как все операции выполняются в графическом интерфейсе.
- Нажмите на кнопку меню Bash, которая находится в верхнем левом углу рабочего стола.
Введите в открывшемся окне поисковой запрос «Samba».
Нажмите по одноименной программе в разделе «Приложения».
После этого система запросит у вас пароль пользователя. Введите его и программа откроется.
Шаг 3: Добавление пользователей
Перед тем как приступать непосредственно к настройке папок Samba нужно добавить пользователей. Делается это через меню настроек программы.
- Нажмите по пункту «Настройка» на верхней панели.
В меню выберите пункт «Пользователи Samba».
В появившемся окне нажмите «Добавить пользователя».
В выпадающем списке «Имя пользователя Unix» выберите пользователя, которому будет разрешено входить в папку.
Вручную введите имя пользователя Windows.
Введите пароль, а затем повторите его ввод в соответствующем поле.
Нажмите кнопку «ОК».
Таким образом вы можете добавить одного или нескольких пользователей Samba, а в будущем определить их права.
Шаг 4: Настройка сервера
Теперь нужно приступить к настройке сервера Samba. Это действие выполняется на порядок проще в графическом интерфейсе. Вот что нужно сделать:
- В главном окне программы нажмите по пункту «Настройка» на верхней панели.
Из списка выберите строку «Параметры сервера».
В появившемся окне, во вкладке «Основной», введите в строке «Рабочая группа» название группы, все компьютеры которой смогут подключаться к серверу Samba.
Введите описание группы. При желании можете оставить значение по умолчанию, этот параметр ни на что не влияет.
Перейдите на вкладку «Безопасность».
Определите режим аутентификации как «Пользователь».
Выберите из выпадающего списка «Шифровать пароли» интересующий вас вариант.
Выберите гостевую учетную запись.
Нажмите «ОК».
После этого настройка сервера будет окончена, можно переходить непосредственно к созданию папок Samba.
Шаг 5: Создание папок
Если ранее вы не создавали общедоступные папки, то окно программы будет пустым. Для создания новой папки, вам нужно выполнить следующее:
- Кликните по кнопке с изображением знака плюс.
В открывшемся окне, во вкладке «Основной», нажмите «Обзор».
В файловом менеджере укажите нужную папку для ее расшаривания.
В зависимости от предпочтений, поставьте галочки рядом с «Запись разрешена» (пользователю будет позволено редактировать файлы в общедоступной папке) и «Виден» (на другом ПК добавляемая папка будет видна).
Перейдите во вкладку «Доступ».
На ней есть возможность определить пользователей, которым будет разрешено открывать расшаренную папку. Для этого поставьте отметку рядом с «Предоставить доступ только определенным пользователям». После этого нужно выбрать их из списка.
Если вы собираетесь сделать общедоступную папку, то поставьте переключатель в положение «Предоставить доступ всем».
Нажмите кнопку «ОК».
После этого в главном окне программы будет отображаться только что созданная папка.
При желании вы можете создать еще несколько папок, используя вышеприведенную инструкцию, или же изменить уже созданные, нажав по кнопке «Изменить свойства выбранного каталога».
Как только вы создадите все нужные папки, можете закрывать программу. На этом инструкция по настройке Samba в Ubuntu с помощью программы System Config Samba окончена.
Что такое Самба?
Если вы думали, что страница посвящена изучению танца, вы слегка ошиблись. Samba — свободно распространяемое программное обеспечение. Оно реализует доступ к принтерам и файлам. Причём делает это на различных операционных системах.
Для чего нужна?
В сравнении с другими пакетами программ подобного назначения Самба имеет несколько достоинств и особенностей.
- Позволяет соединить друг с другом Unix-подобную систему, т. е. любую систему на Linux, и Windows. Причём не только Windows. Программа очень «всеядна»: MacOS, Solaris и другие ОС разной степени популярности.
- Самба даёт возможность пользователям Виндовс использовать компьютеры на Ubuntu в качестве сервера. То есть пользоваться файлами, к которым налажен доступ, а также частью подключённых устройств.
- Поддерживает доменную структуру NT Domain, управляет пользователями NT, поддерживает функции участника, первичного контроллера.
Наверное, для многих главное из этого — связь с машинами на Windows. Они в этом случае выступают в качестве клиента, а компьютер на Ubuntu — в качестве сервера. С другой стороны, пользователь Ubuntu также может получить доступ к сетевым папкам Windows.
Samba производится аж с 1992 года. И, что главное, новые версии выходят до сих пор. Последняя была выпущена седьмого марта 2017. С каждым годом разработчики стараются наладить совместимость большим количеством различных версий операционных систем, но главной фишкой остаётся соединение Linux-систем с Microsoft. В сравнении с Windows Server Samba может уступать ей из-за отсутствия поддержки части протоколов и инфраструктуры узлов. Однако многие утверждают, что скорость работы Самбы гораздо выше.
Установка
Для своих серверов я всегда использую Centos, но здесь пришлось сделать исключение и выбрать Debian, т.к. Samba, доступная из основных пакетов в Centos, не может выступать в роли AD.
Вариантов установки на Centos было несколько: собрать из пакетов (что на продуктивном сервере совсем некошерно) или установить из сторонних репозиториев (например, tissamba), но решил попробовать Debian, т.к. не хотелось искать обходные пути.
Но и с Debian оказался нюанс, т.к. в основных стабильных репозиториях не было нужной мне версии. Тем не менее, вариант установки из официальных репозиториев, пусть и тестовых, меня более чем устроил.
Каждый волен выбирать тот вариант установки и тот дистрибутив, который подходит для той или иной задачи, но стоит учесть будущие возможные обновления и связанные с этим проблемы при использовании сборки из исходников или чужого репозитория, который не будет работать, например.
Зависимости, необходимые для Samba AD в Debian:
В оф. документации указаны пакеты python-gpgme python3-gpgme для зависимостей, но в Debian 10 его больше нет, так что его я не устанавливал.
Заключение
Скажу откровенно — мне не нравится, как работают файловые сервера samba с интеграцией в виндовом домене. Но настраивать их приходится часто, так как востребованный функционал. Востребован в первую очередь потому, что не требует вообще никаких денег за лицензии, и работает на минимальной конфигурации железа. Вот список типичных проблем при работе самбы в домене:
- Иногда через windows acl права перестают выставляться, возникают неинформативные ошибки, по которым невозможно понять, что не так.
- Я достаточно регулярно наблюдаю ситуацию, когда слетают соответствия доменных учеток линуксовым UID. В итоге права доступа превращаются в ничего не значащий набор цифр и перестают работать.
- При переносе данных с одного сервера на другой трудно сохранить права доступа. Можно поступить вот так для копирования прав доступа, либо как-то заморочиться, чтобы на всех серверах у вас были одинаковые UID доменных учетных записей. Я не разбирал этот вопрос подробно.
Если у вас есть возможность настроить файловый сервер на windows, либо обойтись линуксом без домена, то сделайте так. Существенно упростите настройку и дальнейшую эксплуатацию. Данную статью еще можно дополнить некоторыми моментами, которые я рассказал ранее, а что не рассказал, постараюсь раскрыть позже и добавить сюда ссылки на статьи:
- Подробное логирование всех действий с файлами на сервере.
- Настройка корзины для сетевых дисков samba.
- Бэкап файлового сервера.
- Мониторинг за размером файловой шары.
Буду рад любым полезным замечаниям, исправлениям, советам по настройке файлового сервера samba. Я потратил значительное время, чтобы поделиться своими знаниями и опытом с остальными. Надеюсь, кто-то поделится чем-то полезным со мной. В том числе ради этого я и пишу статьи. Они расширяют мой кругозор и закрепляют полученные знания.
Супер-интенсив «Tarantool»
Если у вас есть желание освоить платформу in-memory вычислений, востребованную в современных высоконагруженных приложениях, рекомендую пройти интенсив Tarantool в OTUS. Обучение длится 5 дней.
Что даст вам этот интенсив:
- Узнаете архитектуру и внутреннее устройство Tarantool.
- Поймете сильные и слабые стороны Tarantool.
- Сможете назвать сходства и отличия от других СУБД.
- Увидите кейсы использования: куда брать, куда не брать.
- Установите и запустите Tarantool.
- Поднимете собственный кластер.
Смотрите подробнее программу по .