- 🛠️ Как добавить пользователя Samba на Linux
- Добавление пользователя
- Добавление существующего локального пользователя в samba
- Пункт о добавлении пользователей в Samba версии 4.x
- Удаление пользователя samba
- Заключение
- Настройка Samba
- Что такое Samba?
- Настройка общих папок
- Linux
- How to Add a Samba User in Linux
- Add a user
- Add existing local user to samba
- Delete samba user
- Conclusion
🛠️ Как добавить пользователя Samba на Linux
Samba – это бесплатная сетевая служба с открытым исходным кодом, работающая по модели клиент-сервер.
Она позволяет обмениваться файлами в операционных системах Windows и Linux/Unix и использует протоколы SMB (Server Messaging Block) и CIFS (Common Internet File system) для беспрепятственного совместного использования ресурсов в сети. Совместное использование Samba считается одним из наиболее эффективных и экономичных способов совместного использования ресурсов в локальной сети – LAN.
Файловый ресурс в Samba называется общим ресурсом samba.
Общий ресурс samba может быть любым – файлом, каталогом или даже принтером.
В сетевой конфигурации клиент посылает серверу Samba запрос на файл, каталог или общий принтер.
В свою очередь, сервер Samba отвечает на эти запросы, отказывая или предоставляя клиенту доступ к запрашиваемым общим ресурсам.
Чтобы получить доступ к общему ресурсу , в Linux необходимо добавить нового пользователя в качестве пользователя samba.
Затем пользователь samba может подключиться к серверу Samba, используя пароль samba, и получить доступ к общим ресурсам.
В этом руководстве мы расскажем вам о процедуре добавления пользователя samba.
Добавление пользователя
Теперь давайте сосредоточимся на том, как добавить нового пользователя в Samba.
Сначала создайте новую учетную запись пользователя, как это делается в любой системе Linux.
В этом примере мы создадим новую учетную запись для пользователя по имени ‘joe’.
Затем добавьте пользователя samba, назначив новому пользователю пароль samba с помощью команды ‘smbpasswd’, как показано на далее:
Вам будет предложено ввести новый пароль samba, а затем подтвердить его, как показано ниже
New SMB password: Retype new SMB password: added user joe.
После создания пользователя samba необходимо добавить его в общий ресурс samba путем редактирования файла samba smb.conf, который является конфигурационным файлом Samba.
Прокрутите и найдите общий ресурс samba, в данном случае ‘documents’, и добавьте пользователя в список допустимых пользователей, как показано в 4-й строке конфигурационного блока ниже.
[documents] comment = Departmental documents share path = /srv/documents valid users = joe public = no writable = yes browsable = yes
Теперь сохраните изменения и выйдите из файла конфигурации.
Чтобы изменения сохранились, перезапустите демон Samba, как показано далее:
sudo systemctl restart smb
Добавление существующего локального пользователя в samba
Если в вашей системе уже есть существующий пользователь, то добавить его в samba довольно просто.
Просто используйте команду ‘smbpasswd’, как показано ниже:
sudo smbpasswd -a existing_user
Затем измените конфигурационный файл и добавьте существующего пользователя в список допустимых пользователей samba, как было показано ранее.
valid users = existing_user
Пункт о добавлении пользователей в Samba версии 4.x
Начиная с Samba версии 4.x и выше, Samba имеет возможность работать в качестве контроллера домена AD.
Вам не нужно иметь стандартного пользователя Linux или Unix в Linux для каждого создаваемого пользователя Samba.
Чтобы добавить пользователей в Samba Active directory, используйте показанную команду:
samba-tool user add username
Удаление пользователя samba
Если вы хотите удалить пользователя Samba из вашей системы, используйте команду ‘smbpasswd’ с опцией -x, за которой следует имя пользователя.
Если вы хотите, вы можете полностью удалить пользователя вместе с домашним каталогом с помощью команды userdel, как показано далее:
Заключение
Мы рассмотрели, как можно добавить и удалить пользователя Samba в системе Linux.
Как было сказано ранее, Samba версии 4.x теперь поддерживает аутентификацию через Active directory, в отличие от предыдущих версий Samba.
Настройка Samba
Пожалуй нет ни одного офиса, в котором не применялись бы общие ресурсы локальной сети, будь то папки или принтеры. Крупные и средние компании используют возможности Active Directory, компании поменьше — используют штатные средства ОС Windows или Samba, но на серверах под управлением ОС Linux. Рассмотрим все случаи.
- Что такое Samba?
- Как настроить общую папку
- Как настроить общую папку в Linux
- Как настроить общую папку в Windows
- Как подключиться к общей папке
- Как подключиться к общей папке Linux
- Как подключиться к общей папке Windows
- Как создать общий сетевой ресурс в Samba
Что такое Samba?
Samba — серверное приложение, реализующее доступ клиентских терминалов к папкам, принтерам и дискам про протоколу SMB/CIFS.
Настройка общих папок
Linux
Установка и настройка Samba-сервер для Ubuntu выполняется следующими этапами.
Обновляем информацию о репозиториях и устанавливаем обновления для существующих пакетов в системе:
Устанавливаем пакет Samba:
Создадим резервную копию файла конфигурации:
Создадим директории для файлов, например в каталоге /media:
Важно! По умолчанию, директория /media располагается в корне системы /, для нее редко создается свой раздел. По этой причине возможно переполнение корневого раздела. Во избежание этой неприятной ситуации, рекомендуем монтировать отдельный жесткий диск в /media/samba.
Создаем каталог для всех пользователей:
Изменим права доступа к каталогу:
Также следует воспользоваться командой chown для смены владельца и/или группы.
Создаем директорию для ограниченного круга лиц:
С помощью системных инструментов создадим группу пользователей:
Добавляем пользователей Samba:
Созданных пользователей добавляем в группу:
Изменим группу, которой принадлежит приватная директория:
С помощью инструментов Samba создадим пароль для добавленного пользователя:
С помощью текстового редактора, например, nano, редактируем конфигурационный файл samba:
Удаляем все строки из файла. Вставляем следующие:
[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no
[public]
path = /media/samba/public
guest ok = yes
force user = nobody
browsable = yes
writable = yes
[private]
path = /media/samba/private
valid users = @smbgrp
guest ok = no
browsable = yes
writable = yes
Сохраняем используя сочетание Ctrl + X, затем нажимаем Y и Enter.
Объясним значения строк. конфигурационный файл состоит из трех секций:
global — данная секция отвечает за общие настройки Samba-сервера;
public и private — секции описания настроек директорий общего доступа.
В секции global присутствуют пять параметров:
- workgroup — рабочая группа. Для упрощения работы пользователей WORKGROUP указывается, как группа по умолчанию. Если в вашей сети имя рабочей группы изменено, то следует изменить это значение и для Samba;
- security — уровень безопасности сервера. Значение user означает авторизацию по паре логин/пароль;
- map to guest — параметр определяет способ обработки запросов. Значение bad user означает, что запросы с неправильным паролем будут отклонены, даже если такое имя пользователя существует;
- wins support — включить или выключить поддержку WINS;
- dns proxy — возможность проксирования запросов к DNS.
Настройки директорий выполняются в соответствующих секциях:
path — полный путь до директории на жестком диске;
guest ok — возможность доступа к каталогу без пароля (гостевой);
browsable — показывать ли каталог (“шару”) на сервере среди прочих. Если параметр установлен как “no”, то доступ будет возможен по полному пути, например ip-addresshidden_directory;
force user — пользователь от которого ведется работа с каталогом. Для повышения безопасности сервера, обычно используют nobody. Главное, не использовать пользователя root — это небезопасно.
writable — установка значения как “yes” позволяет пользователю выполнять действия над файлами внутри каталога — переименование, добавление, удаление, перемещение в подкаталог и копирование;
valid users — список пользователей у которых есть доступ к каталогу. Если пользователей несколько, их имена указываются через запятую. Если необходим доступ для пользователей принадлежащих группе, перед именем группы устанавливается символ ”at” @ (“собака”).
Важно! Имя директории общего доступа, отображаемое пользователям, равно имени секции в которой оно описано.
Проверяем настройки с помощью команды:
How to Add a Samba User in Linux
Samba is a free and open-source networking service that functions in a client/server networking model. It allows for file sharing across both Windows and Linux/Unix operating systems and leverages the SMB (Server Messaging Block) and the CIFS (Common Internet File system) protocols to seamlessly share resources in a network. Samba sharing is considered one of the most efficient and cost-effective way of sharing resources in a local area network — LAN.
A file share in Samba in referred to as a samba share. A samba share could be anything from a file, a directory, or even a printer. In a network setup, the client sends a request to the Samba server for a file, directory, or a shared printer. In turn, the Samba server responds to these requests by denying or granting the client access to the shared resources requested.
A new user needs to be added as a samba user in Linux to be able to access the samba share. The samba user can then connect to the Samba server using a samba password and access the shared resources. In this tutorial, we will walk you the procedure of adding a samba user
Add a user
Now let’s focus on how to add a new user to Samba. First, create a new user account just as you would in any Linux system. In this example, we will create a new user account for a user called ‘joe‘.
Next, add samba user by assigning a samba password to the new user using the ‘smbpasswd’ command as shown:
You will be prompted to provide a new samba password and later confirm it as shown in the output below
New SMB password: Retype new SMB password: added user joe.
The samba users passwords are stored in a binary file located in /var/lib/samba/private directory. The file is named as passdb.tdb. You won’t be able to view the password — it’s hashed. To manage TDB databases in Linux systems you can use Tdbtool — is a command-line utility.
Once you have created the samba user, you need to add them to the samba share by editing the samba smb.conf file which is Samba’s configuration file. Scroll and locate the samba share, in this case, ‘documents’, and append the user to the list of valid users as shown in the 4th line in the configuration block below.
[documents] comment = Departmental documents share path = /srv/documents valid users = joe public = no writable = yes browsable = yes
Now save the changes and exit the configuration file. For the changes to persist, restart Samba daemon as shown.
sudo systemctl restart smb
Add existing local user to samba
If you already have an existing user on your system, then adding the user to samba is quite straightforward. Simply use the ‘smbpasswd‘ command as shown:
sudo smbpasswd -a existing_user
Then modify the configuration file and add the existing user to the list of valid samba users as shown earlier.
valid users = existing_user
A point on Adding users to Samba version 4.x
From Samba version 4.x and later, Samba has the ability to run as an AD Domain Controller. You don’t need to have a standard Linux or Unix user in Linux for every Samba user that is created. To add users into Samba Active directory, use the command shown:
samba-tool user add username
Delete samba user
If you want to delete or remove a Samba user from your system, use the ‘smbpasswd‘ command with -x option followed by the username.
If you so desire, you can remove the user completely along with the home directory using the userdel command as shown:
Conclusion
We have covered how you can add and delete a Samba user on a Linux system. As stated earlier, the Samba version 4.x now supports authentication via the Active directory unlike the earlier versions of Samba.
If this resource helped you, let us know your care by a Thanks Tweet. Tweet a thanks