Книга: Сетевые средства Linux
Владелец файла и права доступа
Разделы на этой странице:
Владелец файла и права доступа
Средства защиты Linux базируются на понятиях принадлежности файла определенному владельцу и правах доступа к нему, принятых в системе UNIX. Однако SMB/CIFS использует те же признаки несколько по-другому. Средства SMB/CIFS регистрируют пользователей, обратившихся к серверу, анализируя имена и пароли, таким образом, по умолчанию Samba использует для этой цели учетные записи Linux. Если пароли передаются в незашифрованном виде, Samba применяет стандартный механизм аутентификации Linux, а при работе с зашифрованными паролями сервер Samba самостоятельно идентифицирует пользователя. Samba позволяет проводить сеанс работы от имени различных пользователей. В частности, параметры force user
и force group
позволяют настроить Samba так, что все обращения к некоторому разделяемому объекту будут интерпретироваться так, как будто бы они поступают от другого пользователя или от пользователя, принадлежащего другой группе. Рассмотрим следующее описание разделяемого объекта:
[jekyl]
path = /home/samba/jekyl
read only = No
force user = hyde
Каждый пользователь, обратившийся к данному объекту, будет выполнять любые действия так, как будто их выполняет пользователь, которому в Linux соответствует учетная запись hyde
. Если к разделяемому объекту обратится пользователь muriel
и создаст в нем файл, владельцем этого файла будет hyde
. To же самое произойдет, если файл создаст пользователь henry
. Любой пользователь, работающий с данным объектом посредством Samba, может читать файлы, расположенные в соответствующем каталоге, даже если ему запрещено делать это при обычной регистрации в системе Linux. Доступ предоставляется даже тем пользователям, которым в системе Linux запрещено просматривать содержимое каталога /home/samba/jekyl
. Пользователи работают с файлами в составе разделяемого объекта так, как будто это делает пользователь hyde
. Подобным образом действует параметр force group
, но он учитывает не владельца файла, а принадлежность файла группе.
На заметку
Обращаясь к разделяемому объекту, для которого указан параметр force user
, пользователь указывает собственный пароль.
Параметры force user
и force group
существенно упрощают ряд действий по настройке Samba. Предположим, например, что вы хотите создать разделяемый объект, в пределах которого пользователи смогут свободно обмениваться документами. Для этого вам достаточно задать параметр force user; в результате все файлы, созданные в соответствующем каталоге, будут принадлежать одному владельцу, и их сможет прочитать любой пользователь, который получит доступ к данному объекту. Специально для этой цели вы можете создать отдельную учетную запись. О том, как ограничить круг пользователей, имеющих право обращаться к разделяемому объекту, рассказывается далее в этой главе.
Несмотря на то что и Linux, и SMB/CIFS поддерживают пользовательские имена, механизмы обеспечения доступа, используемые ими, не совпадают. Если Samba применяется для взаимодействия с клиентами DOS и Windows 9x/Me, клиент вовсе не использует сведения о правах доступа. Поэтому вы можете устанавливать для файлов, созданных этими клиентами, любые права. Сделать это можно с помощью параметров create mask
и directory mask
, которые позволяют задавать права доступа к файлам и каталогам. В качестве значения каждого из параметров задается трех- или четырехзначное восьмеричное число; оно представляет признаки доступа, которые могут быть установлены для файла, создаваемого средствами Samba. По умолчанию для параметра create mask
принимается значение 0744, а для параметра directory mask
— значение 0755. Оба значения разрешают владельцу файла чтение и запись, а членам группы и всем остальным пользователям — только чтение. Вы можете задавать значения данных параметров по-своему, но при этом необходимо учитывать, что биты прав доступа используются для представления признаков DOS, определяющих скрытые, системные файлы и файлы архивов.
В системах DOS и Windows используются три атрибута файлов, которые не поддерживаются в файловой системе Linux. Samba отображает эти атрибуты в биты, определяющие права запуска файлов на выполнение. В Samba предусмотрены параметры, позволяющие управлять отображением атрибутов файлов в права доступа. Эти параметры перечислены ниже.
• map archive
. Если для данного параметра установлено значение Yes
(значение по умолчанию), признак файла архива DOS отображается в бит, определяющий права владельца на выполнение файла. Клиенты DOS и Windows устанавливают этот признак при создании нового файла и сбрасывают его, если с помощью специальных программ создается резервная копия данного файла. По этой причине файлы, созданные по инициативе клиентов Samba, выглядят как исполняемые. Данный эффект наблюдается только в том случае, когда используется значение параметра create mask
, принятое по умолчанию.
• map system
. Если для данного параметра установлено значение Yes
, признак системного файла DOS отображается в бит, определяющий права группы на выполнение файла. По умолчанию используется значение No
, т.е. отображение не осуществляется. В DOS и Windows этим признаком помечаются файлы специального назначения. Вероятность того, что такие файлы будут сохранены на сервере Samba, очень мала.
• map hidden
. Если для данного параметра установлено значение Yes
, признак скрытого файла DOS отображается в бит, определяющий права любого пользователя системы Linux на выполнение файла. По умолчанию принимается значение No
. В системах DOS и Windows файлы, для которых установлен данный признак, остаются доступными, но они не отображаются при выводе содержимого каталогов и отсутствуют в диалоговых окнах, предназначенных для выбора файлов.
На заметку
По умолчанию Samba устанавливает признак скрытого файла для файлов Linux, имена которых начинаются с точки. Linux интерпретирует подобные файлы приблизительно так же, как DOS — скрытые файлы. Если такое поведение системы вас не устраивает, вы можете изменить настройку, задав параметр hide dot files = No
.
Значение параметра create mask
, используемое по умолчанию, отражает значения параметров map archive
, map system
и map hidden
. Если вы хотите изменить параметр map system
или map hidden
, вам надо изменить параметр create mask
, добавив единицу соответственно к предпоследней или последней цифре его значения.
В системах Windows NT/2000/XP используется более сложная модель защиты, чем в Windows 9x/Me. В Windows NT/2000/XP поддерживаются ACL (Access Control Lists — списки контроля доступа), которые позволяют непосредственно определить уровень доступа конкретного пользователя к файлу. Samba поддерживает отображение прав доступа для владельца, группы и всех пользователей Linux в Windows ACL. Это позволяет хранить на сервере Samba информацию о правах, установленных в системе Windows NT/2000/XP. Поддержка ACL задается с помощью параметра nt acl support
; по умолчанию принимается значение Yes
. Если вы не хотите поддерживать соответствие между правами в Windows NT/2000/XP и Linux, задайте для данного параметра значение No
.
На заметку
В файловых системах DOS и Windows 9x/Me существует признак, который разрешает или запрещает запись в файл. Этот признак воздействует на права владельца, группы и пользователя, поэтому для его поддержки необходимо соответствующим образом изменить значения параметра create mask
или directory mask
. ACL обеспечивают полный контроль доступа к файлам, в частности, позволяют разрешить или запретить запись в файл.
- 4.1.2. Владелец файла
- 4.1.4. Права по умолчанию
- 1.1.1. Файлы и права доступа
- 5.5.1. Смена владельца файла: chown(), fchown() и lchown()
- 5.10 CМЕНА ВЛАДЕЛЬЦА И РЕЖИМА ДОСТУПА К ФАЙЛУ
- 11.1.2. Модификаторы прав доступа к файлам
- 1.4.5. Понятие владельца файла, права доступа к файлам и каталогам
- Права для выполнения резервного копирования
- Владелец базы данных
- Права
- Как правильно раздавать и аннулировать права
- Раздел VII Левиафан в Сети: защита права на тайну частной жизни после событий 2013 г.