- Установка и настройка файлового сервера Samba на Ubuntu
- Подготовка сервера
- 1. Время
- 2. Брандмауэр
- Установка и запуск Samba
- Создание первой шары и предоставление к ней гостевого доступа (анонимного)
- Доступ к папке по логину и паролю
- Доступ к папке определенным пользователям и группам
- Установка Samba в Ubuntu 20.04
- Определите рабочую группу Windows
- Добавьте Ubuntu в файл хоста Windows
- Включение общего доступа к файлам
- Установка Samba в Ubuntu
- Настройка общих ресурсов Samba
- Создание общей папки
- Настройка приватного ресурса Samba
- Smb ubuntu and linux
- What you’ll learn
- What you’ll need
- 2. Installing Samba
- 3. Setting up Samba
- What we’ve just added
- 4. Setting up User Accounts and Connecting to Share
- Connecting to Share
Установка и настройка файлового сервера Samba на Ubuntu
Samba позволяет настроить файловое хранилище различных масштабов — от малых офисов для крупных организаций. В данной инструкции мы рассмотрим процесс настройки файлового сервера. Сначала мы выполним установку и базовую настройку с предоставлением гостевого доступа. После будет приведены примеры разграничения доступа по пользователям, группам и пользователям Active Directory.
Подготовка сервера
1. Время
Для корректного отображения дат, необходимо позаботиться о синхронизации времени. Для этого будем использовать демон chrony. Установим его:
apt-get install chrony
Разрешим автозапуск сервиса:
systemctl enable chrony
2. Брандмауэр
По умолчанию, в системах на базе Debian брандмауэр разрешает все соединения. Но если в нашем случае мы используем брандмауэр, необходимо открыть порты:
iptables -I INPUT -p tcp —dport 445 -j ACCEPT
iptables -I INPUT -p udp —dport 137:138 -j ACCEPT
iptables -I INPUT -p tcp —dport 139 -j ACCEPT
* где порт 445 используется для samba, а порты 137, 138 и 139 — для работы NetBIOS (использование имени компьютера для доступа).
apt-get install iptables-persistent
Установка и запуск Samba
Установка выполняется из репозитория одной командой:
apt-get install samba
Разрешаем автостарт сервиса:
systemctl enable smbd
И проверим, что сервис запустился:
systemctl status smbd
Проверяем, что сервер самба позволяет к себе подключиться. Для этого можно с компьютера обратиться к серверу по SMB, например, на компьютере с Windows это можно сделать из проводника, прописав путь к серверу с двух слэшей:
* в данном примере мы подключаемся к серверу Samba с IP-адресом 192.168.1.15.
Если мы настроили сервер правильно, система откроет пустую папку. На данном этапе проверка закончена и мы можем переходить к созданию первой шары.
Создание первой шары и предоставление к ней гостевого доступа (анонимного)
Разберем самый простой пример предоставления доступа к папке — анонимный доступ всем пользователям без запроса пароля.
Открываем на редактирование конфигурационный файл samba:
И добавляем настройку для общей папки:
[Общая папка]
comment = Public Folder
path = /data/public
public = yes
writable = yes
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
- [Общая папка] — имя общей папки, которое увидят пользователи, подключившись к серверу.
- comment — свой комментарий для удобства.
- path — путь на сервере, где будут храниться данные.
- public — для общего доступа. Установите в yes, если хотите, чтобы все могли работать с ресурсом.
- writable — разрешает запись в сетевую папку.
- read only — только для чтения. Установите no, если у пользователей должна быть возможность создавать папки и файлы.
- guest ok — разрешает доступ к папке гостевой учетной записи.
- create mask, directory mask, force create mode, force directory mode — при создании новой папки или файла назначаются указанные права. В нашем примере права будут полные.
Создаем каталог на сервере и назначим права:
mkdir -p /data/public
chmod 777 /data/public
Применяем настройки samba, перезагрузив сервис:
systemctl restart smbd
Пробуем подключиться к папке. Мы должны зайти в нее без необходимости ввода логина и пароля.
Доступ к папке по логину и паролю
Теперь создадим каталог, в который вход будет разрешен только авторизованным пользователям.
Открываем конфигурационный файл samba:
Добавляем настройку для новой папки:
[Папка сотрудников]
comment = Staff Folder
path = /data/staff
public = no
writable = yes
read only = no
guest ok = no
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
* эти настройки, во многом, похожи на те, что использовались в примере выше. Вот основные различия:
- path = /data/staff — используем новый путь до папки.
- public = no — запрещаем публичный доступ.
- guest ok = no — не разрешаем гостевое подключение.
Создаем каталог для новой папки:
Задаем права на созданный каталог:
chmod 777 /data/staff
Создаем пользователя в системе Linux:
* где staff1 — имя пользователя.
Задаем пароль для пользователя:
Теперь создадим пользователя в samba:
smbpasswd -a staff1
systemctl restart smbd
Пробуем зайти на сервер — общую папку мы должны открыть без авторизации, а при попытке открыть папку сотрудников должно появиться окно ввода логина и пароля.
Если мы авторизованы на компьютере, с которого пытаемся подключиться к серверу, под той же учетной записью, что создали для доступа к папке, samba может и не потребовать аутентификации.
Доступ к папке определенным пользователям и группам
Теперь создадим папку, доступ к которой будут иметь ограниченное количество пользователей.
Открываем конфигурационный файл samba:
Добавляем настройку для новой папки:
[Приватная папка]
comment = Private Folder
path = /data/private
public = no
writable = no
read only = yes
guest ok = no
valid users = admin, staff2, staff3, @privateusers
write list = admin, staff2
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
inherit owner = yes
* стоит обратить внимание на следующие настройки:
- path = /data/private — используем новый путь до папки.
- writable = no и read only = yes — в данном примере мы разрешим запись в каталог только некоторым пользователям. Поэтому общие настройки, разрешающие запись в папку, должны быть запрещены.
- valid users — список пользователей, которым разрешено подключаться к каталогу. В данном примере разрешения работают для пользователей admin, staff2 и staff3, а также для всех, кто входим в группу privateusers.
- write list — список пользователей, которые имеют доступ к папке на чтение и запись. В данном примере мы разрешаем это только для пользователей admin и staff2.
- inherit owner — опция позволяем включить наследование владельца при создании папок и файлов.
* если мы хотим, чтобы доступ к каталогу был полный у определенных пользователей (без разделения на тех, кто может только читать и тех, кто может также писать в папку), то опцию write list можно не указывать, а опции writable и read only оставить как в примерах выше.
Источник
Установка Samba в Ubuntu 20.04
Samba — это реализация протокола SMB/CIFS с открытым исходным кодом, которая позволяет пользователям получать доступ к принтерам с общими файлами и другим сетевым ресурсам.
Samba позволяет системам Linux, включая Ubuntu, обмениваться файлами с системами Windows, включая Windows 10 и другие операционные системы.
Чтобы из руководства все получилось, компьютеры с Windows и Ubuntu должны быть в одной подсети. Т.е. они должны иметь возможность общаться по сети.
В этом руководстве мы будем использовать сеть 172.16.10.0/25.
Компьютер c Windows будет иметь IP-адрес 172.16.10.6, а компьютер с Ubuntu — 172.16.10.100.
Оба компьютера также находятся в одной локальной рабочей группе. Вы можете назвать рабочую группу как хотите, но для этого поста наша рабочая группа будет рабочей группой Windows по умолчанию под названием WORKGROUP.
Windows IP адрес | 172.16.10.6 |
Ubuntu IP адрес | 172.16.10.100 |
Определите рабочую группу Windows
Чтобы узнать, к какой рабочей группе принадлежит компьютер с Windows, откройте командную строку CMD и введите командe ниже:
Когда вы запустите приведенные выше команды, вы должны увидеть свое текущее имя рабочей группы для компьютера, обычно называемое WORKGROUP.
Добавьте Ubuntu в файл хоста Windows
Если у вас нет собственного DNS и вы хотите ссылаться на каждую систему по их именам, вам нужно добавить эти имена в файл локального хоста на каждой машине.
В системе Windows откройте командную строку от имени администратора и выполните следующие команды.
Затем добавьте локальную запись для компьютера с Ubuntu
Сохраните изменения, и закройте файл.
Для того чтобы добавить имя компьютера Windows в файл хоста компьютера Ubuntu, нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть командный терминал.
Затем выполните следующие команды:
Затем введите IP-адрес с именем хоста для компьютера Windows, сохраните файл и выйдите.
Включение общего доступа к файлам
Чтобы сделать возможным совместное использование файлов, эта функция должна быть включена в системах Windows. Чтобы включить это, запустите командную строку от имени администратора и выполните следующие команды.
Затем выполните приведенные ниже команды, чтобы включить совместное использование файлов и обнаружение сети.
Совместное использование файлов должно быть включено на компьютере с Windows после выполнения приведенных выше команд.
Установка Samba в Ubuntu
На этом этапе компьютеры с Windows и Ubuntu должны быть членами одной и той же рабочей группы, и обе системы имеют записи в своем локальном хост-файле, чтобы ссылаться на другую по имени.
Войдите в систему на компьютере Ubuntu, чтобы установить Samba. Для её установки выполните следующие команды:
После установки Samba проверьте, запущены ли службы Samba. Для этого выполните следующие команды:
Вывод должен показать похожие строки, как это видно ниже:
Настройка общих ресурсов Samba
Теперь, когда Samba установлена, выполните следующие команды, чтобы создать резервную копию файла конфигурации по умолчанию.
Затем откройте файл конфигурации Samba, выполнив следующую команду.
Измените выделенные строки в соответствии с приведенными ниже.
После этого сохраните изменения. Затем запустите утилиту testparm, чтобы проверить файл конфигурации Samba на наличие ошибок.
Перезапустите сервисы Samba.
Создание общей папки
Далее создайте общую папку, к которой у всех должен быть доступ, как определено в конфигурации Samba выше…
Установите разрешения, чтобы каждый мог читать и писать в эту папку.
Перезапустите Samba и откройте проводник Windows, чтобы просмотреть общее папку в Ubuntu.
Теперь перейдите на свой компьютер с Windows, и вы должны увидеть общую общую папку в Ubuntu при просмотре диспетчера файлов, как показано ниже.
Доступ должен быть у всех.
Настройка приватного ресурса Samba
Теперь вы знаете, как создавать общедоступные ресурсы Samba. Давайте приступим к созданию частных и защищенных ресурсов. Только пользователи, которые являются членами утвержденной группы, смогут получить доступ к безопасному расположению с паролями.
Сначала создайте группу samba под названием smbgroup для общего ресурса (только участники будут иметь доступ). Чтобы создать группы в Ubuntu, выполните следующие команды.
Затем добавьте пользователя в группу, выполнив следующие команды
Наконец, всем пользователям, которым нужен доступ к защищенному общему ресурсу samba, потребуется ввести пароль. Чтобы добавить пользователя в базу паролей samba, выполните приведенные ниже команды для каждого пользователя.
Пользователю будет предложено ввести и подтвердить пароль. Этот пароль будет использоваться для доступа к защищенным ресурсам samba.
Затем перейдите и создайте защищенный общий ресурс в каталоге /samba.
Затем предоставьте доступ к этому общему ресурсу только root и группе участников.
Когда вы закончите создавать защищенный ресурс, откройте файл smb.conf и внесите необходимые изменения.
Добавьте блок конфигурации указанный ниже в файл smb.conf
Перезапустите smbd и проверьте свои изменения.
Указанными выше инструкциями можно добавить сколько угодно разных общих ресурсов.
Вы можете подключить диск в Windows для облегчения доступа.
Источник
Smb ubuntu and linux
A Samba file server enables file sharing across different operating systems over a network. It lets you access your desktop files from a laptop and share files with Windows and macOS users.
This guide covers the installation and configuration of Samba on Ubuntu.
What you’ll learn
- How to set up a Samba file server
- How to share files across a local network
What you’ll need
- Ubuntu 16.04 LTS
- A Local Area Network (LAN) to share files over
If you have everything ready, let’s dive straight into the installation process on the next step!
Originally authored by Aden Padilla.
2. Installing Samba
To install Samba, we run:
We can check if the installation was successful by running:
The following should be its output:
3. Setting up Samba
Now that Samba is installed, we need to create a directory for it to share:
The command above creates a new folder sambashare in our home directory which we will share later.
The configuration file for Samba is located at /etc/samba/smb.conf . To add the new directory as a share, we edit the file by running:
At the bottom of the file, add the following lines:
Then press Ctrl-O to save and Ctrl-X to exit from the nano text editor.
What we’ve just added
-
- comment: A brief description of the share.
-
path: The directory of our share.
read only: Permission to modify the contents of the share folder is only granted when the value of this directive is no .
browsable: When set to yes , file managers such as Ubuntu’s default file manager will list this share under “Network” (it could also appear as browseable).
Now that we have our new share configured, save it and restart Samba for it to take effect:
Update the firewall rules to allow Samba traffic:
4. Setting up User Accounts and Connecting to Share
Since Samba doesn’t use the system account password, we need to set up a Samba password for our user account:
Note
Username used must belong to a system account, else it won’t save.Connecting to Share
On Ubuntu: Open up the default file manager and click Connect to Server then enter:
On macOS: In the Finder menu, click Go > Connect to Server then enter:
On Windows, open up File Manager and edit the file path to:
Note: ip-address is the Samba server IP address and sambashare is the name of the share.
You’ll be prompted for your credentials. Enter them to connect!
Источник