16. Настройка служб общего доступа к файлам в Ubuntu Server: полное руководство

Настройка служб общего доступа к файлам в 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

04. Управление пользователями и разрешениями в Ubuntu Server: полное руководство – SysOSX: AI & Cloud

05. Основы сетей для Ubuntu Server: полное руководство – SysOSX: AI & Cloud

06. Установка и управление программным обеспечением в Ubuntu Server: полное руководство – SysOSX: AI & Cloud

07.Исправления и обновления Ubuntu Server: полное руководство – SysOSX: AI & Cloud

08. Защита вашего сервера Ubuntu: практические шаги по усилению защиты – SysOSX: AI & Cloud

09. Аудит и ведение журналов сервера Ubuntu

10. Инструменты мониторинга системы для Ubuntu Server: полное руководство – SysOSX: AI & Cloud

11. Централизованное ведение журналов для сервера Ubuntu: обязательное к прочтению руководство – 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.config

Настройте имя пользователя и пароль 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”

Оставить комментарий