Открываем общий доступ к папкам и файлам через 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 = crazysysadmin  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 = crazysysadmin  browseable = yes  comment = Music  create mode = 0766  guest ok = no  path = /var/music  writable = yes

Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *