Установка Samba и создание общих ресурсов
1. Для начала обновим репозиторий.
apt-get update
2. Если всё успешно, установим клиент и сервер Samba из основного репозитория.
apt-get install -y samba samba-client
3. Создадим копию конфигурации перед тем, как править файл.
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
4. Теперь можем очистить файл конфига, чтобы писать свои изменения в чистый.
> /etc/samba/smb.conf
5. Создадим две директории. Одну для анонимного доступа с правом на запись гостей, другую для доступа по кредам - с логином и паролем.
mkdir -p /samba/public mkdir -p /samba/private
6. Установим нужные права для папок.
chmod -R 0755 /samba/public chmod -R 0755 /samba/private
7. Добавим группу пользователей Samba, которая будет владельцем папок.
groupadd smbgrp
8. Создаём пользователя, под которым будем подключаться к шаре и добавляем его в нашу группу.
useradd smb_user usermod -aG smbgrp smb_user
9. Изменяем группу приватной папки.
chgrp smbgrp /samba/private
10. Задаём пароль, под которым будем подключаться к шаре.
smbpasswd -a smb_user
11. Теперь редактируем пустой конфиг следующим образом. В секции global описываются общие параметры, такие как рабочая группа или домен. Ниже описываются конкретные папки, доступы к ним и права.
[global] workgroup = WORKGROUP security = user map to guest = bad user wins support = no dns proxy = no min protocol = SMB3 [private] path = /samba/private valid users = @smbgrp guest ok = no browsable = yes writable = yes create mask = 0755 force create mode = 0755 directory mask = 0755 force directory mode = 0755 [public] path = /samba/public guest ok = yes browsable = yes writable = yes create mask = 0777 force create mode = 0777 directory mask = 0777 force directory mode = 0777
Некоторые опции, требующие пояснения:
- min protocol - минимальная версия протокола. В данном случае - 3-я, чтобы не открывать более старые версии, содержащие серьезные уязвимости.
- Опции, содержащие индентификатор прав пользователей unix - заставляют создавать файлы принудительно с заданным набором прав.
12. Проверяем конфигурацию Samba.
testparm -s
13. Если всё ОК, перезапускаем службу.
service smbd restart