Налаштування samba сервера з авторизацією через active directory в debian, блог dоктора dобрянского

Постановка завдання така:

Є в мережі сервер, що виконує функції файлопомойка, під управлінням Linux. Крім сервера в мережі є віндового машини, які повинні зберігати файли на цьому сервері. У кожного користувача на сервері повинна бути особиста папка і одна загальна для всіх користувачів.

Все начебто просто - поставив Самбу, наробив користувачів ідентичних віндового і радій життю. Так в принципі воно й було якийсь час, але захотілося змін - вирішив трохи автоматизувати і спростити адміністрування своєї файлопомойка, тому що юзери ростуть як гриби і «треба шото робити».

Виходячи з цього, було вирішено побудувати таку схему:

розгорнути АТ і прикрутити до нього файлсервера Samba з аутентифікацією через Active Directory. При цьому, коли користувач вперше підключається до сервера, автоматично створюється особиста папка, яка доступна як кулі тільки конкретного користувача.

З налаштуванням АТ все зрозуміло (нудно). А ось з налаштуванням Самби довелося погратися. Як зробити це в Debian lenny я і розповім в даній статті.

Розраховуємо що контролер домену і ДНС у нас вже налаштовані.

Winbind - це демон, який дозволяє Самбі дізнаватися користувачів AD і спілкуватися з ними як з локальними.

Kerberos використовується для інтеграції Samba в Active DIrectory. Відкриваємо його конфіг і підставляємо свої параметри (виділив червоним):

Перевіряємо правильність налаштувань:

domain_user - користувач з правами входу в домен. Якщо все правильно - команда завершитися без виведення на екран. У мене все пройшло без помилок, але ось найпоширеніші з них:

kinit: krb5_get_init_creds: Client ([email protected]) unknown

Неправильний логін або пароль користувача domain_user.

Варто перевірити правильність конфіга і налаштування ДНС.

Невідповідність часу на контролері домену і на нашому сервері. Синхронізувати час з Active Directory можна командою:

Тепер налаштуємо Самбу і Winbind. Мій працює конфіг нижче, можна просто скопіювати його підставив свої дані (виділив червоним):

Увага! Ім'я домену вказується у верхньому регістрі.

Розділ [Homes] і розшарені папки можуть відрізнятися від вказаних. У моєму конфіге вони налаштовані відповідно до вимог, описаними на початку статті.

У моєму випадку smbusers - група в Active Directory, користувачі якої матимуть доступ до спільної папки і до особистих папок. Що б домашня директорія створювалася автоматично в / home / samba / имя_пользователя, коли користувач вперше підключається до сервера Samba, крім налаштувань в /etc/samba/smb.conf, потрібно прописати також певну запис в /etc/pam.d/samba:

umask = 0077 - відповідає правам доступу 0700.

skel = / etc / samba / skel / - шлях до папки, вміст якої буде скопійовано в створену директорію.

Далі відкриваємо /etc/nsswitch.conf і редагуємо зазначені рядки:

Вводимо комп'ютер в домен:

domain_user - користувач домену, у якого досить привілеїв для приєднання комп'ютера до домену.

Перевіримо роботу winbindd:

Ці команди повинні вивести список користувачів і список груп відповідно.

Що б перевірити сприймаються чи доменні користувачі як локальні, можна скористатися командою:

Повинні отримати щось типу:

Тепер, при підключенні до нашого сервера з вінди під доменної обліковим записом domain_user, ми повинні бачити 2 розшарені папки - «domain_user» і «Public». При цьому папка domain_user буде створена в / home / samba якщо не існувала раніше.

Поділитися посиланням:

Схожі статті

Copyright © 2024