Настройка аутенификации

Автор: AGRO Дата: 02.03.2007 16:27 Уважаемые гуру, подскажите - как проще сделать.

Имеется домен с AD на win2003.
Хочется входить на него с ASPLinux 11.2. Чтобы нормально видеть SMB ресурсы и не вводить каждый раз пароль при обращении к ним.

Ковыряние в Система-Администрирование-Аутенификация пока не дало нужного результата.
Хотелось бы сделать просто и без глубокого ковыряния в конфигах, ибо я практически чайник...
Re: Настройка аутенификации 04.03.2007 17:04wildsin AGRO писал(а):

> Хотелось бы сделать просто и без глубокого ковыряния в
> конфигах, ибо я практически чайник...
во первых стоит забыть вот это твое "я практически чайник" и более конкретно сформулировать проблему... вообще задача решаема на "раз-два"... вот только она (задача) решается так либо иначе в зависимости от поставленных требований... если линукс работает чистым клиентом - это одно... если же линукс должен еще и серверные задачи отрабатывать - то это несколько иное... но возможен любой разворот действий... конкретнее формулируй вопрос... потому как ответы однако в разные стороны смотрят...
Re: Настройка аутенификации 05.03.2007 10:09AGRO Попробую сформулировать точнее.

1. Я сделал ссылки на SMB ресурсы. Но песле перезагрузки при первом обращении к ним запрашивается пароль (хотя он совпадает с паролем пользователя для входа в Linux). Жутко напрягает.
2. Неплохо, если бы имя/пароль пользователя на вход в систему Linux брал с сервера WIN2003 (там стоит AD).

Машинка - чистый клиент. Ничего отдавать в сеть не надо.
Re: Настройка аутенификации 05.03.2007 13:30VALDAYML Не знаю поможет или нет в винде подключить сетевой диск , при этом в свойствах подключения ввести пароль и логин , по идее после перезагрузки винда автоматом подключит сетевой диск введя логин и пароль. Это если тебе надо что бы пользователи винды подключались к своим ресурсам самбы.
Re: Настройка аутенификации 06.03.2007 09:37AGRO Нужно наоборот - чтоб пользователи ASP подключались к сетевым ресурсам винды.
Принтеры подключает без проблем и пароль вводит автоматом. А вот сетевые каталоги - каждый раз после перезагрузки хочет пароль
Re: Настройка аутенификации 09.03.2007 09:23swordsman Присоединяюсь к вопросу. Мне нужно настроить рабочую станцию под АСП так, чтоб учетные записи получались из AD (win 2003).
Подскажите pls.
Re: Настройка аутенификации 18.03.2007 09:24Adim Здравствуйте.
Тема еще актуальна? Дело в том, что я как раз занимался этим вопросом. Если вы решили его - поделитесь опытом, если нет, то поделюсь своим (передо мной стояла именно такая же задача).
Т.е. если тема актуальна, то на следующей неделе выложу свои изыскания (хотя, как бы это было не смешно, данная проблема давно решена, и описана в огромном количестве документов).
Re: Настройка аутенификации 18.03.2007 18:43AGRO Выкладывай!
Описана-то конечно она везде, но хочется сделать это с наименьшими затратами времени, ибо вводить машинки в сетку с ASPLinux хотелось бы легко и быстро, а не ковыряясь полдня в различных конфигах.
Re: Настройка аутенификации 19.03.2007 09:11swordsman Актуально - с удовольствием выслушаю рекомендации
Re: Настройка аутенификации 21.03.2007 20:55Adim Вначале хочу сразу оговориться, что я являюсь начинающим пользователем Linux, поэтому мой пост может содержать некоторые ошибки и неточности. Если таковые будут замечены – просьба людей более грамотных, чем я, указать на них.

Хочу так же отметить, что интеграция Linux в сети Windows в корпоративной среде, на мой взгляд, является важной задачей для того, чтобы Linux стал использоваться в сетях, основу которых составляет домены Windows Server 2000/2003.

Итак, сначала немного теории ...

Active Directory представляет из себя своеобразную базу данных различных объектов (пользователи, группы, компьютеры и т.д.). Учетные записи пользователей, компьютеров и групп в Active Directory являются участниками безопасности, а участники безопасности являются объектами каталогов, которым автоматически назначаются коды безопасности SID для доступа к ресурсам домена.
SID компьютера назначается во время присоединения компьютера к домену, SID пользователя – при создании учетной записи. Эти системные идентификаторы (SID), а не имена используются внутренними ресурсами системы (Windows) для обращения к данным объектам.
Для проверки подлинности пользователя в домене Windows 2000/2003 используется сетевой протокол проверки подлинности – kerberos 5.

Из всего вышеизложенного понятно, что для того, что бы работать в домене (т.е. получить доступ к ресурсам домена) необходимо, чтобы:
а) компьютер, с которого осуществляется работа был членом домена, т.е. имел свою учетную запись, ну и соответственно свой SID (т.е компьютер надо ввести в домен).
б) пользователь имел свою учетную запись в домене и система, с которой подключался пользователь имела поддержку протокола сетевой проверки подлинности kerberos 5.

Протокол проверки подлинности kerberos 5, а так же стек протоколов NetBIOS/SMB в данном посте не рассматриваются.

Итак, настраиваем Linux (конкретно у меня используется ASPLinux 11). Хочу сразу добавить, что соответствующие пакеты, а именно – krb5client и samba (версии не ниже 3, которая поддерживает kerberos 5), samba-client должны быть установлены. Пакет krb5client необходим для настройки проверки подлинности по протоколу kerberos 5, пакеты samba – для того, чтобы ввести компьютер в домен, и подключаться к общим ресурсам домена, используя доменную учетную запись (можно так же настроить на samba общие ресурсы, доступ к которым будет осуществляться, как к любым общим ресурсам домена – данный вопрос я не рассматриваю). Итак ...

1.Необходимо настроить проверку подлинности с помощью kerberos 5 отредактировав конфигурационный файл /etc/krb5.conf, или воспользоваться GUI (для Gnome) Среда Gnome -> Системные параметры -> Аутентификация.

Привожу конфигурационный файл /etc/krb5.conf , который должен содержать следующие строки, остальное можно оставить без изменений.

[libdefaults]
default_realm = MYDOMAIN
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
forwardable = yes

[realms]
MYDOMAIN = {
kdc = mydomaincontroller.mydomain:88
admin_server = mydomaincontroller.mydomain:749
}

Далее, подключаемся к серверу kerberos и получаем билет:

# kinit $USER@MYDOMAIN
Password for user@MYDOMAIN:
#

Теперь билет получен и можно проконтролировать это выполнив команду:

# klist

Вы сможете увидеть имеющийся билет.




2. Отредактировать соответствующим образом конфигурационный файл /etc/samba/smb.conf.


# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
workgroup = MYDOMAIN

# server string is the equivalent of the NT Description field
server string = A.Admin

# Security mode. Defines in which mode Samba will operate. Possible
# values are share, user, server, domain and ads. Most people will want
# user level security. See the Samba-HOWTO-Collection for details.
#Указыванием, что используем безопасность Active Directory
security = ADS

# Пароли в домене всегда шифруются
encrypt passwords = true

# NetBIOS-name
netbios name = mycomp

# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the "loopback" interface. For more examples of the syntax see
# the smb.conf man page
# Это как хотите – параметр определяет, из каких сетей можно подключаться
hosts allow = 127.

# Use the realm option only with security = ads
# Specifies the Active Directory realm the host is part of
realm = MYDOMAIN



3. Ввести компьютер в состав домена.
Для того, чтобы ввести компьютер в состав домена, выполним команду

net ads join -U administrator

И смотрим в Active Directory пользователи и компьютеры -> компьютеры – там должна появиться учетная запись нашего компьютера.



Итак, подводим итоги: компьютер введен в состав домена, билет kerberos получен, т.е. теперь мы можем обращаться к сетевым ресурсам, так же, как с машин Windows. Проверим это: Переход -> Сетевые серверы (среда гном), где вы должны увидеть компьютеры вашей сети. Подключитесь к компьютерам сети с учетной записью пользователя, и вы поймете, что права, определяемые в AD применяются. Для проверки так же выполним команду:

smbclient -k -L workstation_name

и вы увидите список ресурсов компьютера workstation_name (параметр -k говорит о том, что проверка подлинности используется kerberos.
После этого выполните klist, и вы поймете, что подключались к workstation_name .



Небольшое замечание. Дело в том, что билеты керберос выдаются на определенное время, на которое настроен керберос-сервер. Зайдя в систему, скажем, через сутки, вы обнаружите, что не можете подключиться к разделяемым ресурсам Windows (будет требовать пароль). На самом деле просто срок, на который выдан билет – закончился и надо его обновить выполнив команду kinit . Я сделал следующим образом: внес скриптик в файл ~/.bash_profile – т.е он будет выполняться при логине пользователя (при этом пароль надо будет вводить два раза, но зато далее работаем в сети, как в домене из Windows).
Вот строки, добавленные в файл ~/.bash_profile :

if kinit $USER@MYDOMAIN
then startx
elif kinit $USER@MYDOMAIN
then startx
elif kinit $USER@MYDOMAIN
then startx
else
echo ====================================
echo "type ENTER to load without NET"
echo ====================================
read z
startx
fi



Ну и последнее – если у вас выйдет лучше – делитесь!
Re: Настройка аутенификации 23.03.2007 11:26kivrin Всё получилось, спасибо за инструкцию...
Ещё в одном помогите тупому... С линукса в доменные шары вхожу без проблем, а обратно (в смысле с винды в линукс) - никак... Даже с линукса к себе самому через самбу не войти... Ни локальный аккаунт, ни доменный не прокатывает... Где я что не дописал?

Скузи... поковырял немного, кое-что получилось... Иногда и графический интерфейс помогает... включил в "Система - Аутентификация" керберос и винбинд - войти смог... но под локальным аккаунтом... через ввод пароля... И когда из винды входил на шапке окна ввода пароля было написано "localhost/localhost"...
Значит, где-то я ещё не указал имя домена...
Re: Настройка аутенификации 23.03.2007 12:29Adim Хочу отметить, что изначально задача была поставлена так: подключаться к общим ресурсам домена с Linux машины (отдавать ничего не надо было) используя, и, естественно, обладая правами, доменного пользователя. Эта задача и выполнена. Для решения задачи организации файлового сервера на Samba с аутентификацией в домене надо выполнить еще ряд действий. А что касается захода с Windows, то в принципе можно, введя логин-пароль, попасть в домашний каталог пользователя, чей логин пароль был введен. У меня в конфиге samba (из моего предидущего поста):

hosts allow = 127.

настроено таким образом, что к ресурсу samba можно подключиться только с локального компьютера. Что бы можно было подключиться, введя пароль -логин, с другого компьютера необходимо:

hosts allow = 127. 192.168.

ну или указать более точно подсеть.


Чтобы можно было подключиться к samba с другого компьютера сети с доменной учетной записью, необходимо, чтобы samba получила из AD список пользователей (ну это уже другая история, пока здесь не рассмотренная). Если надо, то через некоторое время могу вернуться к этой теме.

А может кто-нибудь раньше опишет проделав это именно на ASPLinux 11(ЗЫ. Хотя все это уже давно описано).
Re: Настройка аутенификации 25.03.2007 09:18Sky_net Добрый день, друзья!

У меня немного другая проблема. Сервак на ASPLinux server 4 включен в домен, пользователи (из сети Windows) заходят в созданые папки (согласно их прав доступа), но при копировании большого обьема данных (с сервака работающего под Windows 2003 на сервак под линем)соединение с серваком разрывается примерно минут через 10. "Говорит" что ресурс не доступен. Тут же захожу в папку, все нормально, пускает без проблем. Может кто нибудь сталкивался с подобной проблемой. Буду очень благодарен!!!
Re: Настройка аутенификации 26.03.2007 16:05Adim Продолжу тему организации файлового сервера на Samba.
Итак, что мы имеем:
- компьютер ASPLinux введен в состав домена;
- при подключении пользователя он получает соответствующий ключ с kerberos-сервера.
Таким образом, пользователь получает доступ к общим ресурсам домена в соответствии с его правами в домене.
Для организации общих ресурсов на Linux машине (файловый сервер на Samba), этот самый Samba должен взаимодействовать с AD что бы получить списки пользователей и групп. Для этих целей используется windind.
Итак, проверьте, что windindd запущен, и если нет, запустите его.
Проверим связь с winbind:

[root@computer ~]$ wbinfo -p
Ping to winbindd succeeded on fd 3

Связь есть. Далее проверим доверительные отношения:

[root@computer ~]$ wbinfo -t
checking the trust secret via RPC calls succeeded

Как видим – они есть. Проверим возможность получения списков пользователей домена:

wbinfo -u

и вы увидите список пользователей домена. Проверим возможность получения групп:

wbinfo -g

и увидим группы домена.
Итак, winbind работает.

Далее в файле /etc/nsswitch.conf , который является файлом, показывающим к какой базе данных обращается система пропишем:

passwd: files winbind
shadow: files winbind
group: files winbind

т.е. Добавим winbind в качестве источника для «аутентификации».

Для того, чтобы Samba «знала» о доменных пользователях в файле /etc/samba/smb.conf добавим строки:

winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum groups = yes
winbind enum users = yes

Вот теперь мы выполнили все операции для того, что бы доменные пользователи могли подключаться к Samba.
Осталась одна – определить общие ресурсы и порядок доступа к ним на Samba. Пример:

[admin-share]
comment = admin share for Technical Unit
path = /home/user/share
#здесь перед группой ставим @
valid users = MYDOMAIN\user, @MYDOMAIN\group
public = yes
writable = yes
printable = no
create mask = 0765

Настройка закончена – проверяйте. Удачи.
Re: Настройка аутенификации 28.03.2007 13:11Adim Хочу еще немного добавить о правах на общие ресурсы Samba, которая работает в домене Windows 200x.

Задача:
- дать разрешение на запись и чтение группе MYDOMAYN\techgroup
- дать разрешение на чтение группе MYDOMAYN\pressgroup и пользователю MYDOMAYN\User
- обеспечить, чтобы при создании файлов и каталогов на общем ресурсе права были 777

Решение:
- в файле /etc/samba/smb.conf описываем общий ресурс следующим образом:

[admin-share]
comment = Admin's share for Technical Unit, Press Unit, User
path = /home/key/share
#пользователи, имеющие возможность подключиться для просмотра, т.к. запись запрешена (смотри ниже)
valid users = MYDOMAIN\User, @MYDOMAIN\techgroup, @MYDOMAIN\pressgroup
public = no
writable = no
printable = no
write list = @MYDOMAIN\techgroup #пользователи, имеющие возможность записи


- для обеспечения того, чтобы при создании файлов и каталогов на общем ресурсе права были 777 в файл /etc/samba/smb.conf вносим:

[global]

...
...
force directory mode = 0777
force create mode = 0777
Re: Настройка аутенификации 09.04.2007 00:07melkii Доброе время суток!
У меня другая проблема:в пункте меню "Сетевые серверы" не отображаются окружающие меня компьютеры сети... Подскажите, что может вызвать подобную странность
Re: Настройка аутенификации 30.06.2007 14:55zvyagaaa Здравствуйте, есть вопрос по поводу сети, есть два компьютера, один на Виндоуз ХР, другой на ASP LInux 11.2 - выход в инет настроен на линуксе, через АДСЛ (завелся с полпинка:-)), так вот - как лучше настроить выход в инет через шлюз на линуксе, и как сделать видимыми шары виндоуз под линукс, и наоборот.
Про второе, я как понял, надо конфигурировать самбу, так вот, где я видел инфо, везде идет настройка с доменом, а для двух компьютеров домен поднимать - сильно круто, как лучше сделать?
С уважением
Re: Настройка аутенификации 30.06.2007 18:36BigAndy По самбе security=share.

Настроить "выход в инет чере шлюз" можно:
а) через прокси, например squid
б) разрешив нат
в) просто прописав маршруты (команды route)
г) подняв pptp сервер (openVPN, openswan и прочее)
д) подняв pppoe сервер (rp-pppoe).

Имхо проще способ "В"
Re: Настройка аутенификации 03.07.2007 05:06Bad Cat melkii писал(а):

> Доброе время суток!
> У меня другая проблема:в пункте меню "Сетевые серверы" не
> отображаются окружающие меня компьютеры сети... Подскажите, что
> может вызвать подобную странно

Скорее всего у тебя нет билета керберос. Попробуй kinit user_name@DOMAIN.

И вопрос знающим. Как зделать чтобы билет керберос выдавался автоматом при логине доменного пользователя. У меня ASPLinux интерфейс Gnom, машина в домене, юзвери заходят, но билет не выдаеться, в связи с этим некоторые неудобства по части доменных шар. Пробовал по приведенному выше скрипту. Не работает (пишет что то типа client not found in kerberos data base...)
Re: Настройка аутенификации 09.07.2007 05:41Bad Cat Проблему для себя решил. Машина в домене. Пользователи заходят по одному только имени. Директории создаються, билет получаеться. Если кому интересно могу выложить конечные конфиги.
Re: Настройка аутенификации 09.07.2007 08:13BigAndy Хорошо такие вещи поститьв wiki на asplinuxclub.org. Ну и здесь можно Улыбка
Очень интересно, особенно интересны будут описания всех граблей.
Re: Настройка аутенификации 10.07.2007 04:46Bad Cat Я не считаю себя большим проффесионалом в линуксе, чтобы писать какие-либо статьи или руководства. К тому же таких статей уже написано достаточное количество и используя поиск можно найти много материала, как в рунете так и на западных сайтах. Так я и делал: изучил всевозможные варианты, повыдирал полезные на мой взгляд участки. Поэтому в моих конфигах возможно что-то и лишнее, но на данный момент все, что мне было нужно все работает. Поэтому выложу только конфиги, возможно кому-нибудь помогут. Если будут вопросы по возможности прокомментирую.

файл nsswitch.conf

passwd: files winbind
shadow: files winbind
group: files winbind
hosts: files dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files winbind
rpc: files
services: files winbind
netgroup: files winbind
publickey: nisplus
automount: files winbind
aliases: files nisplus

файл krb5.conf

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = MYDOMAIN.RU
dns_lookup_realm = true
dns_lookup_kdc = true

[realms]
MYDOMAIN.RU = {
kdc =DC:88
admin_server =DC
default_domain=MYDOMAIN.RU
}

[domain_realm]
.mydomain.ru = MYDOMAIN.RU

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

файл smb.conf

[global]


workgroup = MYDOMAIN
realm = MYDOMAIN.RU
netbios name = COMP
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum groups = yes
winbind enum users = yes
security = ads
password server = DC
winbind use default domain = yes
encrypt passwords = true
hosts allow = 192.168.1. 192.168.2. 127.

force directory mode = 0777
force create mode = 0777

template shell = /bin/bash
template homedir = /home/%D/%U

файл system-auth

auth required /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth sufficient /lib/security/$ISA/pam_krb5.so use_first_pass ccache=/tmp/krb5cc_%u
auth sufficient /lib/security/$ISA/pam_winbind.so use_first_pass

account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account required /lib/security/$ISA/pam_unix.so
account sufficient /lib/security/$ISA/pam_krb5.so
account sufficient /lib/security/$ISA/pam_winbind.so

password requisite /lib/security/$ISA/pam_cracklib.so retry=3
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password sufficient /lib/security/$ISA/pam_krb5.so use_authtok
password sufficient /lib/security/$ISA/pam_winbind.so use_authtok

session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
session optional /lib/security/$ISA/pam_mkhomedir.so skel=etc/skel/ umask=0077
session optional /lib/security/$ISA/pam_krb5.so


Главные грабли: Соблюдайте регистр букв (особенно в файле krb5.conf), керберос особенно чувствителен к этому. Долгое время тупил, почему же при прописанных реалмах я не получаю долгожданного билетика автоматом, при том что в system-auth необходимые модуля pam прописаны. Оказалось все проще чем я думал. При входе доменного пользователя с того момента когда ввел машину в домен использовал систему входа: mydomain\username. При таком подходе сервер керберос конечно и не знал кто такой этот mydomain\username. Соответсвенно включив в итоге мозг, дотумкал что нефиг так делать. Зашел просто под username и получил счастье. Вот таким образом я и решил поставленную задачу.
Re: Настройка аутенификации 10.07.2007 17:38BigAndy >Главные грабли: Соблюдайте регистр букв (
Улыбка
Это вам не виндус, хотя в smb.conf естьпараметр, который принимает все литералы за верхний регистр)
Re: Настройка аутенификации 23.11.2007 13:54alexander_nur Благодаря этой теме я смог подключить linux-машину к домену. Работает также и самба, вход на которую происходит через аутентификацию AD.
Но каждому пользователю AD приходится вводить домен\user и пароль.
Нельзя ли сделать так, чтобы юзер мог войдя в домен (т.е. уже введя однажды пароль) и обращаясь к самбе - не вводил пароля?
Re: Настройка аутенификации 23.11.2007 18:03smaharbA можно, делай... тема кстати нераскрыта савсем...
и еще, для логона в домене и получения доступа к шарам без ввода пароля, устанавливать самбу савсем необязательно (вечное путание у никсоидов причин и следствий)
Re: Настройка аутенификации 25.11.2007 12:10alexander_nur Был какой-то глюконат на клиентской машине win_xp. После ее перезагрузки и входа в домен больше не спрашивается имя и пароль для доступа к самбе.
Сейчас разбираюсь с другим. Не могу пока разобраться с "Все пользователи домена".

valid users = @Domain Users #не канает.

Несмотря на то, что после подключения к домену в линуксе появляется эта группа, которой принадлежат файлы, создаваемые юзерами, которые вошли на самбу через аутентификацию домена. Проблема в том, что хотя на расшаренном ресурсе и стоит в аттрибутах "запись для группы", один юзер не может удалить папки/файлы созданные другим юзером, который тоже в свою очередь входит в группу @domain users.
Это на сегодня единственная трудность, т.к. остальное (со старого конфига самбы) работает как надо. С локальным правами все ок все папки и файлы имеют аттрибуты 777.

А касаемо того, что устанавливать самбу совсем не обязательно. Конечно не обязательно, но есть линукс с уже установленной самбой, на слабом железе, на которой было security = user
RSS-материал