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

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

skype: metsof
email: accusser@gmail.com

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

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

Авторизация

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

Сайдбар

Samba пароль

12 янв. 2014

По умолчанию в Samba действует настройка security=user, то есть защита на уровне пользователя. Например, чтобы пользователь peter мог работать с сетевым каталогом, должны выполняться следующие условия.

На сервере должна быть учетная запись Linux с именем peter. Она требуется для управления правами доступа. Samba обращается к правам доступа, действующим в Linux, чтобы определить, какие пользователи имеют право на чтение и изменение файлов.

Учетная запись Linux должна быть неактивна. Часто из соображений безопасности бывает нужно задать для учетной записи недействительный пароль. Таким образом, исключается вероятность, что пользователь Samba войдет на сервер.

peter и его пароль должны содержаться в базе данных пользователей Samba. По техническим причинам учетные записи Samba (имя пользователя, пароль и другие данные) управляются независимо от учетных записей Linux. Пароль учетной записи Linux не имеет для Samba никакого значения. О В smb.conf должны быть указаны сетевые каталоги, которые может использовать peter.

Пароли Samba



Прежде чем пользователь локальной сети сможет получить доступ к каталогу, он должен пройти идентификацию на сервере Samba. При установлении соединения с клиентом Windows для этого сообщаются логин Windows и зашифрованная последовательность символов — пароль. На клиентских компьютерах, использующих
Linux, эти данные нельзя получить, зная учетную запись Linux, поэтому обычно на экран выводится окно для ввода имени пользователя и пароля Samba. Затем, как и с клиентами Windows, процесс продолжается: пароль на сервер Samba отправляется в зашифрованном виде, а не открытым текстом.

Из соображений безопасности пароль нельзя восстановить, имея зашифрованную последовательность символов, в виде которой он передается на сервер. Эта последовательность на сервере Samba сравнивается с другой последовательностью, зашифрованной аналогичным образом. Если обе последовательности символов совпадают, значит, совпадают и пароли.

Внутренний интерфейс базы данных smbpasswd


Для работы серверу Samba требуется база данных, в которой хранятся имена пользователей и пароли, с помощью которой осуществляется аутентификация. Раньше для этих целей зачастую применялся обычный текстовый файл (passdb backend=smbpasswd). В SUSE этот внутренний интерфейс по-прежнему применяется и пароли сохраняются в файле /etc/samba/smbpasswd.

Внутренний интерфейс TDB


В большинстве других дистрибутивов для небольших сетей используется интерфейс TDB (passdb backend=tdbsam). В более крупных сетях данными учетных записей лучше управлять через LDAP, но этот вопрос мы отдельно обсуждать не будем.

TDB означает «простая база данных» (trivial database) и представляет собой двоичный формат для сохранения наборов данных. Существенное преимущество этого формата по сравнению с обычными файлами smbpasswd заключается в том, что кроме логина и пароля в нем можно сохранять и другие данные, в частности атрибуты. К таким данным относятся, например, SAM Extended Controls, улучшающие совместимость с современными версиями Windows.

От дистрибутива зависит, где именно физически сохраняются пароли:
Debian, <a class="myClass" href="http://www.modx.cc/linux/zapusk-sistemyi-ubuntu/">Ubuntu</a> — /var/lib/samba/passdb.tdb;

<a class="myClass" href="http://www.modx.cc/linux/zapusk-sistemyi-v-fedora/">Fedora</a>, Red Hat —/var/lib/samba/secret/passdb.tdb.


При необходимости вы можете указать в smb.conf другой файл с помощью настройки passdb backend=tdbsam:«Mi^_$a^a». Команда smbpasswd создает новую учетную запись Samba или изменяет ее пapoль;pdbedit обеспечивает доступ ко всей информации, касающейся учетной записи: таким образом, администраторы могут создавать списки всех пользователей Samba (pdbedit -L -v), указывать для каждой учетной записи специальные атрибуты и т. д. Обе команды интерпретируют smb.conf и работают со всеми системами паролей (то есть с smbpasswd, tdbsam и ldapsam).

Итак, чтобы пользователь peter мог работать с каталогом Samba, вы, как системный администратор Linux, должны создать в Samba учетную запись peter. Для этого используйте команду smbpasswd. В качестве пароля укажите ту последовательность символов, которая является паролем пользователя peter в Windows. Чтобы изменить уже имеющийся пароль Samba, используйте smbpasswd без параметра -a.

root# smbpasswd -a peter

New SMB password: ****** Retype new SMB password: ****** Added user peter. Password changed for user peter.

Обратите внимание — чтобы команда sbmpasswd работала, в локальной сети также должен существовать пользователь Linux peter (файл /etc/passwd). При необходимости новые пользователи Linux добавляются с помощью команд useradd или adduser.

Синхронизация паролей Samba и Linux


Обычно при работе в сети бывает необходимо, чтобы пользователи каталогов Samba могли регистрироваться прямо на сервере, например для работы с SSH и обработки своих файлов с применением команд Linux. В таких случаях, разумеется, пароли Samba и Linux обязательно должны совпадать. Наконец, было бы очень неудобно вносить каждое изменение пароля по нескольку раз (в самых сложных случаях трижды: для клиента Windows, сервера Samba и учетной записи Linux).

К сожалению, выполнить синхронизацию паролей не так просто, поскольку для шифрования паролей Samba используется иной алгоритм, нежели для паролей Linux. Поэтому управление паролями Samba и Linux происходит отдельно.

Команда smbpasswd принимает даже самые плохие пароли (например, состоящие из пробела или только из одной буквы). А система паролей Linux или РАМ, напротив, требует хотя бы минимально качественного пароля и не принимает совсем простых вариантов. В результате пароль Samba может измениться, а пароль Linux останется прежним. С этого момента синхронизация паролей закончится и любая новая попытка изменить пароль Linux потерпит неудачу. Чтобы снова синхронизировать пароли, администратору потребуется заново настроить пароли Samba и Linux для конкретного пользователя.

Синхронизация функционирует лишь в одном направлении: от Samba к Linux. Если же пользователь изменит свой пароль к Linux с помощью passwd, пароль Samba останется прежним.

Из личного опыта я не рекомендую выполнять описанную выше синхронизацию паролей. При этом очень легко допустить ошибку и создать гораздо больше проблем, чем вы можете решить, применив такую синхронизацию. Используйте настройку unix password sync=no.

Соотнесение пользователей Linux и Windows



В Windows именем пользователя может служить практически любая последовательность символов (до 128 знаков). В Linux длина имени пользователя, напротив, составляет всего 32 знака — без специальных символов и пробелов. Если пользователь Windows применяет имя, которое не может быть именем пользователя в Linux, две этих последовательности необходимо соотнести через специальный файл. Название этого файла указывается в smb.conf с помощью параметра username map:

# /etc/samba/smb.conf [global]

username map = /etc/samba/smbusers

В каждой строке файла smbusers сначала указывается имя пользователя в Linux, затем символ = и одно или несколько имен пользователя в Windows. Имена, содержащие пробелы, задаются в кавычках. Файл можно использовать и в том случае, если нескольким пользователям Windows соответствует один пользователь Linux.

# /etc/samba/smbusers peter = "Peter Mayer"


ВНИМАНИЕ



Файл /etc/samba/smbusers может вывести из строя систему безопасности Samba или Linux, если имя root будет присвоено другому пользователю, кроме администратора! Обратите внимание, что этот файл разрешено изменять только пользователю root:

root# chmod 644 /etc/samba/smbusers

Все вместе



Предположим, в вашей локальной сети есть компьютер с Windows, на котором работает Петер Майер, и на этом компьютере используется логин Peter Mayer. На сервере Linux, где установлена Samba, есть учетная запись peter и программа smbusers, которая соотносит друг с другом Peter Mayer и peter. При таких условиях мы получим следующие сочетания логина и пароля.

Логин в Windows — Peter Mayer и пароль Windows. Пароль Windows используется при работе в пределах локального компьютера с Windows. Петер может изменить свой пароль в Windows. О Логин на сервере (Linux) — peter и пароль Linux. Пароль Linux применяется для входа непосредственно на сервер, если учетная запись Linux активна и не заблокирована. Петер может изменить свой пароль, войдя на сервер через SSH и применив команду passwd. О Доступ к сетевым каталогам — Peter Mayer или peter и пароль для Samba. Пароль Samba используется для работы с сетевыми каталогами. Он должен совпадать с паролем Windows. Если это не так, то, когда Петер захочет получить доступ к сетевому каталогу, в Windows откроется окно для входа в систему. Петер может изменить пароль с помощью команды smbpasswd после входа в SSH. Если на сервере установлен SWAT, то Петер также может изменить свой пароль в браузере. В любом случае в SWAT Петер должен входить с тем паролем, который используется для Linux, и только после этого он сможет изменить пароль, применяемый в Samba. Следует признать, что схема довольно запутанная. Если учетная запись Linux заблокирована, то Петер никак не может сам изменить свой пароль для Samba!

Таким образом, только те пользователи, которые отлично подкованы технически, могут сами изменять все три своих пароля — и лишь при условии, что соответствующая учетная запись Linux активна. Для всех остальных пользователей действует правило: однажды заданные пароли никогда изменяться не будут. С точки зрения безопасности это, конечно же, совсем нехорошо.
Читайте так же:
Samba: сетевые каталоги






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

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


    Услуги по MODX Revolution

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

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

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

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

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

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

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

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

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