Открываем общий доступ к папкам и файлам через Samba

Установка и первоначальная настройка Samba

Установливаем samba через менеджер пакетов:

CentOS/RedHat

yum install samba

Debian/Ubuntu:

aptitude install samba

После установки открываем конфиг /etc/samba/smb.conf, и начинаем его править под свои нужды. В секции [Global] правим следующие параметры:

Если ваш компьютер является еще в добавок и маршрутизатором, и имеет более чем 1 сетевую карту, будет не лишним указать, какой из имеющихся интерфейсов слушать:

interfaces = eth1
bind interfaces only = yes

Указываем нужное имя рабочей группы. По умолчанию стоит WORKGROUP.

workgroup = WORKGROUP

Проверяем, есть ли параметр security, если нет, то выставляем ему значение user.

security = user

Доступ без авторизации

После каждого изменения конфига Samba должна быть перезагружена — /sbin/service smb restart в CentOS/RedHat или service samba restart в Debian/Ubuntu.

Расшарим папку music по адресу /var/music для всех пользователей (авторизация не будет требоваться). Имя папки, с которым её будут видеть пользователи которые зашли на шару задается в квадратных скобках (в данном случае — Music).

[Music]
browseable = yes
create mode = 0766
guest ok = yes
path = /var/music
writeable = yes

В данную папку будет иметь доступ кто угодно, но не сможет записывать (загружать, заливать) и удалять файлы без авторизации. Для того, чтобы дать неавторизованному пользователю полный доступ для работы с файлами и папками, воспользуемся параметром force user. Данный параметр отвечает за то, под каким пользователем будут выполняться операции с файлами в данной директории — например, если мы создадим пользователя samba-guest, и выдадим ему полные права на данную папку, а в force user пропишем значение samba-guest, то дадим полный доступ к директории:

[Music]
browseable = yes
create mode = 0766
force user = samba-guest
guest ok = yes
path = /var/music
writeable = yes

Доступ с авторизацией

Теперь перейдем к тому, чтобы разрешить доступ к папке только определенному пользователю — к примеру, пользователю crazysysadmin.

Samba как и большинство приложений Linux использует для своих нужд уже существующих пользователей системы, поэтому нужно использовать либо уже имеющуюся учетную запись, либо создать новую. Создать нового пользователя можно командой useradd:

useradd crazysysadmin -m -G users

Затем нужно добавить пользователя в Samba:

smbpasswd -a crazysysadmin

И активировать его:

smbpasswd -e crazysysadmin

Если нужно поменять пароль пользователю samba, то это можно сделать следующей командой:

smbpasswd crazysysadmin

Теперь сделаем доступ к шаре music только для чтения для неавторизованных пользователей, и полный доступ для пользователя crazysysadmin:

[Music]
admin users = crazysysamin
browseable = yes
comment = Music
create mode = 0766
guest ok = yes
path = /var/music
writable = yes

Как должно быть понятно из примера выше, то все отличие заключается в строчке admin users — туда задаются пользователи с правами полного доступа на директорию. Так же туда можно добавлять и целые группы из системы — для этого перед её именем нужно поставить символ @ — например @admins.

Если же нужно сделать так, чтобы никто кроме пользователя crazysysadmin не имел доступа к этому каталогу (даже на просмотр), то просто меняем параметр guest ok на no:

[Music]
admin users = crazysysamin
browseable = yes
comment = Music
create mode = 0766
guest ok = no
path = /var/music
writable = yes

Источник: https://sysadmin.ru/articles/otkryvaem-obshhij-dostup-k-papkam-i-fajlam-cherez-samba

Добавить комментарий

Ваш адрес email не будет опубликован.