6.3 Пример настройки samba файлового хранилища.

Данная конфигурация будет содержать общую папку obmen, в которую будут иметь доступ авторизованные пользователи. И каждый пользователь будет иметь свою папку, которая доступна только ему и администратору сервера.

Реализация

Автоматически права на пользовательские каталоги и файлы выставляются в 775, что означает – разрешать записывать читать и выполнять файлы только пользователю и группе, остальным только чтение.

Каждый новый пользователь включается в группу администратора для того, что бы он мог редактировать изменения администратора. Так же включаются в общую группу для доступа к общей папке.  Администратор при создании новых пользователей включается в их группу для возможности редактирования файлов и каталогов пользователя. В каждый пользовательский сетевой каталог разрешается доступ пользователю и администратору.

Автоматически права на каталоги и файлы в общем каталоги выставляются в 777, что означает – все пользователи могут читать, записывать и выполнять файлы. Доступ к общей папке разрешается общей группе и администратору.

Настройка сервера

Создайте структуру каталогов. Лучше использовать отдельный раздел с содержанием всех сетевых директорий, например /srv.

Переведите SeLinux в режим disabled.

На время настройки сервиса переведите selinux в режим disabled. Для этого измените содержимое конфигурационного файла:

nano /etc/selinux/config

Заменив текст SELINUX=enforcing на SELINUX=disabled

Более подробно см.ссылку
Не забудьте включить selinux после завершения настройки.

Создайте общий каталог.

# 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/

В файл /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/personal/user1
browsable = yes # «yes» — означает, что общая папка не будет скрытой
writable = yes # общая папка доступна для записи
guest ok = no # разрешен ли гостевой доступ
valid users = user1 adminsmb # указываем доступ для пользователей
force directory mode = 0775
force create mode = 0674

Перезагрузите службу samba для вступления изменений в силу.

# sudo systemctl restart smb
# sudo 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
map to guest = bad user
#опция bad user означает, что доступ будет предоставлен от имени пользователя nobody
[guest]
comment = Share with anonymous access
path = /srv/guest
browsable = yes
writable = yes
guest ok = yes

Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email