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

  • 21.05.2016
  • 38 553
  • 4
  • 18.03.2019
  • 11
  • 11
  • 0
Открываем общий доступ к папкам и файлам через 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
Была ли эта статья Вам полезна?

Комментарии к статье (4)

    • alexander

    У меня почему-то доступ по smb://ip_adress есть, а вот сами ПК рабочей группы не отображаются, хотя browsable = yes.

    [data]
    browsable = yes
    comment = data
    create mode = 0766
    guest ok = no
    path = /home/ubuntu/data
    writable = yes

    • Виталий

    В Ubuntu 18.04 и 19.04 Samba рестартовать не надо)

    • Лев Горбуньковедрыздавелатович

    Хотя бы проверили бы текст на орфографические ошибки. Как мне понять какой запрос использовать writeable или writable.

      • Recluse

      Проверили.
      Невероятно, но факт - в конфиге Samba оба варианта - writable и writeable - работают. Если бы больше сфокусировались на цели, а не на придирках, могли бы протестировать и убедиться в этом сами.

Добавить комментарий для Recluse

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

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.