Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Статьи об операционной системе Linux

Сайдбар

Обзор каталогов Samba

15 янв. 2014

Пользовательские каталоги


Определение каталога, к которому будет иметь доступ конкретный пользователь, выглядит так:

# в /etc/samba/smb.conf

[directoryl] user = peter path = /data/dirl writeable = yes

Такая настройка позволяет пользователю peter, а также всем другим пользователям, которые в соответствии с smbusers работают с данной учетной записью, читать каталог /data/dirl и вносить в него изменения. В файловом менеджере этот ресурс называется directoryl (то есть последовательность символов, указанная в квадратных скобках).

Значения ключевых слов понятны: user — это имя пользователя. Вместо user также могут использоваться ключевые слова users или username. Можно указать несколько имен пользователя, разделяя их запятыми.

Слово path указывает, какой каталог сервера предоставляется в совместное использование. Если path специально не указать, то Samba по умолчанию предоставляет в совместное использование домашний каталог указанного пользователя. С помощью writeable=yes мы разрешаем вносить в каталог изменения. Без этого параметра пользователь имеет доступ только для чтения.

В принципе, для всех видов доступа действуют права, задаваемые в Linux. Иными словами, если в /data/dirl есть файл, принадлежащий пользователю root, то пользователь peter, как правило, может только читать этот файл, но не может изменять. Такое же ограничение действует для всех пользователей сетевых каталогов.

Домашние каталоги samba



Если файловый сервер настроен для работы с большим количеством пользователей, то проще всего предоставить каждому пользователю Linux возможность видеть и изменять свой домашний каталог. Чтобы вам не пришлось заносить в smb.conf бесчисленное множество записей вида:

<code>[username] User = username writeable = yes

в smb.conf предусмотрена следующая сокращенная форма записи:

# в /etc/samba/smb.conf

[homes] writeable = yes browseable = no</code>

Таким образом, домашний каталог пользователя, активного в настоящий момент, виден под именем этого пользователя. Если применить параметр browseable=no, то пользователь не перестанет видеть свой домашний каталог, как это может показаться. Просто при этом каталог не будет отображаться в системе дважды: один раз под именем пользователя (например, peter), а один раз — под homes.

Групповые каталоги



Пользовательские и домашние каталоги позволяют пользователю сохранять свои файлы прямо на сервере, но при этом отсутствует возможность обмена данными, ведь эти каталоги невидимы для других пользователей, а значит, и недоступны. Для обмена данными применяются групповые каталоги, которыми могут пользоваться все члены определенной группы. Отнесение пользователей к группам происходит в рамках управления группами в Linux. Группа задается ключевым словом user и записью @имя_группы.

<code># в /etc/samba/smb.conf

[salesdata]

user = @sales

path = /data/sales

writeable = yes

force group = +sales

create mask = 0660 directory mask = 0770</code>

При настройке доступа к групповым каталогам особенно важно правильно указать, кто имеет право пользоваться какими ресурсами. Это же касается новых файлов и каталогов, которые будут создаваться впоследствии. Благодаря force group=+sales новые файлы и каталоги будут попадать в группу sales (а не в стандартную группу создающего их пользователя). Если пользователь не является членом группы sales, он не получит доступа к этому каталогу.

ВНИМАНИЕ



В вышеуказанном случае никогда не применяйте настройку force group = sales (то есть без плюсика), иначе любой акт доступа к каталогу будет осуществляться в Samba так, как будто активный в данный момент пользователь является членом группы sales — даже тогда, когда с точки зрения Linux пользователь совсем не входит в эту группу. Иными словами, параметр force group = sales означает, что пользователи, совсем не относящиеся к группе sales, получают право чтения и изменения файлов каталога. В групповых каталогах такая ситуация практически всегда неожиданна и может очень негативно повлиять на безопасность системы!

Параметры create mask и directory mask гарантируют, что члены группы смогут читать и изменять все новые файлы и каталоги, создаваемые другими членами той же группы (восьмеричное число соответствует значению chmod — см. man chmod). Если новые файлы или каталоги должны предоставляться членам группы только для чтения, но не для изменения, используйте значения 0440 и 0550.

Каталоги, находящиеся в свободном доступе



Еще более «либеральным» является доступ к открытому для всех каталогу: каждый пользователь, который может пройти аутентификацию в Samba, может читать файлы из такого каталога. Доступ для изменения в данном случае отключается:

<code># в /etc/samba/smb.conf

[share] path = /data/share read only = yes</code>


Разумеется, вы можете настроить для каталогов со свободным доступом и возможность внесения изменений (writable=yes). По умолчанию все пользователи имеют право читать файлы, созданные другими пользователями, но не могут их изменять. Для изменения этой ситуации используйте настройку force group и два параметра mask. Чтобы задействовать неограниченные взаимные права чтения и изменения файлов в группе, укажите create mask=0666 и directory mask=0777.

Доступ для пользователей, не прошедших аутентификацию


Во всех предыдущих примерах предполагается, что пользователь может пройти аутентификацию в Samba. Однако Samba допускает и такую конфигурацию, при которой к каталогам получают доступ пользователи, не прошедшие аутентификацию. Они именуются гостями (guest). За работу с гостями отвечают глобальные настройки, обобщенные в следующем листинге:

<code># в /etc/samba/smb.conf [global]

map to guest = bad user

usershare allow guests = yes guest account = nobody</code>

Благодаря настройке map to guest=bad user попытки входа в систему под несуществующим логином автоматически присваиваются виртуальному пользователю Samba guest. По умолчанию в системе нет никаких сетевых каталогов или других ресурсов, которые может использовать guest. Настройка usershare allow guests=yes позволяет предоставлять отдельные каталоги для использования посетителями с учетной записью guest (с помощью guest ok или guest only). Параметр guest account указывает, каким пользователям Linux соответствуют гости. В большинстве дистрибутивов, в том числе в Debian и Ubuntu, для этого предусмотрен пользователь nobody.

Каталоги, которые должны быть открыты для использования гостями, обозначаются с помощью параметра guest ok=ok. Как правило, такие каталоги следует защищать от изменений — для этого используется настройка read only=yes. Можно сказать, что гости смогут читать или изменять те же каталоги, что и пользователь Linux nobody.

[guest] path = /data/guest guest ok = yes read only = yes


Вариант, аналогичный guest ok, это guest only=yes: при такой настройке с каталогом могут работать не только гости, но и пользователи, прошедшие аутентификацию. Если вы вообще не хотите допускать гостей к использованию ресурсов БатЬа.используйтевразделе [global] настройку map to guest=never.

Предоставление каталогов в общий доступ с помощью Gnome и KDE



Если вы хотите быстро и без лишних сложностей открыть каталог локальному пользователю через Samba, вам, конечно же, не захочется вручную вносить изменения в smb.conf. В таком случае каталог можно предоставить в совместное использование через специальное окно Gnome или KDE. К сожалению, в течение уже многих лет эти окна работают довольно плохо.

Nautilus/Gnome


Nautilus поддерживает предоставление каталогов в свободный доступ при условии, что в системе установлено расширение nautilus-share. В современных версиях Ubuntu по умолчанию так и есть. Теперь в Nautilus нужно щелкнуть на каталоге правой кнопкой мыши, чтобы вызвать контекстное меню. Команда меню Параметры общего доступа открывает конфигурационное диалоговое окно. Этим окном можно пользоваться, не имея прав администратора.

Предоставление каталога с помощью Nautilus/Gnome


Nautilus использует при работе достаточно новый конфигурационный механизм, который Samba поддерживает только в версии 3.0.32 и выше: при работе с этим механизмом параметры каждого отдельного каталога, предоставляемого в общее пользование, сохраняются в отдельном конфигурационном файле в каталоге /var/ lib/samba/usershares. Права доступа к этому каталогу настроены так, что все пользователи, относящиеся к определенной группе (в Ubuntu — sambashare), могут сохранять в нем новые файлы. Готовый конфигурационный файл выглядит так же, как и в следующем примере:

<code>#ВЕРСИЯ 2»

# Файл /var/lib/samba/usershares/testdir path = /myhome/kofler/testdir

comment = usershare_acl = S-1-1-0:R guest_ok = n
</code>

Еще остается открытым вопрос, кто сможет использовать предоставленный каталог. Если установить флажок Разрешить доступ гостю, то любой посетитель получит доступ к вашему сетевому каталогу. Если же снять этот флажок, то пользователь получит доступ к каталогу, только если войдет в систему под своим именем и паролем. Этот механизм работает только с пользователями, для которых на данном компьютере существует учетная запись, и лишь в том случае, если для них с помощью smbpasswd был задан пароль Samba. На этом этапе nautilus-share вам уже не поможет. Далее smbpasswd уже требует для работы права администратора или должна выполняться в консоли с помощью программы sudo. Таким образом, здесь интуитивная часть конфигурации свободного доступа заканчивается.

Dolphin/KDE



В файловых менеджерах Dolphin и Konqueror, применяемых в KDE, сетевой каталог можно создать на вкладке Общий доступ окна Свойства. Для этого в дистрибутиве должны быть установлены и Samba, и пакет kdenetwork-filesharing. Во многих дистрибутивах при стандартной конфигурации эти условия не выполняются, поэтому, если вы нажмете кнопку Разрешить общий доступ к файлам, система просто проигнорирует это действие и даже не выведет сообщения об ошибке.

Когда все условия будут выполнены, потребуется в зависимости от дистрибутива ввести пароль администратора или ваш личный пароль. В открывшемся окне Общий доступ к файлам вы можете выбрать обычное или расширенное предоставление каталога в общее пользование — в ходе испытаний я не нашел разницы между этими вариантами. Нажав кнопку Добавить, вы выбираете каталог, к которому нужно открыть доступ (диалоговое окно, к сожалению, не выбирает автоматически тот каталог, который активен в настоящий момент).

Параметры PUBLIC и WRITEABLE определяют, все ли пользователи будут иметь доступ к каталогу и смогут его изменять. Как это обычно бывает в KDE, кнопка Другие параметры Samba предлагает на выбор еще около сотни параметров и их вариантов. Маловероятно, что все они понадобятся обычному пользователю. В отличие от Gnome, настройки, касающиеся каталога, предоставляемого в свободный доступ, сохраняются непосредственно в файле smb.conf (а не в /var/lib/ samba/usershares).

Предоставление каталога в общий доступ с помощью Dolphin/KDE



Кроме того, в KDE не решен вопрос с управлением пользователями Samba: если каталог не должен предоставляться в общее пользование, то вы, как и в Gnome, должны перейти в консоль и создать необходимые пользовательские учетные записи Samba, применив права администратора.

Подпишитесь на рассылку! Никакого спама, только обновления!!!

Комментарии (0)


    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать