2.9.20.4.6.2 Пример настройки файлового хранилища SAMBA
Графический вариант
Работа из файлового менеджера
Консольный вариант
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Сервер графический
- Версия ПО: Samba 4.15.9, share_directory 6.0-1
Графический вариант
Утилита публикации сетевого ресурса в рабочей группе доступна в РЕД ОС 7.3.
Установите утилиту командой:
dnf install share_directory
Запуск утилиты доступен через главное меню:
или через терминал:
share-directory
Для того чтобы был запущен вариант утилиты по работе с рабочей группой, ПК не должен находиться в домене, в ином случае утилита запустится в режиме, указанном в данной инструкции «Каталог общего сетевого доступа на РЕД ОС в домене Windows».
Для публикации сетевого ресурса в рабочей группе требуется задать путь к директории, задать Samba пароль и выбрать разрешенных пользователей с назначением соответствующих им прав.
Для того чтобы назначить протоколирование событий директории, требуется указать путь к ресурсу и необходимые атрибуты.
Для того чтобы удалить права с директории, требуется указать путь к ресурсу и прописать определенного пользователя, которого требуется удалить. Также доступно полное удаление прав с директории.
Для удобства отслеживания прав можно посмотреть текущие права директории, указав путь к интересующей.
Работа из файлового менеджера
Для включения быстрой настройки сетевой директории из файлового менеджера caja необходимо установить дополнительное расширение. Для этого перейдите в сеанс пользователя root:
su -
и выполните команду:
dnf install share_directory-caja
Выйдите из учетной записи root командой:
exit
Затем обновите конфигурацию caja от имени локального пользователя:
[ "$EUID" -ne 0 ] && caja -q || echo "Команда не должна выполняться с правами пользователя root!"
Или выполните выход из учетной записи пользователя и обратную авторизацию.
После обновления списка расширений caja станет доступен новый пункт в свойствах директории.
Вызовите контекстное меню правой кнопкой мыши для необходимой директории в файловом менеджере, затем выберите пункт «Свойства» – «Опубликовать».
Далее потребуется назначить необходимые атрибуты доступа для директории и выбрать подтверждение настройки.
Консольный вариант
Данная конфигурация будет содержать общую папку obmen, в которую будут иметь доступ авторизованные пользователи. И каждый пользователь будет иметь свою папку, которая доступна только ему и администратору сервера.
Реализация
Автоматически права на пользовательские каталоги и файлы выставляются в 775, что означает – разрешать записывать читать и выполнять файлы только пользователю и группе, остальным только чтение.
Каждый новый пользователь включается в группу администратора для того, что бы он мог редактировать изменения администратора. Так же включаются в общую группу для доступа к общей папке. Администратор при создании новых пользователей включается в их группу для возможности редактирования файлов и каталогов пользователя. В каждый пользовательский сетевой каталог разрешается доступ пользователю и администратору.
Автоматически права на каталоги и файлы в общем каталоге выставляются в 777, что означает – все пользователи могут читать, записывать и выполнять файлы. Доступ к общей папке разрешается общей группе и администратору.
Создайте общий каталог.
mkdir /srv/obmen
Создайте приватный каталог пользователя:
mkdir /srv/user1
Создайте пользователя user1 и adminsmb:
useradd -d /dev/null -s /usr/sbin/nologin user1 useradd -d /dev/null -s /usr/sbin/nologin adminsmb
Задайте пароль пользователю user1 и adminsmb:
smbpasswd -a user1 smbpasswd -a adminsmb
Создайте общую группу пользователей:
groupadd obmen
Добавьте пользователя user1 в группу obmen. Последующих пользователей также добавляйте в эту группу. Это позволит им подключаться к общей сетевой папке obmen. Пользователя adminsmb в группу пользователя user1.
usermod -a -G obmen user1 usermod -a -G user1 adminsmb
Проверьте успешное добавление:
groups user1
Установите группу obmen в качестве владельца папки /srv/obmen и предоставьте право на запись:
chown -R :obmen /srv/obmen chmod 777 /srv/obmen
Так же установите права и группу на каталог пользователя user1.
chown -R user1 /srv/user1 chmod 777 /srv/user1
Проверить права и владельцев можно следующей командой:
ll /srv/
Настройка Selinux
SELinux позволяет Samba читать и записывать файлы, помеченные типом samba_share_t, если файл /etc/samba/smb.conf и разрешения Linux установлены соответствующим образом. Введите следующую команду от имени пользователя root, чтобы добавить изменение метки в конфигурацию файлового контекста.semanage fcontext -a -t samba_share_t "/srv/obmen(/.*)?"
Используйте утилиту restorecon от имени пользователя root, чтобы применить изменения метки:
restorecon -R -v /srv/obmen
Повторите эти действия для остальных каталогов.
Настройка файла конфигурации SAMBA
В файл /etc/samba/smb.conf добавьте разделы для созданных сетевых папок.
nano /etc/samba/smb.conf
[global]
workgroup = WORKGROUP # имя рабочей группы
server string = Samba Server %v # описание сервера
netbios name = redos #netbios-имя сервера
security = user
passdb backend = tdbsam
# Создаем лог файл
log file = /var/log/samba/log.%m
max log size = 50
[obmen]
comment = Obmen share with authenticated access
path = /srv/obmen
browsable = yes
writable = yes
guest ok = no
valid users = @obmen adminsmb # указываем группу и конкретное имя пользователя для доступа
force directory mode = 0777
force create mode = 0676
vfs objects = full_audit
[user1]
comment = Private share with user #описание общей папки
path = /srv/user1
browsable = yes # «yes» — означает, что общая папка не будет скрытой
writable = yes # общая папка доступна для записи
guest ok = no # разрешен ли гостевой доступ
valid users = user1 adminsmb # указываем доступ для пользователей
force directory mode = 0775
force create mode = 0674
Перезагрузите службу samba для вступления изменений в силу.
systemctl restart smb systemctl enable smb
Алгоритм создания новых пользователей
Создайте приватный каталог:
mkdir /srv/user2
Создайте самого пользователя:
useradd -d /dev/null -s /usr/sbin/nologin user2
Задайте пароль пользователю:
smbpasswd -a user2
Добавьте созданного пользователя в группу obmen и пользователя adminsmb в группу созданного пользователя.
usermod -a -G obmen user2 usermod -a -G user2 adminsmb
Так же установите права и группу на каталог пользователя.
chown -R user2. /srv/user2 chmod 777 /srv/user2
В файл /etc/samba/smb.conf добавьте раздел для созданной сетевой папки.
nano /etc/samba/smb.conf
[user2]
comment = Private share with user
path = /srv/user2
browsable = yes
writable = yes
guest ok = no
valid users = user2 adminsmb
force directory mode = 0775
force create mode = 0674
Перезагрузите службу samba для вступления изменений в силу.
systemctl restart smb
Анонимный доступ
- Создадим папку /srv/guest и настроим ее для анонимного доступа.
mkdir /srv/guest
- Назначим пользователя и группу nobody владельцем и группой для папки /srv/guest. Данный пользователь и группа автоматически присваиваются samba анонимным пользователям.
chown -R nobody:nobody /srv/guest
- Укажем права на директорию, разрешающие пользователю и группе читать и писать в папку.
chmod 775 /srv/guest
- Настройте конфигурацию samba. Файл конфигурации samba находится в /etc/samba/smb.conf. Он состоит из разделов. Приведите его к следующему виду:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = redos
security = user
passdb backend = tdbsam
# Опция bad user означает, что доступ будет предоставлен от имени пользователя nobody
map to guest = bad user
[guest]
comment = Share with anonymous access
path = /srv/guest
browsable = yes
writable = yes
guest ok = yes
Настройка Selinux для анонимного доступа:
semanage fcontext -a -t samba_share_t "/srv/guest(/.*)?" restorecon -R -v /srv/guest
Дата последнего изменения: 17.12.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.