Linux samba valid users

Серверы Linux. Часть VI. Знакомство с сервером Samba

Оригинал: Samba securing shares
Автор: Paul Cobbaut
Дата публикации: 24 мая 2015 г.
Перевод: A.Панин
Дата перевода: 14 июля 2015 г.

Глава 15. Ограничение доступа к разделяемым с помощью сервера Samba ресурсам

15.1. Механизм ограничения доступа на основе имен пользователей

15.1.1. Список пользователей, которым разрешен доступ к разделяемому ресурсу (valid users)

Для разрешения доступа к ресурсу ограниченному кругу пользователей вы можете воспользоваться параметром файла конфигурации valid users . В примере ниже доступ к разделяемому ресурсу с именем share разрешен лишь пользователям из списка valid users.

15.1.2. Список пользователей, которым запрещен доступ к разделяемому ресурсу (invalid users)

Если же вы страдаете паранойей, вы можете использовать директиву invalid users для явного ограничения доступа к разделяемому ресурсу некоторых пользователей. В том случае, если имя пользователя находится в двух списках, пользователь не будет иметь доступа к разделяемому ресурсу!

15.1.3. Список пользователей, которым разрешен доступ к разделяемому ресурсу только для чтения (read list)

При создании разделяемого ресурса с доступом для чтения и записи вы можете установить круг пользователей, которые получат доступ к данному ресурсу только для чтения, с помощью параметра read list файла конфигурации.

15.1.4. Список пользователей, которым разрешен доступ к разделяемому ресурсу для чтения и записи (write list)

Даже при создании разделяемого ресурса с доступом только для чтения вы можете установить круг пользователей, которые смогут осуществлять запись данных. Для этого может использоваться параметр write list файла конфигурации.

15.2. Механизм ограничения доступа на основе IP-адресов пользователей

15.2.1. Список IP-адресов узлов, с которых разрешен доступ к разделяемому ресурсу (hosts allow)

Параметр hosts allow или allow hosts является одним из наиболее полезных параметров файла конфигурации сервера Samba. Он позволяет осуществлять разграничение доступа к разделяемым ресурсам на уровне IP-адресов. Для того, чтобы разрешить доступ к разделяемому ресурсу лишь с определенных узлов, следует создать список IP-адресов этих узлов, разделив IP-адреса с помощью символа запятой.

Для разрешения доступа к разделяемому ресурсу со всех узлов из определенной подсети следует заканчивать запись IP-адреса подсети символом точки.

Маски подсетей могут добавляться классическим способом.

Кроме того, вы можете разрешить доступ к разделяемому ресурсу со всех узлов из подсети с исключениями.

15.2.2. Список IP-адресов узлов, с которых запрещен доступ к разделяемому ресурсу (hosts deny)

Параметр файла конфигурации hosts deny или deny hosts является логической противоположностью предыдущего рассмотренного параметра. Его синтаксис полностью аналогичен синтаксису параметра hosts allow.

15.3. Безопасность через сокрытие информации

15.3.1. Сокрытие нечитаемых файлов (hide unreadable)

Установка значения yes параметра hide unreadable позволяет скрыть от пользователей файлы, содержимое которых они не могут прочитать.

15.3.2. Сокрытие разделяемых ресурсов (browsable)

Использование директивы browseable = no позволяет скрыть разделяемые ресурсы, которые ранее отображались в меню «Мое сетевое окружение». При этом данная директива не позволяет предотвратить доступ клиента к разделяемому ресурсу (в том случае, если имя разделяемого ресурса известно).

Читайте также:  Книжная ориентация windows 10

Обратите внимание на то, что корректным параметром является как параметр browsable , так и параметр browseable .

15.4. Механизм ограничения доступа на основе прав доступа файловой системы

15.4.1. Маска прав доступа для создаваемых файлов и директорий (create mask)

Вы можете использовать параметры create mask и directory mask для установки максимально возможных прав доступа для создаваемых файлов и директорий соответственно. После установки маски по отношению к установленному значению прав доступа к файлу будет применяться побитовая операция «И» (которая позволяет ограничивать права доступа в соответствии с заданной маской).

15.4.2. Минимальные права доступа для создаваемых файлов и директорий (force create mask)

Параметры для указания минимальных прав доступа для создаваемых файлов и директорий очень похожи на параметр create mask, но принципиально отличаются от него. В то время, как для применения описанной выше маски прав доступа используется побитовая операция «И», для применения минимальных прав доступа используется побитовая операция «ИЛИ» (позволяющая расширять права доступа). Вы можете использовать параметры force create mode и force directory mode для установки минимальных прав доступа для создаваемых файлов и директорий.

15.4.3. Маска прав доступа для существующих файлов и директорий (security mask)

Маски прав доступа для существующих файлов и директорий, задаваемые с помощью параметров security mask и directory security mask , устанавливаются таким же образом, как и маски прав доступа для создаваемых файлов и директорий, задаваемые с помощью параметров create mask и directory mask , но применяются лишь в том случае, когда пользователь ОС Windows изменяет права доступа к файлу или директории с помощью диалогового окна для изменения параметров безопасности ОС Windows.

15.4.4. Минимальные права доступа для существующих файлов и директорий (force security mode)

Минимальные права доступа для существующих файлов и директорий, задаваемые с помощью параметров force security mode и force directory security mode , устанавливаются таким же образом, как и минимальные права доступа для создаваемых файлов и директорий, задаваемые с помощью параметров force create mode и force directory mode , но применяются лишь в том случае, когда пользователь изменяет права доступа к файлу или директории с помощью диалогового окна для изменения параметров безопасности ОС Windows.

15.4.5. Наследование прав доступа (inherit permissions)

С помощью директивы inherit permissions = yes вы можете активировать механизм наследования прав доступа для создаваемых файлов и директорий от их корневой директории, причем в этом случае будут полностью игнорироваться заданные маски прав доступа для создаваемых файлов и директорий.

15.5. Практическое задание: ограничение доступа к разделяемым с помощью сервера Samba ресурсам

1. Создайте разделяемую директорию с доступом для чтения и записи с именем sales и разделяемую директорию с доступом только для чтения с именем budget. Проверьте их работоспособность.

2. Разрешите доступ к разделяемой директории sales пользователям с именами ann, sandra и veronique.

3. Убедитесь в том, что пользователь с именем roberto не имеет доступа к разделяемой директории share.

4. Несмотря на то, что разделяемая директория sales доступна для чтения и записи, пользователь с именем ann должен иметь доступ к данной директории только для чтения.

5. Несмотря на то, что разделяемая директория budget доступна только для чтения, пользователь с именем sandra должен также иметь доступ к данной директории для записи.

6. Разрешите доступ к одной разделяемой директории всем компьютерам из подсети 192.168.1.0/24, а к другой — двум компьютерам с IP-адресами 192.168.1.33 и 172.17.18.19.

Читайте также:  Не запускается exe windows 2003

7. Убедитесь в том, что компьютер с IP-адресом 192.168.1.230 не имеет доступа к разделяемой директории с именем budget.

8. Убедитесь в том, что пользователи могут видеть лишь те файлы и директории из разделяемой директории с именем budget, к которым они имеют доступ.

9. Убедитесь в том, что разделяемая директория с именем sales не отображается при просмотре списка доступных ресурсов сети.

10. Все файлы, создаваемые в разделяемой директории с именем sales, должны иметь права доступа 640 или боле ограниченные.

11. Все директории, создаваемые в разделяемой директории с именем budget, должны иметь права доступа 750 или более расширенные.

12. Права доступа к файлам из разделяемой директории sales после их изменения не должны быть более расширенными, чем 640.

13. Права доступа к файлам из разделяемой директории с именем budget после их изменения не должны быть более ограниченными, чем 500.

14. Если позволяет время (или вы ожидаете завершения выполнения данного практического задания другими студентами), попытайтесь скомбинировать директивы «read only» и «writable», чтобы выяснить, какая из этих директив имеет приоритет.

15. Если позволяет время, попытайтесь скомбинировать директивы «read list», «write list», «hosts allow» и «host deny». Какие из этих директив имеют приоритет?

15.6. Корректная процедура выполнения практического задания: ограничение доступа к разделяемым с помощью сервера Samba ресурсам

1. Создайте разделяемую директорию с доступом для чтения и записи с именем sales и разделяемую директорию с доступом только для чтения с именем budget. Проверьте их работоспособность.

Корректная процедура выполнения данного задания была описана в предыдущих главах.

2. Разрешите доступ к разделяемой директории sales пользователям с именами ann, sandra и veronique.

3. Убедитесь в том, что пользователь с именем roberto не имеет доступа к разделяемой директории share.

4. Несмотря на то, что разделяемая директория sales доступна для чтения и записи, пользователь с именем ann должен иметь доступ к данной директории только для чтения.

5. Несмотря на то, что разделяемая директория budget доступна только для чтения, пользователь с именем sandra должен также иметь доступ к данной директории для записи.

6. Разрешите доступ к одной разделяемой директории всем компьютерам из подсети 192.168.1.0/24, а к другой — двум компьютерам с IP-адресами 192.168.1.33 и 172.17.18.19.

7. Убедитесь в том, что компьютер с IP-адресом 192.168.1.230 не имеет доступа к разделяемой директории с именем budget.

8. Убедитесь в том, что пользователи могут видеть лишь те файлы и директории из разделяемой директории с именем budget, к которым они имеют доступ.

9. Убедитесь в том, что разделяемая директория с именем sales не отображается при просмотре списка доступных ресурсов сети.

10. Все файлы, создаваемые в разделяемой директории с именем sales, должны иметь права доступа 640 или боле ограниченные.

11. Все директории, создаваемые в разделяемой директории с именем budget, должны иметь права доступа 750 или более расширенные.

12. Права доступа к файлам из разделяемой директории sales после их изменения не должны быть более расширенными, чем 640.

13. Права доступа к файлам из разделяемой директории с именем budget после их изменения не должны быть более ограниченными, чем 500.

14. Если позволяет время (или вы ожидаете завершения выполнения данного практического задания другими студентами), попытайтесь скомбинировать директивы «read only» и «writable», чтобы выяснить, какая из этих директив имеет приоритет.

Читайте также:  Где находятся иконки для папок windows 10

15. Если позволяет время, попытайтесь скомбинировать директивы «read list», «write list», «hosts allow» и «host deny». Какие из этих директив имеют приоритет?

Источник

On-line журнал o Linux

SAMBA авторизация пользователей и раздельный доступ к ресурсам

Для начала устанавливаем:
$ aptitude install samba smbfs
Samba использует пользователей которые уже есть в системе, (возможно есть и другие пути, об этом в следующей заметке) создаем наших пользователей:
$ useradd -c «Тest» -s /sbin/nologin ole
$ useradd -c «Тest1» -s /sbin/nologin ole1
$ useradd -c «Тest2» -s /sbin/nologin ole2
к команде существуют следующие параметры, мож кому надо:
-g «Названия группы» — группа, к которой он должен принадлежать
-d /home/»каталог» — домашний каталог пользователя
-s /sbin/nologin — устанавливаем ему оболочку /sbin/nologin
-c «Описания» — качестве его полного имени Mr Test,
имя- ole
Посмотрим что у нас получилось:

$ cat /etc/passwd | grep ole
ole:x:5002:5002:Test:/home/ole:/sbin/nologin
ole1:x:5003:5003:Test1:/home/ole1:/sbin/nologin
ole2:x:5004:5004:Test3:/home/ole2:/sbin/nologin
Теперь у нас есть пользователи в системе, надо внести его в базу данных SMB и назначить пароль для доступа к расшаренным ресурсам:
$ smbpasswd -a ole
$ smbpasswd -a ole1
$ smbpasswd -a ole2
Далее правим файл конфигурации Samba (/etc/samba/smb.conf), секция [Global] содержит общие настройки сервера:
$ cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
$ nano /etc/samba/smb.conf

# Название вашей рабочей группы или домена. Именно оно будет высвечивается в «Сетевом окружении».
workgroup = WORKGROUP
# server string is the equivalent of the NT Description field
# Комментарий, появляющийся рядом с именем машины в «Сетевом окружении» Windows.
server string = %h server (Samba, Ubuntu)
# Ограничивает обслуживаемые сервером сетевые интерфейсы (eth0) / и по адресам
interfaces = 127.0.0.0/8 eth0
# Параметры логирования — log.
log file = /var/log/samba/log.%m
# Размер лог-файла в Кб
max log size = 1000
# еще можно добавить строку «debug level = 3″, она используется при
# отладке сервера, выводя в журнал более детальную информацию или уровень 5.
#debug level = 3
# для более детальной информацией можно поиграться с уровнями (1,2,3, и тд)
log leval=1

####### Authentication #######
# share — при каждом доступе будет запрашиваться имя пользовательского ресурса.
# user — для аутентификации будет использоваться имя пользователя и пароль,
# которые используются для входа в сеть виндовс (Windows). Это значение по умолчанию.
# server — для проверки пароля будет использоваться сервер NT (AD)
security = user
# Поддержка шифрованных паролей
encrypt passwords = true
# запрещает становиться мастером домена
domain master = no
# отключает WINS
wins support = no
# Опции сокета. Если не знаете, что это такое, лучше оставить как есть или почитать ман.
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
# вкл/откл гостевую запись
guest ok = no
# запрешает root
invalid users = root
# Эти опции избавляют от глюков со шрифтами/кодировками. (так же можно 866 (Dos))
unix charset = utf8
dos charset = cp1251
display charset = cp1251

Пример:
Cоздаем папку для чтения/записи (rw) определенным пользывателем, например для юзвера ole2
$ sudo mkdir /home/DATA_rw
$ sudo chmod 777 /home/DATA_rw
В конфиге smb.conf

[DATA_rw]
path = /home/DATA_rw
create mask = 0664
directory mask = 0777
valid users = «ole»,»ole1″,»ole2″
write list = «ole2″,

где
— valid users = «» — юзеры которым разрешен доступ к ресурсу (в данном примере дали всем юзверям)
— write list = «» — юзверы, которые могут писать в данную папку (в данном примере — только ole2)
Внимания параметр write, подразумевает под собой еще и read (чтения), т.е для чтения папка будет открыта для всеx указанных в параметре valid users

Источник

Оцените статью