> For the complete documentation index, see [llms.txt](https://antons-organization-1.gitbook.io/administrirovanie-linux/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://antons-organization-1.gitbook.io/administrirovanie-linux/servisy-linux/protokol-samba/nastroika-samba.md).

# Настройка Samba

## Настройка общей папки в Linux и Windows

### LINUX

Установка и настройка Samba-сервер для Linux состоит из следующих этапов:

1.Обновления информации о репозиториях и для существующих пакетов в системе:

`apt-get update && apt-get upgrade`

2.Установки пакета Samba:

`apt-get install -y samba samba-client`

3.Создания резервной копии файла конфигурации:

`cp /etc/samba/smb.conf /etc/samba/smb.conf_sample`

4.Создания директории для файлов, так чтобы все пользователи имели к ней доступ:

`mkdir -p /samba/public`

5.Создания каталога для всех пользователей:

`mkdir /media/samba/public`

6.Изменения прав доступа к каталогу:

`cd /samba`\
`chmod -R 0755 public`

{% hint style="info" %}
Важно! Для смены владельца и/или группы пользуемся командой **chown**
{% endhint %}

7.Создания директории для ограниченного круга лиц

8.Создания групп пользователей с применением системных инструментов:

`groupadd smbgrp`

9.Добавления пользователей Samba:

`useradd user1`

10.Внесения созданных пользователей в группу:

`usermod -aG smbgrp user1`

11.Изменения группы, к которой относится приватная директория:

`chgrp smbgrp /samba/private`

12.Создания с помощью инструментов Samba пароля для добавленного пользователя:

`smbpasswd -a user1`

13.Редактирования конфигурационного файла samba с помощью текстового редактора:

`nano /etc/samba/smb.conf`

Все строки из файла удаляются, а вместо них вставляются следующие:

`[global]`\
`workgroup = WORKGROUP`\
`security = user`\
`map to guest = bad user`\
`wins support = no`\
`dns proxy = no`\
`[public]`\
`path = /samba/public`\
`guest ok = yes`\
`force user = nobody`\
`browsable = yes`\
`writable = yes`\
`[private]`\
`path = /samba/private`\
`valid users = @smbgrp`\
`guest ok = no`\
`browsable = yes`\
`writable = yes`

Сохранения введенных строк с использованием комбинации клавиш **Ctrl + X**, затем с нажатием **Y и Enter**.

Названия строк при этом обозначают:

1. наименование одной из трех секций конфигурационного файла:&#x20;

* **global** – данная секция отвечает за общие настройки Samba-сервера;&#x20;
* **public и private** – секции, описывающие настройки директорий общего доступа;

2. пять параметров в секции global:&#x20;

* **workgroup** – наименование рабочей группы,&#x20;
* **security** – уровень безопасности сервера с авторизацией по паре логин/пароль при значении user,&#x20;
* **map to guest** - способ обработки запросов с отклонением неправильного пароля даже для существующего пользователя (значение bad user),&#x20;
* **wins support** – включение/выключение поддержки WINS,&#x20;
* **dns proxy** – обеспечение проксирования запросов к DNS;

3. настройки директорий в секциях:&#x20;

* **path** – полный путь до директории на жестком диске,&#x20;
* **guest ok** – возможность доступа к каталогу без пароля (гостевой),&#x20;
* **force user** – пользователь, ведущий работу с каталогом (для безопасности сервера используется значение nobody) ,&#x20;
* **browsable** - демонстрация конкретного каталога на сервере;&#x20;
* **writable** – право пользователя при значении “yes” переименовывать, добавлять, удалять, редактировать файлы и перемещать их в каталоги;&#x20;
* **valid users** – список пользователей с предоставленным доступом к каталогу.

14.Проверку настроек проводим командой:

`testparm -s`

15.Выполняем перезапуск сервера:

`service smbd restart`\
`service nmbd restart`

Для настройки межсетевого экрана нужно открыть в правилах TCP-порты 139 и 445, а также UDP-порты 137 и 138 (для подсетей с высоким уровнем доверия). Если нужно указать собственный диапазон адресов, значение после ключа “-s” заменяется:

`iptables -A INPUT -p tcp -m tcp --dport 445 -s 10.0.0.0/24 -j ACCEPT`\
`iptables -A INPUT -p tcp -m tcp --dport 139 -s 10.0.0.0/24 -j ACCEPT`\
`iptables -A INPUT -p udp -m udp --dport 137 -s 10.0.0.0/24 -j ACCEPT`\
`iptables -A INPUT -p udp -m udp --dport 138 -s 10.0.0.0/24 -j ACCEPT`

16.После перезагрузки сервера сохранить правила и применять их поможет пакет **iptables-persistent**. Для его установки вводится команда:

`apt-get install iptables-persistent`

Для сохранения существующих правил **iptables** введите команду:

`sudo netfilter-persistent save`

`iptables -L`

## Подключение к общей папке в Linux

Чтобы подключиться к общим папкам из среды Linux, понадобится установить отдельный пакет ПО - smbclient. Для этого вводим команду:

`sudo apt-get install smbclient`

Для подключения к серверу применяется команда:

`smbclient -U<Имя_пользователя><Имя_каталога_на_сервере>`

Эту команду не обязательно вводить каждый раз - для этого монтируем общую директорию как сетевой диск через установку пакета **cifs-utils**:

`sudo apt-get install cifs-utils`

и применяем шаблон:

`mount -t cifs -o username=<Имя_пользователя>,password= ///<Общий каталог> <Точка монтирования>`

{% hint style="info" %}
Важно! При подключении к общепользовательским папкам для Windows-сервера в не защищенных паролями директориях устанавливается имя пользователя “**Everyone**”, для Linux-сервера - “**nobody**”.
{% endhint %}

Подключение к общим папкам из среды Windows проводится по иной схеме. Для этого в проводнике или окне запуска программ (Windows + R), применяется шаблон:

`<имя_папки>`

Указанный только один IP-адрес сервера выдает список общих папок.

Если при подключении к Windows-серверу всплывает окно с требованием ввода учетной записи, в строку имени пользователя заносится **Everyone**, а пароль остается пустым.

Подключение к Linux-серверу из ОС Windows выполняется через шаблон <имя\_папки> или через адрес сервера.

### Как создать общий сетевой ресурс в Samba

Создание общего сетевого ресурса в Samba включает этапы:

–формирования директории, которую надо установить общедоступной:

`mkdir /home//`

–создания бэкапа для подстраховки:

`sudo cp /etc/samba/smb.conf ~`

–редактирования файла "/etc/samba/smb.conf":

`sudo nano /etc/samba/smb.conf`

–добавления в файл следующих сведений:

`[]`\
`path = /home//`\
`valid users =`\
`read only = no`

–после заполнения файла своими данными сохраняем введенные сведения и перезапускаем Samba:

`sudo service smbd restart`

–затем проверяем директорию smb.conf наличие неточностей:

`testparm`

–доступ к общему сетевому ресурсу предоставляется так:

`sudo apt-get install smbclient`\
\# Просмотр всех общих ресурсов:\
`smbclient -L /// -U`\
\# Подключение:\
`smbclient /// -U`

**Примечание 1:** Для подключения к вашему общему сетевому ресурсу задействуйте имя вашего пользователя () и пароль, который располагается в "smb:////"

Стоит запомнить, что "" значение переводится в "\[]", иначе говоря, в название общепользовательского ресурса, вписанного вами в "/etc/samba/smb.conf".

**Примечание 2:** Группа пользователей samba по умолчанию носит название "WORKGROUP".


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://antons-organization-1.gitbook.io/administrirovanie-linux/servisy-linux/protokol-samba/nastroika-samba.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
