Настройка служб общего доступа к файлам в Ubuntu Server — важная задача в современных ИТ-средах, обеспечивающая беспрепятственную совместную работу и эффективный обмен данными между устройствами, операционными системами и пользователями. Работаете ли вы в смешанной среде с системами Linux, Windows и macOS или поддерживаете команду, которой нужен централизованный доступ к общим ресурсам, Ubuntu Server предоставляет мощные инструменты для ваших задач общего доступа к файлам.
В этом руководстве мы проведём вас через процесс настройки трёх популярных служб общего доступа к файлам — FTP, Samba и NFS — в Ubuntu Server. Эти службы предназначены для безопасного и надёжного обмена файлами и обеспечивают совместимость между различными платформами и средами.
Предыдущие статьи:
01. Введение в Ubuntu Server – SysOSX: AI & Cloud
02. Как настроить свой первый сервер Ubuntu: руководство для начинающих – SysOSX: AI & Cloud
03. Освоение командной строки Linux для Ubuntu Server – SysOSX: AI & Cloud
05. Основы сетей для Ubuntu Server: полное руководство – SysOSX: AI & Cloud
07.Исправления и обновления Ubuntu Server: полное руководство – SysOSX: AI & Cloud
08. Защита вашего сервера Ubuntu: практические шаги по усилению защиты – SysOSX: AI & Cloud
09. Аудит и ведение журналов сервера Ubuntu
10. Инструменты мониторинга системы для Ubuntu Server: полное руководство – SysOSX: AI & Cloud
12. Аудит и соответствие требованиям для Ubuntu Server: лучшие практики – SysOSX: AI & Cloud
13. Настройка сервера Ubuntu для хостинга и веб-приложений: полное руководство – SysOSX: AI & Cloud
14. Размещение нескольких сайтов на одном сервере Ubuntu: полезные советы – SysOSX: AI & Cloud
15. Управление хранилищем и дисками в Ubuntu Server: простое руководство – SysOSX: AI & Cloud
Введение в службы общего доступа к файлам
Службы общего доступа к файлам позволяют устройствам обмениваться данными по сети. Ubuntu Server поддерживает несколько протоколов общего доступа к файлам, включая:
- FTP (протокол передачи файлов): Идеально подходит для передачи файлов между устройствами по сети.
- Samba: Обеспечивает общий доступ к файлам между системами Linux и Windows с помощью протокола SMB/CIFS.
- NFS (сетевая файловая система): Предназначена для обмена файлами между Unix-системами, включая Linux и macOS.
У каждого протокола есть свои сильные стороны, и выбор зависит от вашего конкретного сценария использования. Ниже мы проведём вас через процесс настройки каждой службы.
Сценарии использования FTP, Samba и NFS
Понимание сценариев использования каждого протокола общего доступа к файлам поможет вам выбрать подходящий для вашей среды:
Вариант использования FTP
FTP лучше всего подходит для сред, в которых файлы необходимо передавать между устройствами по сети, например:
- Размещение сайтов, на которые клиенты загружают файлы на веб-сервер.
- Обмен файлами с внешними пользователями, которым не нужен постоянный доступ к общему каталогу.
- Автоматизация загрузки/скачивания файлов с помощью скриптов или заданий cron.
Вариант использования Samba
Samba идеально подходит для смешанных сред с системами Linux и Windows. Распространённые сценарии:
- Обмен файлами между серверами Linux и настольными компьютерами Windows в корпоративных сетях.
- Предоставление общей папки для совместной работы пользователей разных операционных систем.
- Обеспечение беспрепятственного доступа пользователей Windows к файловым серверам на базе Linux.
Вариант использования NFS
NFS предназначена для Unix-систем, таких как Linux и macOS. Она хорошо работает в таких сценариях, как:
- Обмен файлами между серверами Linux в центре обработки данных или облачной среде.
- Монтирование каталогов в системах macOS для целей разработки.
- Предоставление постоянного высокопроизводительного общего хранилища для приложений, работающих в Linux.
Настройка FTP
FTP — широко используемый протокол для передачи файлов между устройствами. Чтобы настроить FTP-сервер в Ubuntu:
Шаг 1: Установка vsftpd
Выполните следующую команду, чтобы установить пакет vsftpd:
sudo apt update
sudo apt install vsftpd
Шаг 2: Настройка vsftpd
Отредактируйте файл конфигурации:
sudo nano /etc/vsftpd.conf
Внесите следующие изменения:
- Включите анонимный доступ (необязательно):
anonymous_enable=NO - Разрешите локальных пользователей:
local_enable=YES write_enable=YES - Ограничьте пользователей их домашними каталогами:
chroot_local_user=YES - Сделать домашний каталог недоступным для записи
sudo chmod a-w /home/yourusername
Сохраните и закройте файл, затем перезапустите службу FTP:
sudo systemctl restart vsftpd
Шаг 3: Проверка FTP-сервера
Используйте FTP-клиент (например, FileZilla) или командную строку для подключения к серверу:
ftp <server-ip>
вывод:
PS C:\> ftp 10.0.0.13
Connected to 10.0.0.13.
220 (vsFTPd 3.0.5)
200 Always in UTF8 mode.
User (10.0.0.13:(none)): uadmin
331 Please specify the password.
Password:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
uploads
226 Directory send OK.
ftp: 12 bytes received in 0.00Seconds 12000.00Kbytes/sec.
ftp> put test.txt
200 PORT command successful. Consider using PASV.
553 Could not create file.
ftp> cd uploads
250 Directory successfully changed.
ftp> pwd
257 "/uploads" is the current directory
ftp> put test.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
test.txt
226 Directory send OK.
ftp: 13 bytes received in 0.00Seconds 13000.00Kbytes/sec.
ftp>

Настройка Samba для Windows и Linux
Samba идеально подходит для обмена файлами между системами Linux и Windows. Выполните следующие действия, чтобы настроить Samba:
Шаг 1: Установка Samba
Выполните следующую команду:
sudo apt update
sudo apt install samba
Шаг 2: Настройка Samba
Отредактируйте файл конфигурации Samba:
sudo nano /etc/samba/smb.conf
Добавьте следующий раздел, чтобы предоставить общий доступ к каталогу:
[SharedFolder]
path = /path/to/shared/folder
read only = no
browsable = yes
guest ok = yes
force user = nobody
Шаг 3: Установка разрешений
Убедитесь, что у общей папки есть соответствующие разрешения:
sudo chmod -R 0777 /path/to/shared/folder
sudo chown -R nobody:nogroup /path/to/shared/folder
Перезапустите службу Samba:
sudo systemctl restart smbd
Шаг 4: Доступ к общим ресурсам Samba
- Windows: Откройте Проводник и введите IP-адрес сервера (например,
\\<server-ip>). - Linux: Используйте команду
smbclientили смонтируйте общий ресурс с помощьюcifs.

Настройте имя пользователя и пароль SMB с помощью:
sudo smbpasswd -a username
После настройки сервера Samba, добавления имени пользователя и пароля SMB и предоставления общего доступа к /www/var попробуйте получить доступ с машины Windows.

Настройка NFS для Linux и macOS
NFS — мощный протокол для обмена файлами между Unix-системами. Вот как настроить NFS:
Шаг 1: Установка NFS-сервера
Выполните следующую команду:
sudo apt update
sudo apt install nfs-kernel-server
Шаг 2: Настройка экспортов NFS
Отредактируйте файл экспортов NFS:
sudo nano /etc/exports
Добавьте каталог, к которому хотите предоставить общий доступ, указав IP-адреса или сети клиентов:
/path/to/shared/folder <client-ip>(rw,sync,no_subtree_check)
Затем проверьте экспорты с помощью:
exportfs -v

Шаг 3: Применение изменений
Перезапустите службу NFS:
sudo systemctl restart nfs-kernel-server
Шаг 4: Монтирование общего ресурса NFS
На клиентской машине используйте следующую команду, чтобы смонтировать общий ресурс NFS:
sudo mount <server-ip>:/path/to/shared/folder /mount/point
На стороне клиента установите NFS-клиент из командной строки:
sudo apt install nfs-common
#Check if the NFS server is listening on the required ports:
sudo showmount -e nfs-server-ip

Устранение распространённых проблем
В работе служб общего доступа к файлам могут возникать проблемы из-за неправильной конфигурации или настроек сети. Вот некоторые распространённые проблемы и решения:
Настройка брандмауэра
Убедитесь, что необходимые порты открыты:
- FTP: Порт 21
- Samba: Порты 137-139 и 445
- NFS: Порты 2049 и другие (см.
/etc/servicesдля подробностей)
Используйте ufw для разрешения этих портов:
sudo ufw allow <port-number>
Ошибки разрешений
Проверьте разрешения и владельца каталогов для общих папок.
Проблемы с подключением
Проверьте настройки сети и убедитесь, что сервер и клиент находятся в одной подсети.
Дополнительные ресурсы
Для дальнейшего чтения обратитесь к официальной документации каждой службы:
Следующая глава: продвинутые темы
В следующей главе мы углубимся в продвинутые темы для дальнейшего совершенствования навыков управления сервером. Первая тема будет посвящена Настройка безопасного сервера баз данных в Ubuntu, где вы узнаете, как устанавливать и настраивать базы данных, такие как MySQL или MariaDB, на сервере Ubuntu. Следите за новостями!
3 thoughts on “16. Setting Up File Sharing Services on Ubuntu Server: a complete guide”