Найти в Дзене
Евгений Дергунов

Настройка общего доступа к каталогам в ОС Fedora

В данном примере будет рассмотрена настройка общего доступа к каталогам через настройку конфигурационного файла. Работа выполнена с использованием виртуальной машины VBox от Oracle. Основы работы с этой программой виртуализации рассмотрены в подборке:

Виртуальная машина в Virtual Box | Евгений Дергунов | Дзен

Установка ОС Fedora приведена в статье:

Регистрация в системе пользователя с обычными правами:

Задание:

- создать два каталога: один только с возможностью чтения содержимого при подключении по сети (каталог Read), другой для чтения и возможности внесения изменения (каталог WriteRead);

Порядок выполнения:

1) перед началом работы в настройках виртуальной машины необходимо подключить дополнительный сетевой адаптер для внутренней сети. Для этого на выключенной машине в настройках, в разделе Сеть, выбрать второй сетевой адаптер с типом подключения Внутренняя сеть, далее раскрыть список дополнительных параметров и для неразборчивого режима разрешить всё (рис. 1);

Рисунок 1
Рисунок 1

2) зайти в систему с правами суперпользователя;

3) для настройки подключения необходимо зайти в панель сетевых подключений, выбрать локальную сеть, открыть Параметры соединения для нужной сети, далее нажать на иконку шестерёнок. В окне настройки перейти в раздел IPv4, задать ручной метод настройки и прописать необходимые IP-адрес и маску сети (рис. 2);

Рисунок 2
Рисунок 2

4) создать группы sambashare и nogroup и добавить в них пользователя (в примере имя пользователя userf):

sudo groupadd sambashare

sudo groupadd nogroup

sudo usermod -a -G sambashare userf

sudo usermod -a -G nogroup userf

5) создать две папки в каталоге пользователя и настроить права доступа к ним, используя следующие команды:

sudo chmod 0755 -R /home/userf

(Настройка доступ к папке пользователя, чтобы для группы ‘Остальные’ была видимость папки.)

sudo chown ivanf /home/userf

(Передача прав на папку администратору, для создания папок в ней.)

cd /home/userf

(Переход в каталог пользователя)

mkdir Read WriteRead

(Создание папок)

sudo chown userf /home/userf

(Передача прав на папку обратно пользователю.)

sudo chmod 0777 -R /home/userf/Read

sudo chmod 0777 -R /home/userf/WriteRead

(Настройка доступа к папкам, чтобы группа ‘Остальные’ могла работать в папках. В случае папки Read, ограничение на работу в папке производится через конфигурационный файл Samba)

6) установить сервис Samba с помощью команды:

sudo dnf install samba

7) с помощью текстового редактора открыть файл конфигурации Samba (в примере используется редактор gedit, можно использовать любой, который установлен в системе, например, nano):

sudo gedit /etc/samba/smb.conf

8) удалить содержимое конфигурационного файла и прописать следующие строки (рис. 3);

Рисунок 3
Рисунок 3

9) добавить сервис Samba в исключения брандмауэра и проверить, находится ли сервис в исключениях, используя следующие команды (рис 4):

sudo firewall-cmd --add-service=samba --permanent

(Добавление в исключения сервиса Samba.)

sudo firewall-cmd –reload

(Перезагрузка брандмауэра для применения изменений.)

sudo firewall-cmd --list-services

(Вывод списка сервисов, что находятся в исключениях.)

Рисунок 4
Рисунок 4

10) как альтернатива, брандмауэр можно отключить, используя следующую команду:

sudo systemctl disable firewalld

Проверить статус сервиса можно с помощью команды:

sudo systemctl status firewalld

Примечание: стоит обратить внимание, что отключение сервиса приведет к снижению безопасности системы в целом и крайне не рекомендуется.

11) настроить SELinux, для этого использовать команду (данная команда вводится как одно целое):

setsebool -P virt_use_samba=1 use_samba_home_dirs=1 samba_share_fusefs=1 samba_export_all_rw=1 samba_export_all_ro=1 samba_enable_home_dirs=1 allow_smbd_anon_write=1

Проверить переключатели можно с помощью команды (рис. 5):

getsebool -a | grep -E "smb|samba"

Рисунок 5
Рисунок 5

12) проверить статус SELinux можно командой (рис. 6):

sestatus

Рисунок 6
Рисунок 6

13) как альтернатива, службу SELinux можно отключить. Для этого:

13.1) с помощью текстового редактора открыть конфигурационный файл SELinux:

sudo gedit /etc/selinux/config

13.2) в конфигурационном файле SELinux заменить значение в строке SELinux=enforced на disabled (рис. 7):

Рисунок 7
Рисунок 7

13.3) проверить выключен ли SELinux можно командой (рис. 8):

sestatus

Рисунок 8
Рисунок 8

Примечание: как и в случае с отключением брандмауэра, при отключении данной службы понижается безопасность системы в целом, в связи с чем данное решение не является наилучшим выбором.

14) запустить сервис Samba (рис. 9):

sudo systemctl enable smb nmb

sudo systemctl start smb nmb

Рисунок 9
Рисунок 9

15) Для проверки общего доступа зайти с другой машины (IP-адрес должен быть с той же сети, как у машины с ОС Fedora) зайти в Сеть – Общие папки (SMB) и в строке пути ввести IP-адрес машины с ОС Fedora (рис. 10);

Рисунок 10
Рисунок 10

16) Проверить доступ к двум указанным каталогам.