23.9. Списки управления доступом (ACL)
Проблема
Необходимо ограничить доступ пользователей к конкретному сетевому каталогу Samba, определяя доступ по имени пользователя или группы. Это часто требуется для повышения безопасности и предотвращения нежелательного доступа к важным данным в общих каталогах.
Решение
Чтобы настроить доступ, используйте директиву valid users
в файле конфигурации smb.conf
. Эта директива позволяет указать, какие пользователи или группы имеют доступ к определённому ресурсу в сети:
[share1]
path = /sharedstuff
comment = Test Files
read only = No
valid users = andrew foober dana
В этом примере только пользователи andrew
, foober
и dana
имеют доступ к ресурсу /sharedstuff
. Чтобы разрешить доступ группе Unix, добавьте префикс «+» перед именем группы:
valid users = +sambausers
Это указывает, что доступ к ресурсу /sharedstuff
предоставлен всем пользователям группы sambausers
. Учтите, что группы должны существовать в системе Linux и быть определены в файле /etc/group
. Samba использует стандартные группы Linux, и вам не нужно создавать специальные группы.
Вы также можете запретить доступ конкретным пользователям или группам с помощью директивы invalid users
:
invalid users = root +wheel +bannedusers
Здесь доступ запрещён для пользователя root
и пользователей из групп wheel
и bannedusers
. После внесения изменений в smb.conf
обязательно перезапустите Samba для их применения:
# systemctl restart smb
Комментарий
Существуют дополнительные опции для настройки списков управления доступом (ACL) в зависимости от источника информации о пользователях и группах. Например, если вы работаете с NIS (Network Information Services), различные префиксы могут указать Samba, где искать информацию:
+
— поиск только в Unix-группах, указанных в/etc/group
.@
— поиск сначала в базе данных NIS, а затем в данных Unix.&
— только группы NIS.
Дополнительные рекомендации по настройке ACL для Samba
Настройка ACL в Samba позволяет задать сложные правила доступа для каждого ресурса. Некоторые дополнительные рекомендации для улучшения управления доступом:
- Используйте точные имена пользователей и групп: Указывайте только тех пользователей и группы, которым необходим доступ. Это снижает риск несанкционированного доступа.
- Проверяйте группы пользователей: Перед добавлением группы убедитесь, что все её члены действительно нуждаются в доступе к ресурсу. Это особенно важно, если группы имеют широкий доступ в системе.
- Настройка логирования: Активируйте логирование доступа к общим папкам в Samba, чтобы отслеживать действия пользователей и быстро выявлять попытки несанкционированного доступа.
- Тестируйте конфигурацию: После каждой настройки перезагрузите Samba и проверьте права доступа, входя в систему под разными пользователями. Это поможет убедиться в корректности настроек.
- Обновляйте Samba и NIS: Убедитесь, что на сервере установлены последние обновления безопасности для Samba и, если используется, для NIS.
ACL в Samba предоставляет гибкие возможности для управления доступом к сетевым ресурсам, обеспечивая как безопасность, так и удобство для пользователей. Следуя рекомендациям и корректно используя директивы, можно значительно повысить безопасность вашей сетевой инфраструктуры.
См. также
smb.conf(5)