Иногда нужно очень быстро на сервере настроить файловую шару и открыть на нее доступ. При этом нет необходимости городить какие-то сложные конфигурации, права доступа или что-то еще. Нужен просто оперативный доступ к информации без лишних вопросов.
Мне, к примеру, недавно подобное понадобилось, чтобы открыть доступ к резервным копиям, которые хранились на сервере. Самому разбираться и искать информацию не хотелось, нужно было быстро дать человеку доступ на чтение, чтобы он сам нашел все, что ему нужно.
Я не буду специально оперировать версиями операционных систем. У самбы конфиги одинаковые почти везде, где мне приходилось с ними работать, тем более в самых простых конфигурациях.
Итак, устанавливаем самбу любым подходящим способом для вашей операционной системы. Конфигурации справедливы для 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.
Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.