
Для совместного использования файлов в локальной сети Linux предоставляет несколько инструментов, среди которых наиболее популярны Samba и NFS. Выбор метода зависит от операционных систем клиентов: Samba подходит для Windows и Linux, а NFS – преимущественно для Linux.
Перед расшариванием папки важно определить права доступа. Linux использует три уровня разрешений: чтение, запись и выполнение. Для расшаренной папки рекомендуется создать отдельную группу пользователей и назначить ей права через команды chmod и chown.
Настройка Samba требует редактирования файла /etc/samba/smb.conf. В конфигурации указываются имя папки, путь к ней, права доступа и опции безопасности, включая возможность аутентификации по пользователю или открытый доступ.
После настройки важно проверить доступность папки с клиентских машин. Для этого используют команды smbclient или подключение через файловый менеджер. Проверка поможет выявить ошибки в правах доступа, сетевых настройках или брандмауэре.
Для ограниченного доступа по сети можно указать допустимые IP-адреса и подсети в конфигурации Samba. Это позволит контролировать, какие устройства могут подключаться к расшаренной папке и защищает данные от несанкционированного доступа.
Выбор подходящего метода расшаривания: Samba или NFS

Samba используется для совместного доступа к папкам между Linux и Windows. Она поддерживает протокол SMB/CIFS, что позволяет видеть расшаренные ресурсы в сетевом окружении Windows. Для настройки Samba необходимо установить пакет samba и создать конфигурацию в /etc/samba/smb.conf, где указываются путь к папке, имя расшаренного ресурса и права доступа.
NFS предназначен для обмена файлами между Linux-системами. Он работает быстрее, чем Samba при передаче больших объёмов данных внутри локальной сети, и интегрируется с системными правами пользователей Linux. Настройка требует установки пакета nfs-kernel-server, создания экспортируемых директорий в файле /etc/exports и применения команды exportfs для обновления настроек.
Выбор метода зависит от операционных систем клиентов и требований к производительности. Если к папке будут подключаться устройства Windows, предпочтительнее использовать Samba. Для Linux-клиентов внутри одной сети лучше выбрать NFS, так как он обеспечивает минимальные задержки и сохраняет POSIX-разрешения.
При комбинированной сети возможно одновременное использование обоих методов. В этом случае каждая папка настраивается отдельно, с учетом того, какие пользователи и с каких устройств будут получать доступ.
Настройка прав доступа для конкретных пользователей

В Linux управление доступом к папкам осуществляется через права файловой системы и группы пользователей. Для ограничения доступа рекомендуется создать отдельную группу и добавить в неё конкретных пользователей командой usermod -aG имя_группы пользователь.
Назначение прав на папку выполняется через команды chmod и chown. Например, чтобы дать группе только чтение и запись, используют chmod 770 /путь/к/папке и chown root:имя_группы /путь/к/папке. В результате владелец и группа имеют полный доступ, остальные пользователи – нет.
Для наглядного управления правами можно использовать таблицу соответствий:
| Тип пользователя | Права | Описание |
|---|---|---|
| Владелец | rwx | Полный доступ: чтение, запись, выполнение |
| Группа | rwx | Доступ по назначению для участников группы |
| Остальные | — | Нет доступа к папке |
Для Samba или NFS права пользователей также учитываются. В Samba указывают конкретных пользователей через директиву valid users в smb.conf, а в NFS ограничивают доступ по имени группы или UID в файле /etc/exports.
Создание и редактирование конфигурации Samba

Файл конфигурации Samba расположен по пути /etc/samba/smb.conf. Перед изменением рекомендуется создать резервную копию: cp /etc/samba/smb.conf /etc/samba/smb.conf.backup. Основная структура файла состоит из глобальных параметров и секций расшаренных ресурсов.
Глобальные параметры задают имя рабочей группы, режим безопасности и опции логирования. Например, workgroup = WORKGROUP и security = user обеспечивают совместимость с Windows и требование авторизации пользователей.
Каждая расшаренная папка определяется отдельной секцией в квадратных скобках. Пример конфигурации:
[Документы]
path = /srv/shared/docs
valid users = user1, user2
read only = no
browsable = yes
create mask = 0660
directory mask = 0770
Параметры valid users ограничивают доступ конкретными пользователями, read only регулирует возможность записи, а create mask и directory mask устанавливают права для новых файлов и папок. После изменения конфигурации применяют команду systemctl restart smbd для перезапуска службы.
Подключение расшаренной папки с другого компьютера

Для доступа к Samba-папкам с Linux используют команду smbclient или монтирование через cifs. Пример подключения через терминал:
sudo mount -t cifs //IP_сервера/Документы /mnt/shared -o username=user1,password=пароль
Параметр IP_сервера указывает адрес машины с расшаренной папкой, а /mnt/shared – точку монтирования на клиентском компьютере. Параметры username и password соответствуют учетной записи Samba.
Для постоянного монтирования папки добавляют запись в /etc/fstab:
//IP_сервера/Документы /mnt/shared cifs username=user1,password=пароль,uid=1000,gid=1000,iocharset=utf8 0 0
Для NFS-папок используют команду mount -t nfs IP_сервера:/путь/к/папке /mnt/shared. Убедитесь, что на клиенте установлен пакет nfs-common и доступ разрешен в /etc/exports сервера.
После монтирования проверяют доступ к файлам через ls /mnt/shared или файловый менеджер. При проблемах следует проверить сетевые настройки, права доступа и наличие активного брандмауэра, блокирующего соединение.
Проверка доступности и устранение проблем с подключением

Для проверки доступности расшаренной папки используют стандартные сетевые и системные утилиты. Основные шаги включают:
- Проверка сетевого соединения: ping IP_сервера.
- Проверка доступности Samba-ресурсов: smbclient -L IP_сервера -U пользователь.
- Проверка монтирования NFS: showmount -e IP_сервера и mount на клиенте.
- Просмотр журналов Samba: journalctl -u smbd для выявления ошибок авторизации или блокировки.
- Проверка прав доступа к папке: ls -l /путь/к/папке и getfacl /путь/к/папке для NFS.
Для устранения проблем следует:
- Проверить правильность IP-адреса и имени хоста.
- Убедиться, что пользователь существует на сервере и указан в valid users для Samba или имеет соответствующий UID/GID для NFS.
- Настроить брандмауэр, открыв порты 139, 445 для Samba и 2049 для NFS.
- Перезапустить службы: systemctl restart smbd для Samba и systemctl restart nfs-server для NFS.
- Проверить сетевые права на клиентской машине и монтирование точек.
После выполнения этих шагов повторно тестируют доступ с клиента и проверяют возможность чтения и записи файлов в расшаренной папке.
Ограничение доступа по IP и сетевым группам

В Samba доступ к папкам можно ограничить списком разрешённых IP-адресов. В секции расшаренного ресурса добавляют директиву hosts allow:
[Документы]
path = /srv/shared/docs
valid users = user1, user2
hosts allow = 192.168.1.10 192.168.1.20
Запись перечисляет конкретные устройства, которые могут подключаться. Для блокировки всех остальных используют hosts deny = ALL. Аналогично можно использовать подсети, например: hosts allow = 192.168.1.0/24.
В NFS доступ ограничивается в файле /etc/exports, где указывают IP-адреса или диапазоны для каждого экспортируемого пути:
/srv/shared/docs 192.168.1.0/24(rw,sync,no_subtree_check)
Опция rw разрешает запись, sync обеспечивает синхронизацию, no_subtree_check предотвращает ошибки при изменении структуры папки. После изменения конфигурации применяют команду exportfs -ra для обновления настроек.
Такой подход позволяет контролировать, какие устройства или группы устройств могут работать с расшаренными данными, повышая безопасность и предотвращая несанкционированный доступ.
Вопрос-ответ:
Какие методы расшаривания папок доступны в Linux для разных операционных систем?
В Linux чаще всего используют Samba и NFS. Samba подходит для доступа как с Linux, так и с Windows, поскольку использует протокол SMB/CIFS. NFS оптимален для Linux-клиентов, обеспечивает высокую скорость передачи данных и сохраняет права доступа POSIX.
Как правильно настроить права доступа для конкретных пользователей при расшаривании папки?
Для ограничения доступа создают отдельную группу и добавляют в неё нужных пользователей. С помощью команд chmod и chown назначают права на папку, например, chmod 770 /путь/к/папке и chown root:имя_группы /путь/к/папке. В Samba указывают пользователей через директиву valid users, а в NFS — через UID/GID и настройки в /etc/exports.
Какие ключевые параметры нужно указать в конфигурации Samba для расшаривания папки?
В файле /etc/samba/smb.conf указывают путь к папке (path), пользователей с доступом (valid users), возможность записи (read only = no) и маски для новых файлов и каталогов (create mask и directory mask). После внесения изменений применяют команду systemctl restart smbd и проверяют конфигурацию через testparm.
Как подключиться к расшаренной папке с другого компьютера на Linux?
Для Samba используют команду mount -t cifs //IP_сервера/имя_папки /mnt/точка_монтирования -o username=пользователь,password=пароль. Для NFS применяют mount -t nfs IP_сервера:/путь/к/папке /mnt/точка_монтирования. После монтирования проверяют доступ с помощью ls /mnt/точка_монтирования и проверяют права чтения и записи.
Какие способы ограничения доступа к расшаренной папке по IP или сетевым группам существуют?
В Samba используют директивы hosts allow и hosts deny в секции расшаренной папки, указывая конкретные IP-адреса или подсети. В NFS доступ задают в /etc/exports, прописывая IP-диапазоны и опции, такие как rw, sync и no_subtree_check. После изменения настроек применяют exportfs -ra или перезапускают службу Samba.
