В данной статье будет рассмотрен вариант развёртывания файлового сервера Samba на базе операционной системы UBUNTU и организация его взаимодействия с доменов Windows.
Для примера использован следующие исходные данные:
дистрибутив: UBUNTU 16.04.4
имя сервера Linux: 2UBUNTU-16
домен Windows: TESTDOMAIN.LOCAL
контроллеры домена: 2SRV1.TESTDOMAIN.LOCAL, 2SRV2.TESTDOMAIN.LOCAL
администратор контроллера домена: adm
Подготовка
После установки дистрибутива выполняем обновление информации о пакетах и сами пакеты:
sudo apt-get update
sudo apt-get upgrade
Для удобства работы с сервером можно дополнительно установить Webmin (систему управления сервером LINUX через web-интерфейс).
Если есть необходимость, то меняем имя сервера:
hostnamectl set-hostname 2UBUNTU-16
Добавляем доменное имя сервера в файл hosts
sudo nano /etc/hosts
127.0.0.1 localhost
127.0.1.1 2ubuntu-16 2ubuntu-16.testdomain.local
После этого перезагружаем сервер:
sudo reboot
Установка Samba
Помимо установки Samba, так же устанавливаем пакеты Kerberos и Winbind (для возможности подключения и взаимодействия с доменом на Windows):
sudo apt install krb5-user winbind samba libnss-winbind libpam-winbind
При установке Kerberos будет запрошена область по умолчанию — нужно указать адрес домена (в нашем случае TESTDOMAIN.LOCAL)
Проверяем доступность контроллера домена:
ping -c 5 TESTDOMAIN.LOCAL
Для успешной работы с доменом нужно установить синхронизацию времени с контроллером домена.
Устанавливаем пакет:
sudo apt install ntp
Настраиваем файл конфигурации службы ntp
sudo nano /etc/ntp.conf
Нужно закомментировать все текущие указанные серверы проверки время и добавить свой домен ( pool TESTDOMAIN.LOCAL)
Перезапускаем службу времени и проверяем статус синхронизации:
sudo systemctl restart ntp
ntpq -p
Запрашиваем тикет у Kerberos у контроллера домена:
kinit Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
Если не отобразилась информация об ошибке, то запрос прошёл верно и можно проверить результат:
klist
Настройка Samba
Сохраним резервную копию файла конфигурации:
sudo cp /etc/samba/smb.conf /etc/samba/smb.default.conf
Далее редактируем файл конфигурации:
sudo nano /etc/samba/smb.conf
Пример заполнения раздела [global]
[global]
security = ADS
workgroup = TESTDOMAIN
realm = TESTDOMAIN.LOCAL
encrypt passwords = yes
# Default idmap config for local BUILTIN accounts and groups
idmap config * : backend = tdb
idmap config * : range = 3000-7999
# idmap config for the TESTDOMAIN domain
idmap config TESTDOMAIN : backend = rid
idmap config TESTDOMAIN : range = 10000-999999
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
После сохранения изменений в файле smb.conf выполняем проверку:
testparm
Взаимодействие Samba с доменом Windows
Если ошибок не обнаружено, то подключаем сервер к домену:
sudo net ads join -U Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
В случае отсутствия ошибок проверяем наличия сервера в списке компьютеров домена на стороне контроллера.
Перезагружаем сервис Winbind:
service winbind restart
Проверяем связь с контроллером домена, а затем список пользователей и групп домена Windows:
wbinfo --ping-dc
wbinfo -u
wbinfo -g
Чтобы UBUNTU могла использовать не только локальные группы и пользователей, но и доменные данные, нужно отредактировать настройки диспетчера службы имен NSS (Name Services Switch)
sudo nano /etc/nsswitch.conf
Необходимо дописать следующие значения:
passwd: compat winbind
group: compat winbind
После этого можно проверить возможность просмотра пользователей и групп:
getent passwd adm
getent group "пользователи домена"
Добавляем папку общего ресурса:
sudo mkdir -p /srv/samba/public
Назначаем имя владельца и группу для созданной папки:
sudo chown "adm":"пользователи домена" /srv/samba/public
Редактируем файл конфигурации Samba, чтобы добавить поддержку Windows ACLs и сетевую папку public
sudo nano /etc/samba/smb.conf
[global]
# Windows ACLs Support
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes
[Public]
path = /srv/samba/public/
read only = no
Перезапустим службу Samba (чтобы применить изменения):
service smbd restart && service nmbd restart
Для удобства удалённой настройки разрешений сетевых ресурсов добавим администраторам домена привилегию SeDiskOperatorPrivilege:
net rpc rights grant "TESTDOMAIN\администраторы домена" SeDiskOperatorPrivilege -U "TESTDOMAIN\adm"
Проверяем подключение привилегий:
net rpc rights list privileges SeDiskOperatorPrivilege -U "TESTDOMAIN\adm"
Теперь управлять разрешениями для общих ресурсов можно удалённо с сервера Windows. Для этого запускаем оснастку «Управление компьютером» от имени администратора домена, выбираем «Подключиться к другому компьютеру…» и выбираем имя сервера Linux ( 2UBUNTU-16.TESTDOMAIN.LOCAL)
В разделе «Служебные программы» — «Общие папки» — «Общие ресурсы» будут отображаться сетевые ресурсы, доступные на сервере Linux.
Дополнительно:
Дополнительно можно подключать «корзину» для отдельных ресурсов (чтобы сохранять удалённые файлы и папки).
Проверяем наличие соответствующего модуля:
dpkg -l |grep samba-vfs-modules
Устанавливаем, если он отсутствует:
apt install samba-vfs-modules
Добавляем поддержку корзины для общего ресурса Public
sudo nano /etc/samba/smb.conf
[Public]
path = /srv/samba/public/
read only = no
vfs object = recycle
recycle: repository = .recycle/%U
recycle: touch = yes
recycle: keeptree = yes
recycle: versions = yes
«vfs object = recycle» – включение корзины для общего ресурса;
«recycle: repository = .recycle/%U» – папка, куда будут перемещаться удаленные файлы;
«recycle: touch = yes» – обновлять дату при перемещении файла в корзину;
«recycle: keeptree = yes» – сохранять структуру каталогов удаленного файла;
«recycle: versions = yes» – при перемещении в корзину файла с существующим именем, добавлять к началу имени файла префикс «Copy #».
Для создания статьи использовались следующие материалы:
http://www.linuxrussia.com/samba-as-domain-controller.html
https://4skill.ru/fajlovyj-server-samba-v-domene-windows/
Время на прочтение5 мин
Количество просмотров158K
В этой статье я рассмотрю по шагам подготовку к использованию Samba4 в роли контроллера домена вкупе с дополнительным файловым сервером так же на базе Samba4. Что в итоге мы получим? Два настроенных сервера с samba4, первый в роли domain controller, второй в роли member server с файлами пользователей. Функционирования этой связки я добивался около месяца, за сим, не поделится конечным рецептом просто не имею права…
Немного предыстории: в компании используется файловый сервер на базе samba3.6 с LDAP Backend, который содержит список всех пользователей и групп с правами доступа. Права доступа на каталоги выставляются с помощью xattr_acl (Extended file attributes), в LDAP хранится список пользователей с соответствием группам доступа. Собственно требуется переехать с этой инфраструктуры на samba4…
1) Подготавливаем два сервера для samba4, я использую дистрибутив SUSE Linux Enterprise 11 Service Pack 3 (SLES11 SP3) как корпоративный стандарт, поэтому разворачивать все буду именно на его базе. Далее можно собрать самбу из исходников, это по желанию, я же использую готовую сборку от sernet, которую можно бесплатно получить просто зарегистрировавшись на портале — Portal Enterprise Samba
Sernet производит сборку самбы для нескольких дистрибутивов — Debian, Ubuntu, RHEL, CentOS, SLES, openSUSE.
Я использовал Samba4 версии 4.1.6
2) На первом сервере, который у нас выступит в роли DC, устанавливаем sernet-samba-ad. Если возникнут проблемы, можно заглянуть в официальную инструкцию — Samba AD DC HOWTO. Незабываем прописать имя нашего будущего домена в своем DNS сервере с указанием на наш новый сервер.
Далее выполняем создание домена с помощью samba-tools.
samba-tool domain provision --use-rfc2307 --interactive
Система запросит несколько параметров, которые необходимо указать, например такие как имя домена и т.д., а так же попросит задать пароль. Собственно только имя домена и нужно указать, все остальные вопросы можно оставить с ответами по умолчанию. Пароль администратора должен соответствовать стандартным политикам паролей в Windows, т.е. иметь как минимум одну маленькую и одну большую буквы, а так же цифры, плюс минимум 8 символов.
Копируем вновь сконфигуренный самбой конфиг Kerberos в место по умолчанию.
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
Для проверки верной работы Kerberos можно установить krb5-client и проверить работу аутентификации.
kinit administrator@EXAMPLE.COM
klist
klist должен показать информацию по тикетам, если все ок — идем дальше.
Нужно подправить файл /etc/default/sernet-samba
Правим строчку SAMBA_START_MODE= на следующую.
SAMBA_START_MODE="ad"
После этого можно запускать саму самбу
/etc/init.d/sernet-samba-ad start
Если запуск прошел удачно можно считать, что наш контроллер домена уже развернут.
Редактируем файл /etc/nsswitch.conf для того, что бы система увидела пользователей домена и группы, а так же могла нормально выставлять права на файлы. Приводим эти две строки к следующему виду:
passwd: compat winbind
group: compat winbind
Перезапустим систему и проверим, работает ли… с помощью getent passwd и getent group. Мы должны увидеть группы и пользователей из нашего домена. Более подробно про этот шаг можно почитать официальную инструкцию — Samba4/Winbind
Осталось ввести в домен любую машину с Windows для администрирования, думаю с этим проблем не возникнет.
3) На машине с Windows, которую мы ввели в домен устанавливаем admin pack. Используем оснастку по управлению пользователями в AD.
Каждой группе и пользователю нужно присвоить unix uid\gid для будущей нормальной работы xattr_acl на нашем втором сервере.
4) Пора начать готовить наш второй сервер, который выступит в роли member server и будет являться файловым сервером в домене.
Устанавливаем sssd, в стандартном репозитории SLES11 имеется версия 1.9.4, она нам вполне подойдет. Так же устанавливаем sssd-tools. sssd нужен для получения пользователей с unix атрибутами с нашего домена. Более подробно про настройку можно почитать в официальной инструкции — Local user management and authentication/sssd
Мы будем настраивать связь с AD через Kerberos.
На первом сервере (DC) нужно экспортировать keytab из Kerberos.
samba-tool domain exportkeytab /etc/krb5.sssd.keytab --principal=имя_вашего_DC$
chown root:root /etc/krb5.sssd.keytab
chmod 600 /etc/krb5.sssd.keytab
Для безопасности обрубим лишние права. Копируем keytab файл на наш второй сервер по этому же пути.
Редактируем sssd.conf
[sssd]
services = nss, pam
config_file_version = 2
domains = default
[nss]
[pam]
[domain/default]
ad_hostname = smbad.samba4.servdesk.ru
ad_server = smbad.samba4.servdesk.ru
ad_domain = samba4.servdesk.ru
ldap_schema = rfc2307bis
id_provider = ldap
access_provider = simple
# on large directories, you may want to disable enumeration for performance reasons
enumerate = true
auth_provider = krb5
chpass_provider = krb5
ldap_sasl_mech = gssapi
ldap_sasl_authid = smbad$@SAMBA4.SERVDESK.RU
krb5_realm = SAMBA4.SERVDESK.RU
krb5_server = smbad.samba4.servdesk.ru
krb5_kpasswd = smbad.samba4.servdesk.ru
ldap_krb5_keytab = /etc/krb5.sssd.keytab
ldap_krb5_init_creds = true
ldap_referrals = false
ldap_uri = ldap://smbad.samba4.servdesk.ru
ldap_search_base = dc=samba4,dc=servdesk,dc=ru
dyndns_update=false
ldap_id_mapping=false
ldap_user_object_class = user
ldap_user_name = samAccountName
ldap_user_uid_number = uidNumber
ldap_user_gid_number = gidNumber
ldap_user_home_directory = unixHomeDirectory
ldap_user_shell = loginShell
ldap_group_object_class = group
ldap_group_name = cn
ldap_group_member = member
Не забудьте исправить имя вашего DC и вашего домена на свои. Ставим sssd в автозапуск, перезагружаем сервер.
Далее можно сбросить кеш и проверяем наши группы с пользователями.
sss_cache -UG
getent group
...
Schema Admins:*:10110:Administrator
Domain Users:*:10103:
DnsAdmins:*:10117:
servdesk:*:10102:test
В списке должны быть наши группы и пользователями с uid\gid, которые мы задавали в AD остнастке в Windows.
5) Переходим к настройки samba4 на втором сервере, устанавливаем sernet-samba-nmbd, sernet-samba-smbd, sernet-samba-winbind и все зависимости для них. Более подробно про настройку можно почитать в официальной инструкции — Samba/Domain Member
Создаем smb.conf, мой файл выглядит вот так:
[global]
workgroup = SAMBA4
security = ADS
realm = SAMBA4.SERVDESK.RU
# map untrusted to domain = Yes
idmap config *:backend = tdb
idmap config *:range = 70001-80000
# idmap config SAMBA4:default = yes
idmap config SAMBA4:backend = ad
idmap config SAMBA4:schema_mode = rfc2307
idmap config SAMBA4:range = 500-40000
# idmap_ldb:use rfc2307 = yes
winbind nss info = rfc2307
winbind trusted domains only = no
winbind use default domain = yes
# winbind enum users = yes
# winbind enum groups = yes
#create mask = 0777
#directory mask = 0777
vfs objects = acl_xattr btrfs
map acl inherit = Yes
store dos attributes = Yes
[data1]
path = /data1/
read only = no
Не забываем подправить конфиг под себя, нужно сменить имя домена на ваш.
Правим наш файл hosts в нем необходимо прямо указать имя нашего member server, иначе зоны DNS не будут автоматически обновляться в AD.
127.0.0.1 localhost
127.0.0.1 samba3.samba4.servdesk.ru samba3
Запустим процедуру входа в наш домен.
net ads join -U administrator
Потребуется ввести пароль администратора.
Собственно после этого наш member server уже находится в домене.
Можно попробовать с Windows машины подключится на него под своим логином паролем и создать какую-нибудь папку, для проверки прав…
Создали папку 123, проверяем права.
getfacl /data1/123
# file: data1/123
# owner: test
# group: Domain\040Users
user::rwx
user:test:rwx
group::r-x
group:servdesk:rwx
group:Domain\040Users:r-x
mask::rwx
other::r-x
default:user::rwx
default:user:test:rwx
default:group::r-x
default:group:servdesk:rwx
default:group:Domain\040Users:r-x
default:mask::rwx
default:other::r-x
Как видим, все права верно выставляются.
Далее можно начинать перенос пользователей в наш новый домен, а так же выставлять права на папки в соответствии с вашими пожеланиями.
Так же можно использовать glusterfs вкупе с samba4 для создания отказоустойчивого файлового сервера, но это уже совсем другая история…
Если у кого-то есть вопросы, буду рад оказать помощь.
Для того, чтобы создать файловый сервер, интегрированный в домен Active Directory, вам в первую очередь потребуется ввести вашу машину с Ubuntu в домен. Этому посвящена отдельная статья:
Для создания файлового сервера вам не нужно настраивать PAM, достаточно добавить доменных пользователей и группы через Winbind в систему.
После успешного входа в домен вам останется всего лишь настроить расшаренные ресурсы на вашем компьютере.
Тут стоит сразу обратить внимание на одну очень важную вещь: Samba пытается спроецировать права на файлы Windows на права Unix, однако из-за кардинальных различий в механизмах присвоения прав сделать это не всегда возможно. Учтите, что права на файлы всегда и в любом случае контролируются вашей файловой ситемой на компьютере с Ubuntu, самба может лишь подстраиваться под них, но не менять их поведение.
Поэтому по умолчанию на расшаренных ресурсах будут весьма скудные возможности контроля доступа — назначение разных прав для пользователя, группы и всех остальных. Однако это легко исправить, добавив в вашу ФС поддержку POSIX ACL. В этом случае можно будет назначать различные права различным пользователям и группам практически как в Windows.
Поддержка POSIX ACL есть как минимум в ext3/4, для её активирования вам необходимо просто добавить к опциям монтирования нужного раздела параметр acl
.
Важно, чтобы каталог, который вы хотите расшарить через Samba, лежал на диске, смонтированном с опцией acl. Иначе вы не сможете нормально использовать механизм разграничения прав доступа к файлам на шарах.
Есть и ещё один весьма немаловажный момент: POSIX ACL не поддерживают наследование прав доступа от родительских каталогов, а в Windows эта возможность присутствует. Поэтому в Samba реализован дополнительный механизм сохранения информации о наследовании прав доступа, который использует расширенные атрибуты файловой системы. Поэтому чтобы Samba могла корректно обрабатывать наследование прав кроме acl
к опциям монтирования файловой системы необходимо добавлять параметр user_xattr
, который как раз и отвечает за включение поддержки расширенных атрибутов.
Например, я всегда использую для организации расшаренных ресурсов отдельные LVM диски и у меня строчки в fstab для них выглядят примерно так:
/dev/mapper/data-profiles /var/data/profiles ext3 defaults,noexec,acl,user_xattr 0 2
Опция noexec
нужна потому, что на шарах для Windows 100% не должно быть исполняемых файлов Linux, и лишний раз перестраховаться не помешает.
Для работы с acl на Ubuntu необходимо установить пакет соответствующих утилит:
sudo aptitude install acl
После чего посмотреть расширенные права (т.е. ACL) на файл или каталог можно будет командой
getfacl file
А установить командой
setfacl [options] file
На всякий случай хочу обратить внимание на то, что механизм POSIX ACL не имеет никакого отношения к Samba — это просто надстройка над стандартным механизмом разграничения прав в Linux. Соответственно Samba может его использовать, но не может как-либо изменить или обойти.
Для работы с расширенными атрибутами ФС потребуется очень похожий на acl
пакет утилит — attr
, поставить который можно командой
sudo aptitude install attr
Для просмотра расширенных атрибутов можно использовать команду
getfattr file
А для установки
setfattr [options] file
Однако тут есть одна небольшая загвоздка. Дело в том, что Samba хранит всю информацию о наследовании в бинарном виде в единственном расширенном атрибуте user.SAMBA_PAI
. Поэтому поменять что-то с помощью setfattr
вам не удастся, только разве что полностью удалить расширенные атрибуты (иногда такое может потребоваться сделать).
Ну а управлять наследованием прав вам придётся с Windows машины с помощью штатных инструментов этой системы. Либо же с помощью утилиты smbcacls
, если вы разберётесь, как ей пользоваться.
Существует так же экспериментальный VFS модуль acl_xattr, который позволяет хранить NT ACL полностью в расширенных атрибутах. К сожалению, документации по нему нет, поэтому что-то вразумительное сказать по его поводу сложно. Ожидается, что в Samba 4 будет полная интегрированная поддержка NT ACL, а пока что можно пользоваться тем, что есть.
Если вам есть что добавить по поводу расширенных атрибутов в Samba и методах работы с ними — обязательно напишите в эту тему на форуме. Буду благодарен за любые ссылки, статьи и комментарии по теме.
Кроме того, расширенные атрибуты файловой системы позволяют включить в Samba полную поддержку файловых атрибутов DOS, таких как скрытый, архивный и пр.
Итак, будем считать что у вас есть в системе каталог, который вы хотите расшарить через Samba (и он находится на диске, подмонтированном с поддержкой acl и user_xattr). Теперь необходимо собственно настроить его расшаривание. Для этого нужно внести соответствующую информацию в файл /etc/samba/smb.conf
.
Начнём с общих настроек, которые можно добавить в секцию [global]
этого файла (это далеко не все возможные параметры, просто несколько достаточно полезных из них):
# Отключить расшаривание принтеров. Если вы конечно и вправду не хотите их расшаривать. # Для полного отключения нужно указывать все 4 строки, приведённых ниже load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes # Сделать скрытыми при просмотре с Windows файлы со следующими именами hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/ # Использовать для шар с публичным доступом следующего UNIX пользователя в качестве Guest guest account = nobody # Воспринимать как guest незарегистрированных пользователей map to guest = Bad User ## Настройки, использующие расширенные атрибуты файловой системы # Обрабатывать наследования прав с помощью расширенных атрибутов ФС map acl inherit = yes # Использовать расширенные атрибуты ФС для хранения атрибутов DOS store dos attributes = yes # Отключить маппинг DOS атрибутов на UNIX права, включённый по умолчанию # Согласно man smb.conf при использовании расширенных атрибутов эти опции обязаны быть отключены map archive = no map system = no map hidden = no map readonly = no
Теперь настройки непосредственно расшаренного ресурса. У меня он называется profiles, а физически на Ubuntu машине находится по адресу /var/data/profiles:
[profiles] # Комментарий comment = User Profiles # Путь до папки, которую расшариваем path = /var/data/profiles/ # Пользователи с неограниченными правами доступа к шаре # У меня стоит группа администраторов домена. # Эти пользователи при работе с файлами воспринимаются как локальный root admin users = "@DOMAIN\Администраторы домена" # Скрыть папки, к которым у пользователя нет доступа hide unreadable = yes # Доступ не только на чтение read only = no # Маски для создаваемых файлов - можно задать по желанию #create mask = 0600 #directory mask = 0700 # Отключение блокировок - лучше отключить locking = no
Есть множество других опций — за подробностями стоит обратиться к документации по Samba.
Не забудьте поставить правильного владельца и права доступа на папку, которую вы расшариваете, а то несмотря на любые настройки самбы в неё может быть запрещена запись на уровне прав Linux. Я делаю обычно так:
sudo chmod ug+rwx /var/data/profiles sudo chown root:"пользователи домена" /var/data/profiles
Обратите внимание, так как ваша Ubuntu машина введена в домен, то вы можете использовать пользователей и группы домена в качестве владельцев файлов прямо в Ubuntu.
Проверьте правильность конфигурации Samba командой
testparm
После чего перезапустите Samba:
sudo /etc/init.d/samba restart
Теперь вы можете с любой машины домена получить доступ к расшаренному ресурсу.
Кстати, не забывайте про SGID и Sticky биты для каталогов. Они позволят вам наследовать группу-владельца и запрещать пользователям удаление не своих файлов — это может быть очень удобно для многопользовательских хранилищ. Однако в отличие от редактирования прав из Windows поменять эти биты на папках на расшаренном ресурсе не получится — только вручную непосредственно на Ubuntu компьютере.
Кроме всего прочего Samba позволяет организовывать хранение предыдущих версий файлов, что бывает иногда полезно при создании общих ресурсов с пользовательскими данными. Подробности в соответствующей статье:
Домен Active Directory есть далеко не у всех. Поэтому часто возникает необходимость организовать на Linux машине автономное файловое хранилище со своей собственной системой авторизации. Это сделать очень просто.
Основной особенностью такой организации файлового хранилища будет то, что вся информация о пользователях будет храниться в базе данных Samba, соответственно добавлять и удалять пользователей на самбу надо будет вручную.
Самое главное — определиться с используемым способом доступа к ресурсу. Для его изменения надо правильно установить значение параметра security
в секции [global]
файла /etc/samba/smb.conf
. Подробней об этом параметре можно почитать тут или же в официальной документации.
Обычно используется значение share
или user
.
Далее не забудьте поменять значение параметра workgroup
на нужное, а все остальные настройки сильно зависят от ваших целей.
Подробнее настройка простого файлового сервера описана в основной статье про Samba.
Для дома удобно чтобы все видели всех. Это можно сделать если добавить 4 строчки в секцию [global] файла /etc/samba/smb.conf. Некоторые могут уже существовать.
[global] workgroup = WORKGROUP map to guest = Bad User netbios name = NOTEBOOK security = user
NOTEBOOK — имя компьютера которое будет в сети.
Кроме этого надо установить дополнительные программы :
sudo apt-get install samba
Для kubuntu надо еще установить smb4k .
После редактирования конфигов надо перезапустить службы. В systemd (начиная с 15.04) перезапуск выглядит так:
sudo systemctl restart smbd.service nmbd.service
Посмотреть «шары» можно через файловый броузер nautilus, konkueror или так:
smbclient -L 127.0.0.1
. Официальная документация на английском.
В данной заметке описывается процесс как подключить Linux-сервер (CentOS 6.7) к существующему Windows-домену под управлением Microsoft Windows 2008-R2 и сделать из него файловый сервер на базе Samba (Version 3.6.23-20.el6) c разграничением прав доступа доменных пользователей.
Условия, при которых выполнялись шаги, описанные в заметке:
- В качестве аппаратной платформы используется виртуальная машина VMware (version 11) на гипервизоре VMware ESXi, 6.0.0, 2494585.
- Контроллер домена на базе Microsoft Windows Server 2008 R2
Домен: filial.work.corp (Краткое название домена WORK-FILIAL)
Контроллер домена: dc301.filial.work.corp (IP 10.58.96.4) - Цель — получить файловый сервер с именем fserver1.filial.work.corp (IP 10.58.96.24)
- Устанавливаем CentOS-minimal. (Я устанавливал, имеющийся на тот момент, CentOS 6.5 (i386), обновленный впоследствии на втором шаге до версии 6.7)
P.S. В веб-консоле VMware мышь не работает, все делаем с клавиатуры – перемещение между кнопками – «TAB», подтвердить выбор – «Пробел»)
При установке были заданы следующие параметры:
- Язык Русский
- Раскладка клавиатура – Английская (США)
- Стандартные накопители
- Имя узла задаем полностью fserver1.filial.work.corp
- Настраиваем сеть:
IP:10.58.96.24
Маска:255.255.255.0
Шлюз: 10.58.96.1
Серверы DNS: 10.58.96.4
Домены поиска: FILIAL.WORK.CORP
Ставим галку «Подключаться автоматически» - Часовой пояс должен быть Европа/Москва
- Задаём пароль ROOT
- Всё пространство
- Сохранить изменения на диск
- Установка пакетов
- Перезагрузка
- Подключаемся к серверу по SSH (Я использовал PuTTY)
- Обновим все необходимы модули в системе на актуальные версии::
yum update -y - Перезагружаем сервер (команда reboot). После перезагрузки снова подключаемся по SSH.
- Для удобства установим MC
yum install mc -y - Если используется виртуальная машина, то ставим VmWare Tools, если нет – переходим к шагу 8.
Подготовка к установке пакета VmWare Tools- 1 вариант (для 32 битного CentOSa ): yum -y install http://packages.vmware.com/tools/esx/6.0/repos/vmware-tools-repo-RHEL6-9.10.0-1.el6.i686.rpm
- 2 Вариант: Скачиваем rpm-пакет (для ESXi6: http://packages.vmware.com/tools/esx/6.0/repos/vmware-tools-repo-RHEL6-9.10.0-1.el6.x86_64.rpm — для 64 битного CentOSa, vmware-tools-repo-RHEL6-9.10.0-1.el6.i686.rpm – для 32 битной)
Другие версии — http://packages.vmware.com/tools/esx/index.html
Устанавливаем пакет:
yum install vmware-tools-repo-RHEL6-9.10.0-1.el6.i686.rpm -y
- Устанавливаем VmWare Tools:
yum install vmware-tools-esx-nox -y
Проверяем, что VmWare tools установлен и запущен:
initctl list | grep vmware-tools
Вывод:vmware-tools start/running
Чтобы узнать версию vmware-tools, выполните :vmware-toolbox-cmd -v - Устанавливаем пакеты Samba:
yum install samba samba-client samba-common –y - Добавляем Samba в автозагрузку:
chkconfig smb on
chkconfig nmb on - Отключаем SELinux.
Редактируем файл /etc/selinux/config. Находим строку SELINUX, меняем значение с enforcing на disabled:
SELINUX=disabled - Чтобы ресурсы Samba были доступны по сети, необходимо добавить правила в iptables. Вводим по очереди следующие строки:
iptables -I INPUT 4 -m state —state NEW -m udp -p udp —dport 137 -j ACCEPT
iptables -I INPUT 5 -m state —state NEW -m udp -p udp —dport 138 -j ACCEPT
iptables -I INPUT 6 -m state —state NEW -m tcp -p tcp —dport 139 -j ACCEPT
service iptables save
service iptables restart - В корне создаем каталог data (его мы и будем для начала расшаривать):
mkdir /data
chmod -R 0777 /data - Предварительная настройка Samba:
- Переместим файл /etc/samba/smb.conf в папку /home.
- Создадим новый файл smb.conf
- Внесём в него следующие строки:
[global] workgroup = WORKGROUP security = share map to guest = bad user [data] path = /data browsable =yes writable = yes guest ok = yes read only = no
- Проверим конфигурацию Samba командой testparm
Должны получить следующее:Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[data]" WARNING: The security=share option is deprecated Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions
На предупреждения о «security = share» и «rlimit_max» внимание не обращаем. - Перезапустим Samba
service smb restart
service nmb restart
- Пробуем подключиться
- Для правильной работы в домене требуется настроить автоматическую синхронизацию времени с доменом:
a) yum install ntp -y
b) В файл /etc/ntp.conf добавляем информацию о сервере времени:
server filial.work.corp
(перед остальными серверами типа server X.servet.pool.ntp.org поставим знак «#»)
c) После чего перезапустим демон ntpd:
service ntpd start
d) Добавляем сервис в автозагрузку
chkconfig ntpd on
e) Проверяем как работает синхронизация командой:
ntpq -p
Должны увидеть примерно такое:remote refid st t when poll reach delay offset jitter ============================================================================== *dc301.filial.wo 10.58.96.4 4 u 129 128 377 0.324 -3.265 10.328
- Устанавливаем пакет krb5-workstation и добавляем сервис winbind в автозагрузку:
yum install krb5-workstation -y
chkconfig winbind on - Добавляем в начало файла /etc/hosts строку
127.0.0.1 fserver1.filial.work.corp fserver1 - Устанавливаем лимит одновременно открытых файлов:
В конец файла (перед #End of file) /etc/security/limits.conf вписываем строку
* — nofile 16384 - Перезагружаем сервер (команда reboot). После перезагрузки снова подключаемся по SSH.
- Добавление Winbind в качестве источника пользователей и групп.
В файле /etc/nsswitch.conf внесём следующие изменения (отмечены жирным):
passwd: compat winbind
group: compat winbind
hosts: files dns winbind - Настройка Samba.
Для работы в домене, необходимо прописать правильные настройки в файле /etc/samba/smb.conf.
Ниже – рабочий пример части файла конфигурации (Обратите внимание на то, что название и короткое наименование домена вводятся ПРОПИСНЫМИ БУКВАМИ):workgroup = WORK-FILIAL realm = FILIAL.WORK.CORP security = ADS auth methods = winbind allow trusted domains = no domain master = no local master = no preferred master = no os level = 0 domain logons = no # Отключаем принтеры load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes smb ports = 139 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 idmap config * : range = 10000-20000 idmap config * : backend = tdb winbind enum groups = yes winbind enum users = yes winbind use default domain = yes #Автоматическое обновление билета Kerberos winbind refresh tickets = yes #Возможность авторизации доменных пользователей когда домен недоступен (включить после тестирования) #winbind offline logon = yes
- Проверим конфигурацию Samba командой testparm. Должны получить следующее:
Load smb config files from /etc/samba/smb.conf Processing section "[data]" Loaded services file OK. Server role: ROLE_DOMAIN_MEMBER Press enter to see a dump of your service definitions
- Введем сервер в домен. Для этого введите команду:
net ads join -U administrator -D FILIAL.WORK.CORP,где administrator — пользователь домена с правами ввода компьютеров в домен, название домена вводятся ПРОПИСНЫМИ БУКВАМИ.
И в случае успеха вы увидите что-то похожее на:Using short domain name – WORK-FILIAL Joined 'FSERVER1' to dns domain 'filial.work.corp'
Так же можно набрать команду:
net ads testjoin
Если все хорошо, можно увидеть:
Wbinfo Join is OK - Перезагружаем сервер (команда reboot). После перезагрузки снова подключаемся по SSH.
- После перезагрузки проверим, что Winbind установил доверительные отношения с доменом командой:
wbinfo -t
Если всё нормально, то увидим:
checking the trust secret for domain DCN via RPC calls succeededКроме того, можно посмотреть кол-во пользователей и групп, должно быть больше 0:
wbinfo –u |wc –l
wbinfo –g |wc –l - В файл /etc/samba/smb.conf добавляем строки:
[data] path = /data valid users = @WORK-FILIAL\Администраторы домена write list = WORK-FILIAL\MainAdmin read only = yes browseable = yes create mask = 0666 directory mask = 0777
Пояснения:
valid users — пользователи и/или группы, которым разрешен доступ в каталог
write list — пользователи и/или группы, которым разрешена запись в каталог
В строках, где значение параметра начинается с @ означит, что это правило применяется не к одному пользователю, а к группе.
Т.е. в примере доступ в каталог data разрешён только пользователям, входящим в группу «Администраторы домена«, а вносить изменения (создавать, удалять, изменять данные) в каталоге может только пользователь «MainAdmin«. Если нужно дать права нескольким пользователям или группам, то их нужно указать через запятую:
write list = WORK-FILIAL\MainAdmin, WORK-FILIAL\backupAdmin
create mask = 0666 — задаёт маску прав создаваемых пользователями файлов
directory mask = 0777 — задаёт права на создание каталогов и подкаталогов
У расшариваемого каталога, в нашем случае /data, у «прочих» пользователей должны быть права rwx.
Чтобы установить требуемые права на паку (в нашем случае /data), можно воспользоваться командой:
chmod 0777 /data - После внесения изменений в настройки Samba, перезапустим службу
service smb restart - …
При работе над заметкой были использованы следующие материалы:
- Samba, как член домена Active Directory
- Linux в домене Active Directory
- Ввод компьютера в домен Windows
- Формат конфигурационного файла smb.conf
- Все о Samba
Содержание
- 1 Общая информация
- 2 Проверка требований
- 3 Установка Samba
- 4 Настройка Samba
- 5 Проверка работы и отладка
- 6 Дополнительная настройка
- 7 Доступ к Samba из Windows 7 и 2008 r2
- 8 Работа над ошибками
- 8.1 Winbind не запускается
- 8.2 Ошибка получения билета Kerberos
- 9 Полезные комманды
- 10 См. также
- 11 Cсылки
Общая информация
Если вам нужно просто предоставить сетевой доступ к ресурсам Linux компьютера, то смотрите статью Samba.
В этой статье мы опишем как подключить Linux компьютер к домену под управлением Microsoft Active Directory и сделать из него файловый сервер.
После выполнения этой инструкции мы будем иметь в сети файловый сервер под управлением ОС Линукс, входящий в домен Windows 2003 и ничем не отличающийся от файлового сервера под Windows. Пользователи домена смогут обращаться к его ресурсам под своими учётными записями. Доступ регулируется группами домена AD.
По этой инструкции настраивались Debian (4, 5), Ubuntu 9.10, создавалась она на основе официальной документации и многих рекомендаций и инструкций из Интернета. Остальные Linux’ы настраиваются сходным образом.
Для Alt Linux написана хорошая инструкция http://freesource.info/wiki/AltLinux/Dokumentacija/SambaInWin2kDomain?v=omo&
Проверка требований
- Проверяем что Samba собрана с поддержкой Kerberos:
# smbd -b | grep KRB HAVE_KRB5_H HAVE_ADDRTYPE_IN_KRB5_ADDRESS HAVE_DECODE_KRB5_AP_REQ HAVE_KRB5 HAVE_KRB5_AUTH_CON_SETUSERUSERKEY HAVE_KRB5_C_ENCTYPE_COMPARE HAVE_KRB5_C_VERIFY_CHECKSUM HAVE_KRB5_ENCRYPT_BLOCK HAVE_KRB5_ENCRYPT_DATA HAVE_KRB5_FREE_AP_REQ HAVE_KRB5_FREE_DATA_CONTENTS HAVE_KRB5_FREE_KEYTAB_ENTRY_CONTENTS HAVE_KRB5_FREE_KTYPES HAVE_KRB5_FREE_UNPARSED_NAME HAVE_KRB5_GET_PERMITTED_ENCTYPES HAVE_KRB5_GET_RENEWED_CREDS HAVE_KRB5_KEYBLOCK_IN_CREDS HAVE_KRB5_KEYTAB_ENTRY_KEY HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM HAVE_KRB5_KT_FREE_ENTRY HAVE_KRB5_LOCATE_KDC HAVE_KRB5_MK_REQ_EXTENDED HAVE_KRB5_PRINCIPAL2SALT HAVE_KRB5_PRINC_COMPONENT HAVE_KRB5_SET_DEFAULT_TGS_KTYPES HAVE_KRB5_SET_REAL_TIME HAVE_KRB5_STRING_TO_KEY HAVE_KRB5_TKT_ENC_PART2 HAVE_KRB5_USE_ENCTYPE HAVE_LIBGSSAPI_KRB5 HAVE_LIBKRB5 HAVE_MAGIC_IN_KRB5_ADDRESS HAVE_TICKET_POINTER_IN_KRB5_AP_REQ KRB5_VERIFY_CHECKSUM_ARGS
- Также проверим что поддерживается LDAP
# smbd -b | grep LDAP HAVE_LDAP_H HAVE_LDAP HAVE_LDAP_ADD_RESULT_ENTRY HAVE_LDAP_DN2AD_CANONICAL HAVE_LDAP_INIT HAVE_LDAP_INITIALIZE HAVE_LDAP_SET_REBIND_PROC HAVE_LIBLDAP LDAP_SET_REBIND_PROC_ARGS
- Для корректной работы Samba в домене Windows 2003 нужны версии MIT Kerberos version >=1.3.1. Проверим:
# dpkg -l | grep krb ii krb5-config 1.22 Configuration files for Kerberos Version 5 ii libkrb53 1.6.dfsg.4~beta1-5lenny1 MIT Kerberos runtime libraries
- Для корректной работы с Windows 2008 серверами сама Samba должна быть достаточно свежая:
# smbd -V Version 3.2.5
Установка Samba
- Устанавливаем сервер и клиент samba.
# apt-get install samba samba-client krb5-config
При настройке krb5-config лучше указывать IP адреса контроллеров домена, а не их DNS имена.
Настройка Samba
- Для подключения к домену Active Directory удобно использовать утилиту Likewise-Open.
- Для администрирования Samba удобно использовать SWAT или webmin, которые предоставляют веб интерфейс. Попасть на него можно по адресу http://server_address:901 и https://server_address:10000 соответственно, указав для соединения пользователя root. Но будьте осторожны — он полностью переписывает smb.conf и некоторые параметры может просто игнорировать. Лучше предварительно сделать резервную копию файла. Я сначала использовал SWAT, а затем дорабатывал конфигурационный файл /etc/samba/smb.conf руками. Вот, что осталось у меня не закоментированным (принтеры к этому серверу не подключены):
[global] unix charset = LOCALE realm = WORKGROUP.DOMAIN.LOCAL server string = Storage samba server interfaces = eth0 bind interfaces only = Yes security = ADS obey pam restrictions = Yes passdb backend = tdbsam passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* . log level = 3 syslog = 0 log file = /var/log/samba/log.%m max log size = 100 name resolve order = lmhosts host wins bcast printcap name = CUPS local master = No domain master = No dns proxy = No ldap ssl = no panic action = /usr/share/samba/panic-action %d idmap uid = 10000-20000 idmap gid = 10000-20000 template shell = /bin/bash invalid users = root [print$] comment = Printer Drivers path = /var/lib/samba/printers [distrib] path = /data/distrib valid users = @WORKGROUP\DistribGroup write list = @WORKGROUP\DistribGroup read only = No create mask = 0777 directory mask = 0777 [backup] path = /data/backup valid users = @WORKGROUP\BackupGroup write list = @WORKGROUP\BackupGroup read only = No create mask = 0777 directory mask = 0777
Мы описали два общих каталога:
- backup — доступ имеют только пользователи входящие в группу BackupGroup в Active Directory. Они могут создавать и удалять файлы/каталоги
- distrib — доступ имеют все пользователи входящие в группу DistribGroup в Active Directory
В приведённой конфигурации подразумевается, что eth0 — это сетевой интерфейс в локальную сеть, где домен имеет полное имя WORKGROUP.DOMAIN.LOCAL
- редактируем /etc/nsswitch:
passwd: compat winbind group: compat winbind shadow: compat winbind hosts: files dns wins networks: files dns protocols: files services: files ethers: files rpc: files netgroup: files
- Проверим, что в /etc/hosts есть корректная запись для нашего сервера, также можно добавить записи для контроллеров доменов:
10.0.0.15 storage.domain.local storage 10.0.0.85 dcwg1.domain.local dcwg1 10.0.0.245 dcwg2.domain.local dcwg2
- Удаляем если есть (или переносим в резервные копии) файл /etc/samba/secrets.tdb и все файлы из /var/lib/samba/*.tdb
- Проверяем конфигурацию (не обязательно):
- testparm -s
В Ubunto testparm находится в пакете samba-common-bin
- Проверим как Samba-3 winbind общается с контроллером домена Active Directory посредством протокола Kerberos:
# net ads info LDAP server: 10.0.0.85 LDAP server name: dcwg1.workgroup.domain.local Realm: WORKGROUP.DOMAIN.LOCAL Bind Path: dc=WORKGROUP,dc=DOMAIN,dc=LOCAL LDAP port: 389 Server time: Срд, 03 Мар 2010 13:12:14 NOVT KDC server: 10.0.0.85 Server time offset: -5
На рассхождение времени в секундах указывает строка «Server time offset: -5». Обратите внимание, что протокол Kerberos зависим от времени, и расхождение с часами контроллера домена допускается лишь незначительное, поэтому желательно настроить NTP клиент (см. статьи по настройке NTP). В Ubuntu это указывается в файле /etc/default/ntpdate:
NTPSERVERS="10.0.0.85 10.0.0.245"
- В Debian (и его сыновьях, таких как Ubuntu и внуках вроде Linux Mint) при установке пакета krb5-cofig сразу предлагается его настройка. Лучше всего попробовать работать с этими настройками, но если ничего предложено не было или мы хотим что-то изменить, то редактируем /etc/krb5.conf (я для более стабильной работы использовал ip адреса вместо имён серверов):
[libdefaults] default_realm = WORKGROUP.DOMAIN.LOCAL # The following krb5.conf variables are only for MIT Kerberos. krb4_config = /etc/krb.conf krb4_realms = /etc/krb.realms kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true # #... # # The following libdefaults parameters are only for Heimdal Kerberos. v4_instance_resolve = false v4_name_convert = { host = { rcmd = host ftp = ftp } plain = { something = something-else } } fcc-mit-ticketflags = true [realms] WORKGROUP.DOMAIN.LOCAL = { kdc = 10.0.0.85 kdc = 10.0.0.245 admin_server = 10.0.0.85 } # #... # [login] krb4_convert = true krb4_get_tickets = false
- Проверим работает ли Kerberos, постараемся получить билет и просмотреть его:
# kinit administrator@WORKGROUP.DOMAIN.LOCAL Password for administrator@WORKGROUP.DOMAIN.LOCAL: # klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@WORKGROUP.DOMAIN.LOCAL Valid starting Expires Service principal 03/06/10 14:51:41 03/07/10 00:51:47 krbtgt/WORKGROUP.DOMAIN.LOCAL@WORKGROUP.DOMAIN.LOCAL renew until 03/07/10 14:51:41
- Удалим полученный билет:
# kdestroy
- Присоединяемся к домену:
# net ads join -UAdministrator Administrator's password: Using short domain name -- WORKGROUP Joined 'STORAGE' to realm 'WORKGROUP.DOMAIN.LOCAL'
Всё, компьютер включен в домен, что можно проверить на контроллере. Даже если после приведённых строк получили следующие:
[2010/03/06 15:04:00, 0] libads/kerberos.c:332(ads_kinit_password) kerberos_kinit_password STORAGE$@WORKGROUP.DOMAIN.LOCAL failed: Client not found in Kerberos database DNS update failed!
Проверка работы и отладка
- Для удобства отладки сделаем ссылку на каталог журналов:
# ln -s /var/log/samba /etc/samba/log
- Запускаем samba и winbind:
# /etc/init.d/samba start # /etc/init.d/winbind start
- Для проверки правильно ли подключение к домену можно посмотреть список пользователей и групп домена (не обязательно):
# wbinfo -u # wbinfo -g
Если нас не понимают, то подсказываем пароль для wbinfo и смотрим: список доменов в сети, информацию о домене WORKGROUP, список пользователей и групп домена:
# wbinfo --set-auth-user=root%root_password # wbinfo --all-domains # wbinfo -D WORKGROUP # wbinfo -t
- Проверяем, как работает NSS. Команда getent показывает инфо о пользователе, который может быть как в домене, так и юниксовый:
# getent passwd | grep pm pm:x:15000:15000::/home/WORKGROUP/pm:/bin/false # getent passwd | grep pavel pavel:x:500:500:Pavel Malahov:/home/pavel:/bin/bash
- Теперь можно использовать ресурсы на линукс-сервере, на которые мы дали доступ, как обычные доменные ресурсы.
Дополнительная настройка
- Можно также сопоставить (но это не обязательно) локальные учётные данные и из домена Windows. Для сопоставления пользователей редактируем файл /etc/samba/smbusers.conf:
root = admin administrator
- для сопоставления (мапирования от англ. Map) групп домена и групп UNIX выполняем:
# net groupmap modify ntgroup="Domain Admins" unixgroup=root # net groupmap modify ntgroup="Domain Users" unixgroup=users # net groupmap modify ntgroup="Domain Guests" unixgroup=nobody
- После того как всё отлажено, можно понизить уровень записи в журнал до «1». В /etc/samba/smb.conf:
log level = 1
Доступ к Samba из Windows 7 и 2008 r2
Начиная с этих версий параметры авторизации у MS поменялись. Скорее всего Samba вскоре это учтёт, а пока подружить системы можно изменив на Win7 свойства сетевой безопасности:
Пуск — Панель управления — Администрирование — Локальная политика безопасности — Локальные политики — Параметры безопасности
- Сетевая безопасность: минимальная сеансовая безопасность для клиентов на базе NTLM SSP — убрать галочку с «Требовать 128-битное шифрование». Таких параметра два — выполнить для обоих
- Сетевая безопасность: уровень проверки подлинности LAN Manager — выбрать в списке пункт «Отправлять LM- и NTML-ответы»
Работа над ошибками
Winbind не запускается
При запуске Samba обнаруживаем, что winbind не запустился:
# /etc/init.d/winbind status * winbind is not running
В журнале log.winbindd обнаруживаем запись:
[2010/03/06 13:54:34, 2] winbindd/winbindd_util.c:235(add_trusted_domain) Added domain BUILTIN S-1-5-32 [2010/03/06 13:54:34, 2] winbindd/winbindd_util.c:235(add_trusted_domain) Added domain STORAGE S-1-5-21-3963871611-1338977097-196861091 [2010/03/06 13:54:34, 0] winbindd/winbindd_util.c:782(init_domain_list) Could not fetch our SID - did we join? [2010/03/06 13:54:34, 0] winbindd/winbindd.c:1385(main) unable to initialize domain list
Видим, что добавлен «встроенный домен» (BUILTIN) и домен «название компьютера» (STORAGE), подключиться к домену AD не удалось.
Решение: Переподключить компьютер в домен. Удалять придётся с самого контроллера, т.к. комадна net ads leave скорее всего не поможет.
Ошибка получения билета Kerberos
При попытке получить билет Kerberos получили:
kinit: KDC reply did not match expectations while getting initial credentials
Решение: указать имя домена в другом регистре. Скорее всего нужны все заглавные
Полезная ссылка: http://subscribe.ru/archive/comp.soft.win.linuxsa/200510/19115643.html
Полезные комманды
$ smbclient -N -L 10.0.0.117 | показывает ресурсы компьютера с адресом 10.0.0.117 |
$ smbclient //10.0.0.117/common | Вход в расшаренную директорию. Пользователь unix от которого выполняется команда должен быть зарегистрирован в домене. |
# net ads join -U pavel -d 3 | Добавить в домен пользователя pavel |
# winbindd -d 3 -i | Режим отладки (-d), winbindd запускается не как демон (-i) |
# wbinfo -a mydomain\\myuser%mypasswd | авторизируемся в домене (через winbindd, wbinfo входит в этот пакет) |
# ldapsearch | запросы к LDAP серверу, в нашем случае к MS Active Directory |
# tdbdump /etc/samba/secrets.tdb | просмотреть содержимое файла *.tdb |
См. также
- Статья Samba даёт краткий общий обзор пакета Samba утилит для него, а также описывает простой (без авторизации в домене) способ предоставления каталогов в общий доступ.
Cсылки
- http://linux.yaroslavl.ru//docs/serv/samba/samba-win2000.html — Samba и доменная аутентификация Windows2000
- http://us6.samba.org/samba/docs/man/Samba-Guide/unixclients.html#adssdm- Active Directory Domain with Samba Domain Member Server — подробная инструкция как подключить Linux сервер с помощью Samba 3 к домену под управлением AD Windows 2003.
- http://us6.samba.org/samba/docs/man/Samba-Guide/kerberos.html#id397375 — пример настройки доступа для пользователей Active Directory
- Samba-HOWTO-Collection.pdf, стр.54-57 (поставляется с исходниками) или
- http://jcifs.samba.org/ntstatus.txt — описание статусов