В данном примере будет рассмотрена настройка общего доступа к каталогам через настройку конфигурационного файла. Работа выполнена с использованием виртуальной машины VBox от Oracle. Основы работы с этой программой виртуализации рассмотрены в подборке:
Установка ОС Fedora приведена в статье:
Регистрация в системе пользователя с обычными правами:
Задание:
- создать два каталога: один только с возможностью чтения содержимого при подключении по сети (каталог Read), другой для чтения и возможности внесения изменения (каталог WriteRead);
Порядок выполнения:
1) перед началом работы в настройках виртуальной машины необходимо подключить дополнительный сетевой адаптер для внутренней сети. Для этого на выключенной машине в настройках, в разделе Сеть, выбрать второй сетевой адаптер с типом подключения Внутренняя сеть, далее раскрыть список дополнительных параметров и для неразборчивого режима разрешить всё (рис. 1);
2) зайти в систему с правами суперпользователя;
3) для настройки подключения необходимо зайти в панель сетевых подключений, выбрать локальную сеть, открыть Параметры соединения для нужной сети, далее нажать на иконку шестерёнок. В окне настройки перейти в раздел IPv4, задать ручной метод настройки и прописать необходимые IP-адрес и маску сети (рис. 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);
9) добавить сервис Samba в исключения брандмауэра и проверить, находится ли сервис в исключениях, используя следующие команды (рис 4):
sudo firewall-cmd --add-service=samba --permanent
(Добавление в исключения сервиса Samba.)
sudo firewall-cmd –reload
(Перезагрузка брандмауэра для применения изменений.)
sudo firewall-cmd --list-services
(Вывод списка сервисов, что находятся в исключениях.)
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"
12) проверить статус SELinux можно командой (рис. 6):
sestatus
13) как альтернатива, службу SELinux можно отключить. Для этого:
13.1) с помощью текстового редактора открыть конфигурационный файл SELinux:
sudo gedit /etc/selinux/config
13.2) в конфигурационном файле SELinux заменить значение в строке SELinux=enforced на disabled (рис. 7):
13.3) проверить выключен ли SELinux можно командой (рис. 8):
sestatus
Примечание: как и в случае с отключением брандмауэра, при отключении данной службы понижается безопасность системы в целом, в связи с чем данное решение не является наилучшим выбором.
14) запустить сервис Samba (рис. 9):
sudo systemctl enable smb nmb
sudo systemctl start smb nmb
15) Для проверки общего доступа зайти с другой машины (IP-адрес должен быть с той же сети, как у машины с ОС Fedora) зайти в Сеть – Общие папки (SMB) и в строке пути ввести IP-адрес машины с ОС Fedora (рис. 10);
16) Проверить доступ к двум указанным каталогам.