Быстрая и простая настройка samba
Иногда нужно очень быстро на сервере настроить файловую шару и открыть на нее доступ. При этом нет необходимости городить какие-то сложные конфигурации, права доступа или что-то еще. Нужен просто оперативный доступ к информации без лишних вопросов.
Мне, к примеру, недавно подобное понадобилось, чтобы открыть доступ к резервным копиям, которые хранились на сервере. Самому разбираться и искать информацию не хотелось, нужно было быстро дать человеку доступ на чтение, чтобы он сам нашел все, что ему нужно.
Я не буду специально оперировать версиями операционных систем. У самбы конфиги одинаковые почти везде, где мне приходилось с ними работать, тем более в самых простых конфигурациях.
Итак, устанавливаем самбу любым подходящим способом для вашей операционной системы. Конфигурации справедливы для 3-й версии самбы. Дальше решаем, что нам нужно:
- доступ по пользователю и паролю,
- доступ по ip адресу,
- доступ всем подряд без ограничений.
В зависимости от этого настройки будут немного разные.
Для доступа по паролю рисуем такой конфиг:
[global]
security = user
passdb backend = tdbsam
workgroup = MYGROUP
server string = Samba
[share]
path = /mnt/shara
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes
browseable = yes
Перезапускаем самбу. Дальше добавляем пользователя в систему примерно так:
# useradd share-user -M -G users -s /sbin/nologin
Импортируем этого пользователя в самбу и задаем пароль:
# smbpasswd -a share-user
И пробуем зайти на шару по адресу:
\ip-сервераshare
Чтоб организовать доступ в зависимости от ip адреса, делаем такие настройки в smb.conf:
[global]
security = share
workgroup = MYGROUP
server string = Samba
map to guest = bad user
[share]
path = /mnt/files
browsable = yes
writable = yes
guest ok = yes
read only = no
hosts allow = 192.168.0.171
В данном случае полный доступ будет у адреса 192.168.0.171. Чтобы добавить всю подсеть, то указать нужно следующее:
hosts allow = 192.168.0.
Комбинировать можно разные подсети и адреса, разделяя их пробелами. Для того, чтобы отключить доступ каким-то отдельным адресам из разрешенной подсети, можно сделать вот так:
hosts allow = 192.168.0. except 192.168.0.15
Доступ будет разрешен всей подсети 192.168.0.0/24, кроме адреса 192.168.0.15.
Делаем перезапуск самбы и проверяем.
Если у вас установлена samba 4, то эта конфигурация не заработает и вы получите ошибку:
WARNING: Ignoring invalid value 'share' for parameter 'security'
Чтобы доступ по ip нормально заработал, вам необходимо внести следующие изменения в приведенный выше конфиг:
security = user
map to guest = Bad Password
Остальные параметры оставляете те же. После этого доступ по ip будет работать и на 4-й версии самбы.
Если доступ будет предоставлен всем без ограничений, то простейшая конфигурация самбы будет такой:
[global]
security = user
workgroup = MYGROUP
server string = Samba
guest account = nobody
map to guest = Bad User
[share]
path = /mnt/files
browseable = Yes
guest ok = Yes
writeable = Yes
public = yes
Не забываем сделать права для всех на папку:
# chmod 0777 /mnt/files
Перезапускаем самбу и пробуем зайти. Должно пустить без лишних вопросов.
Вот так буквально за 5 минут можно организовать простейший файловый сервер с помощью samba. А часто сложнее и не надо. Для какой-нибудь файловой помойки подойдет самый последний вариант.
Для более сложных конфигураций у меня есть отдельные статьи:
- Настройка samba с интеграцией в домен AD и правами windows acl.
- Логирование операций с файлами.
- Настройка сетевой корзины в samba.
- Как скопировать права доступа ACL при переносе данных с сервера на сервер
- Доступ к сайту по sftp вместо обычного ftp с ограничением директории
- Автозагрузка виртуальной машины в VirtualBox
- Очень долго запускается MC
- Как добавить модуль ядра в автозагрузку в CentOS 7
- Проксирование сайта с помощью apache proxy
- Мобильная версия Roundcube
- Настройка SSH авторизации по ключам
- Файл mysql-bin огромного размера. Как почистить, отключить или удалить бинарные логи
- Безопасность ssh подключения