Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)  (Прочитано 183981 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xmig

  • Любитель
  • *
  • Сообщений: 98
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #165 : 29 Ноября 2007, 13:48:32 »
Цитировать
И где я использую локальные учётные записи?
да вот здесь же и используешь
volume  * cifs master DiskM /home/&/net/M: uid=&,gid=&,dir_mode=0751,iocharset=utf8 - -
...
...
Дело в том, что в этом конфиге & - это автоматически подставляемое имя пользователя. А у тебя, как мы видим "uid=&,gid=&" , т.е. имя пользователя и имя группы одинаково, это характерно для локальных пользователей linux.
Поэтому должно быть gid='domain users', и также нужно указать домен, которому принадлежит учетная запись пользователя.
Строку монтирования я уже приводил выше, в твоем случае это будет выглядеть как:
volume * cifs master DiskM /home/&/net/M: uid=&,gid='domain users',dir_mode=0751,domain=MYDOMAIN,iocharset=utf8,codepage=866 - -только имя MYDOMAIN смени на имя твоего домена. И всё равно я бы двоеточие в имени шары не ставил...
« Последнее редактирование: 29 Ноября 2007, 13:50:41 от xmig »

Оффлайн vitich

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #166 : 29 Ноября 2007, 14:25:17 »
Спасибо, попробую и отпишусь

Оффлайн vitich

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #167 : 29 Ноября 2007, 16:42:38 »
Ура. Заработало. Всё супер )
Правда есть подозрение что какой-то из сервисов типа nfsd при загрузке около минуты дуплит ну и перезапуск winbind и gdm тоже не есть красиво, но уже реально есть предпосылки :)


Оффлайн KOC94EK

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #168 : 30 Ноября 2007, 12:54:48 »
сейчас пробовал так:

ivanov@MA69:~$ sudo -i
root@MA69:~# kdestroy
kdestroy: No credentials cache found while destroying cache  //я так понимаю лишних билетов не было
root@MA69:~# kinit ivanov@ELLIPS.BIZ
Password for ivanov@ELLIPS.BIZ:
root@MA69:~# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: ivanov@ELLIPS.BIZ

Valid starting     Expires            Service principal
11/30/07 10:20:02  11/30/07 20:20:17  krbtgt/ELLIPS.BIZ@ELLIPS.BIZ
        renew until 12/01/07 10:20:02


Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached
root@MA69:~# net ads join
Password:
[2007/11/30 10:21:03, 0] libsmb/cliconnect.c:cli_session_setup_spnego(857)
  Kinit failed: Client not found in Kerberos database
Failed to join domain: Improperly formed account name
root@MA69:~# kdestroy
root@MA69:~# gedit /etc/samba/smb.conf

//поменял client use spnego = no

root@MA69:~# kdestroy  //на всякий случай
kdestroy: No credentials cache found while destroying cache
root@MA69:~# kinit ivanov@ELLIPS.BIZ
Password for ivanov@ELLIPS.BIZ:
root@MA69:~# net ads join
Password:
Failed to join domain: Logon failure
root@MA69:~# net ads join -U ivanov
ivanov's password:
Failed to join domain: Logon failure

пробовал из под винды заходить под этим логином, всё ок.

Оффлайн xan

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #169 : 06 Декабря 2007, 02:10:58 »

#!/bin/bash
/etc/init.d/winbind restart

4. Перезагрузить компьютер.

Теперь все работает как надо!  :)

я тебя порадую ! ты перетрудился. достаточно рестартовать winbind последним скриптом. Потуги выше этого пункта проблему не решают.
Судя по всему винбинд подымается раньше сетки и тогда логин происходит только через 5 минут.
« Последнее редактирование: 06 Декабря 2007, 02:15:16 от xan »

Оффлайн xmig

  • Любитель
  • *
  • Сообщений: 98
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #170 : 06 Декабря 2007, 09:55:38 »
2 xan
Цитировать
я тебя порадую ! ты перетрудился. достаточно рестартовать winbind последним скриптом. Потуги выше этого пункта проблему не решают.
Не перетрудился, а перестраховался!  :)  Пунк 1 действительно можно не делать, собственно это я и говорил. А вот выполнить пункт2 стоит, т.е. подправить nsswitch.conf, иначе возможны проблемы с разрешением имен в локалке, это проверенно неоднократно.

Оффлайн Nevell

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #171 : 07 Декабря 2007, 17:01:31 »
Так может уже пора обновить/актуализировать информацию в первом посте и PDF с учетом правок, советов и т.д.? :angel: И тему можно почистить тогда и народ меньше задавать вопросов будет...

Оффлайн xmig

  • Любитель
  • *
  • Сообщений: 98
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #172 : 08 Декабря 2007, 14:26:00 »
2 Nevell
Да я только за! Собственно новое руководство со всеми исправлениями уже готово, немного подправлю его и можно выкладывать.

Оффлайн OH

  • Участник
  • *
  • Сообщений: 137
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #173 : 10 Декабря 2007, 14:33:50 »
2 Nevell
Да я только за! Собственно новое руководство со всеми исправлениями уже готово, немного подправлю его и можно выкладывать.

Даешь новое хауту в ближайшую пятилетку!!! Исправленное и дополненное!!! :)

Оффлайн xan

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #174 : 10 Декабря 2007, 16:32:39 »
Настройка рабочей станции на основе Ubuntu 7.10 для домена Windows от Исаева Романа А.

Прошу при перепечатке данного руководства указывать мое авторство.

Цели:
1.   Обеспечить авторизацию пользователя в домене Active Directory
2.   Обеспечить прозрачную и сквозную авторизацию на ресурсах сети
3.   Закрыть для пользователя использование внешних носителей таких как Flash, CD, Floppy.
4.   Обеспечить хранение пользовательских данных на сервере.
Для тех кому 4 пункт бесполезен я сделал пометки.
для тех кого задалбливает набирать перед каждой командой sudo
сделайте sudo -i и все следующие команды до закрытия терминала будут от рута идти.
Все команды в этом руководстве требуют прав root так, что я обычно пользуюсь sudo -i
Все конфигурационные составлены мной и используются в действующей сети.
Для получения большей информации смотрите оригинальные файлы конфигурации.
DOMAIN ваш домен. dc это сокращение от domain controller
редактируйте чем хотите. Я это делаею либо через mcedit либо через vim

1.   Редактируем часовой пояс gksudo gedit /etc/default/rcS
cтавим UTC=no

2.   Настраиваем сеть.
Проверяем наличие пинга до домен-контроллера(DC) по полному доменному имени (FQDN), еcли проблемы - настраиваем /etc/resolv.conf, в моём cлучае - при получении IP через DHCP, проблем не было.
   # ping dc.domain.ru

mcedit /etc/default/ntpdate
      NTPSERVERS="dc.domain.ru"            <--- меняем эту cтроку указывая домен контроллер

в домене с несколькими домен контроллерами главным сервером времени является эмулятор PDC. остальные dc берут время у него.

даем команду на синхронизацию
/etc/network/if-up.d/ntpdate

Пропиcываем полное FQDN для настраиваемой машины workstation
   
# mcedit /etc/hosts
      127.0.0.1   workstation.domain.ru localhost workstation

   проверка   

   # ping  workstation.domain.ru

3.   Начнем ставить пакеты для работы в домене:

sudo apt-get install samba smbfs winbind libpam-mount

smbfs нужен для монтирование сетевых папок. Он делает два файла в /sbin/(u)mount.cifs
Дополнительно кому нужен ssh доступ к рабочей станции и наличие редакторов, файл менеджеров:
sudo apt-get install mc gnome-commander openssh-server
А теперь конфигурируем SAMBA для работы в домене
создадим папку для пользователей домена mkdir /home/DOMAIN

Правим конфиг
# mcedit /etc/samba/smb.conf
[global]
unix charset = UTF-8
dos charset = CP866
display charset = UTF-8
workgroup = DOMAIN
server string = %h server (Samba, Ubuntu)
; У кого есть wins можете включить   wins support = no
; и прописать wins сервер
; wins server = 192.168…

   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
# вот тут мы показываем, что используем AD
   security = ads

# если стоит * то samba сама будет искать домен контроллер через dc, или же можно перечислить их IP адреса через пробел в явном виде. Или указать один #IP для того dc на котором хотите авторизоваться. Для отказоустойчивости лучше указать несколько dc или *
   password server = *

 
   realm = DOMAIN.RU  #Внимание realm пишется большими буквами !!!
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   invalid users = root
   passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword                                                                              :* %n\n *passwd:*password\supdated\ssuccessfully* .


   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
   idmap uid = 10000-20000
   idmap gid = 10000-20000
   template shell = /bin/bash
   winbind enum groups = yes
   winbind enum users = yes
#домашняя папку у пользователя будет в папке с именем домена. Лучше ее создать заранее вручную.
   template homedir = /home/%D/%U
   client use spnego = yes
   winbind use default domain = yes
   winbind refresh tickets = yes
   restrict anonymous = 2
# строки ниже, чтобы рабочая станция не пыталась стать обозревателем в сети.
domain master = no
local master = no
preferred master = no
os level = 0

Проверяем конфигурацию SAMBA командой testparm

4.   Даем команду чтобы демоны перечитали конфигурацию:
/etc/init.d/winbind stop && /etc/init.d/samba restart && /etc/init.d/winbind start

5.   Подключаем машину в домен
net ads join –U administrator
Далее будет запрос пароля доменного админа. Вместо доменного админа можно указать любую пользовательскую учетку. Да, у пользователя есть право ввести  ПК в домен, но ограниченное  кол-вот раз .

В случае успеха видим:
Using short domain name – DOMAIN
Joined  ‘namepc'  to realm ‘DOMAIN.RU'

Если такая машина уже существует увидим
Failed to set password for machine account (NT_STATUS_ACCESS_DENIED)
Failed to join domain !
Если будет такая ошибка содержащая что то про principal name, а в AD появится учетка, но со знаком красного крестика значит смотри и проверяй /etc/hosts
При рассинхронизации времени с DC возможно появление ошибки из-за несовпдаения времени на DC и на workstation
Перегрузитесь для синхронизации времени с DC и повторно попытайтесь ввести в домен Ubuntu 7.10

ВСЕ ! ПК в домене.



Дальше настраиваем PAM . PAM это подключаемые модули авторизации.
        То есть любое приложение которое принимает пароль дальше передает его системе PAM на проверку, а та выдает только ответ пустить или нет. Привожу рабочий текст.
1.   Текст /etc/pam.d/common-auth

# /etc/pam.d/common-auth - authentication settings common to all services
auth    required        pam_mount.so
auth    optional        pam_group.so
auth    sufficient      pam_unix.so nullok_secure  use_first_pass
auth    sufficient      pam_winbind.so use_first_pass krb5_auth krb5_ccache_type=FILE debug
auth    required        pam_deny.so

Опция debug нужна для отладки. Сыплет лишними данными в /var/log/auth.log
Полезно при проблемах, а так можно ее не ставить.
Первая строка  "auth    required        pam_mount.so" принимает пароль.
Опция required указывает на обязательность этого модуля.
Если он будет провален по каким то причинам PAM даст ответ "не пускать"
Дальше идет модуль pam_group.so  то что он optional указывает на неважность выполнения этого модуля для общего ответа. То есть будет ли выполнен pam_group корректно или нет - неважно.
Дальше идут модули авторизации для локальных учеток pam_unix.so  и  для доменных pam_winbind.so

В моем конфиге пароль принимет pam_mount поэтому в модулях, которые принимают пароль указана опция use_first_pass,  если ее не указать, то пароль придется вводить вручную несколько раз. Опция sufficient работает так, что положительный ответ любого из модулей авторизует пользователя, а отрицательный ответ одного из них не играет роли. Зато отрицательный ответ обоих будет обломом.
Например входит локальный пользователь модуль unix даст ответ ДА, winbind не найдет в домене такой учетки и даст ответ НЕТ (или найдет учетку, но пароли не совпадут). Здесь надо предупредить, что неверные попытки авторизоваться по существующей учетке в домене приведут к ее блокировке. Мое мнениие, что стоит избегать совпадения имен учеток на самом ПК и в домене.

Последний модуль обязателен и в ЛЮБОМ случае отказывает во входе. Если дело дошло до него значит все плохо и никто из модулей не сказал ДА.

Pam_group нужен для вытягивания из домена групп в которые он входит.
Так  же  в моей конфигурации winbind авторизуется по Kerberos посему никакие kerberos пакеты мы не ставили. Билет пользователь получает при входе автоматически и билет кербероса кешируется в файлике.



2.   /etc/pam.d/common-account
account sufficient        pam_winbind.so
account required        pam_unix.so

3.   /etc/pam.d/common-password
password   sufficient   pam_unix.so nullok obscure md5
password sufficient pam_winbind.so

файл common-password начинает работать когда приходит время менять пароль (принудительная смена пароля по истечению срока) или когда запускается утилита для смены пароля passwd, например.


4.   /etc/pam.d/common-session
session required        pam_winbind.so
session required        pam_unix.so
#session required        pam_mkhomedir.so umask=0022 skel=/etc/skel
session optional        pam_foreground.so

ВНИМАНИЕ ! здесь я закомментировал модуль для создания домашнего каталога пользователя по той причине, что домашняя папка может создана быть на сетевом ресурсе (у меня это так), а pam_mount еще не выполнен.
Если у вас локально лежат профиля пользователей. На том же ПК где и логин раскомментируйте строку.

5.   etc/pam.d/sudo   #Надо чтобы работало нормально gksu
#%PAM-1.0
auth    sufficient      pam_winbind.so
auth    sufficient      pam_unix.so use_first_pass
auth    required        pam_deny.so
@include common-account

Файл sudo работает при запуске утилиты sudo или при попытке запустить любое из административных приложений в GNOME (KDE не испытывал).
Обеспечивает нормальную работу Synaptic и прочих подобных приложений выдающих табличку на пароль для административных действий.

6.   /etc/pam.d/gdm
#%PAM-1.0
auth    requisite       pam_nologin.so
auth    required        pam_env.so

@include common-auth
@include common-account
session required        pam_limits.so
@include common-session
#session required       pam_mount.so use_first_pass
@include common-pammount

#строка нужна для создания
#домашней папки после монтирования шары !!! создать папку в сетевой шаре до монтирования #не выйдет будет ошибка.
session required        pam_mkhomedir.so umask=0022 skel=/etc/skel
@include common-password


А вот файл указующий в каком порядке вызывать авторизационные скрипты и авторизовывать пользователя входящего через графический GDM интрефейс. Как видите тут строка создания домашней папки идет после common-pammount то есть после монтирования сетевого ресурса с файл сервера w2k3
Тем у кого профиль лежит на рабочей станции эта строку рекомендуется поместить в
/etc/pam.d/common-session
Строки для keyring я убрал ибо не пользуюсь им.

7. А теперь вернемся к модулю перечисления групп pam_group из файла etc/pam.d/common-auth
У нас есть возможность включить доменного пользователя в те или иные ЛОКАЛЬНЫЕ группы ubuntu станции. Таким образом мы можем управлять правами пользователя домена на локальные ресурсы. Подключение флешек, аудио устройства, сканеры и т.д.
И у модуля есть файл конфигурации. Я привожу его в сокращенном виде. Рекомендую поглядеть оригинал там много образцов и показаны интересные вещи.
mcedit /etc/security/group.conf

# the syntax of the lines is as follows:
#
#       services;ttys;users;times;groups
#для пользователей.
*;*;*;Wk0900-2200;adm,audio,scanner,lpadmin

#для админов.
*;*;usysop;Al0000-2400;adm,audio,scanner,cdrom,floppy,plugdev,admin,dip,video,netdev,lpadmin,powerdev
*;*;admin-domena;Al0000-2400;adm,audio,scanner,cdrom,floppy,plugdev,admin,dip,video,netdev,lpadmin,powerdev

Первый параметр сервис, для нас это любой будет, второй терминал (консоль или терминал),
Третий это имя пользователя домена!, четвертый это разрешенное время входа для этого пользователя. Пятый параметр это локальные группы. Членство в группе  admin дает право на sudo
В данном случае пользователи имеют право ставить принтера, и пользоваться локальными ресурсами ПК на полную катушку.
У меня есть подозрение, что из-за того что модуль pam_group грузится с опцией optional ограничение по времени работать не станет, тогда для ограничения входа по времени модулую скорее всего нужно будет поставить вместо optional  required в common-auth

8.   Добавить в файл след строку, если нужно монтировать сетевые ресурсы /etc/security/pam_mount.conf
## СТрока монтирования сетевой папки USERS с win2k3 сервера win2003
volume * cifs win2003 users /home/DOMAIN id=&,iocharset=utf8,codepage=cp866,dmask=0700,fmask=0700 - -

Эта строка нужна тем кто хранит профиль пользователя на сервере или может служить примером монтирования сетевых ресурсов.
те кто хранит файл профили локально могут пункт 8 опустить. В этом файле есть опция debug она помогает выяснить проблемы с монтированием папок.
информация сыпется в /var/log/auth.log

9.   Файл очень важен /etc/nsswitch.conf
passwd:         compat winbind
group:          compat winbind
shadow:         compat
hosts:          files dns
networks:       files dns
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       files winbind

10.    К сожалению в 7.10 появилась неприятная  вещь. Вход в домен  работает только через пять минут после появления графического приглашения.
Скорее всего это связано с тем, что winbind стартует до поднятия сетевого интерфейса и не может получить полноценную информацию о домене. Симптомы: Рабочая станция либо просто тупо не пускает хотя имя и пароль верные или еще при этом пишет что то типа NO_LOGON_SERVERS

Лекарство - создаем скрипт перестартующий winbind после поднятия сети.
Делаем файл
/etc/network/if-up.d/winbr
#!/bin/sh
/etc/init.d/winbind restart

И присваиваем ему права запуска.
chmod  +x /etc/network/if-up.d/winbr

11.   Удаление ненужных пакетов. Эти сервисы глючат при сетевом монтировании домашней папки,  оставляя к  моменту размонтирования открытыми файлы из-за чего размонтирование либо не проходит либо некорректно  проходит.
sudo apt-get -y remove compiz-core tracker
после удаления Кампиза пропадает заголовок у окон. Лечится запуском
"Система – параметры Внешний Вид"  и попыткой перестановки  на вкладке Визуальные эффекты  на
Обычные эффекты. После чего система выдаст сообщение об ошибке и восстановит нормальный вид окон.

12.   Проблемы с административными права на рабочих станциях у доменных учеток.
Несмотря на то что по команде id видно что доменная учетка состоит в группе admin
Команда sudo проходит с ошибкой
Проблема появилась только в 7.10
Лечится редактированием /etc/sudoers
Туда надо добавить либо пользователя домена либо группу домена
Например так

# User privilege specification
root    ALL=(ALL) ALL
domain-user ALL=(ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
%support ALL=(ALL) ALL

Здесь support и domain-user доменная группа и пользователь.

sudoers редактируется через visudo

настройка окончена ! У меня все это чудо упаковано в файл и развертывание получается быстрым. Однако сначала я специально ставил все машины вручную, чтобы лучше понять взаимодействие и саму ubuntu. Надеюсь мое руководство  сэкономит вам время и силы. Добавления и исправления приветствуются.

для проверки работы winbind есть утилита wbinfo
ПРимеры ключей для проверки работы winbind с доменом
# wbinfo -u
# wbinfo -g
#wbinfo -t

Кто желает может использовать для получения билетов Кербероса пакеты krb5-user libpam-krb5 см. первую страницу. Я лично отказался от них в пользцу простоты.

При обновлении Ubuntu могут сыпаться ошибки вроде того что "не могу обновить fonts кеш" это следствие неверной установки времени. Гррафическая установка ubuntu сдвигает время при установке системы и время создания файлов получается будущее, потому утилита обновления и ругается. исправляется временным переводом часов вперед.

Удачи Вам! Исаев Р.А.
Копия руководства.
http://rapidshare.com/files/75596453/Ubuntu710andAD.pdf

Благодарности выражаю MBear, и другим участникам помогавшим мне в этом трудном деле   ;)
« Последнее редактирование: 19 Марта 2008, 02:42:24 от xan »

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #175 : 10 Декабря 2007, 23:25:55 »
А можно было к посту прикрепить?
Кто сумел этот хостинг имбецильный забороть - пожалуйста, выложите pdf!

Оффлайн naked.and.dead

  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #176 : 11 Декабря 2007, 02:20:48 »
xan,
огроменное тебе спасибо, особенно вот за это:
Цитировать
5.   etc/pam.d/sudo   #Надо чтобы работало нормально gksu
#%PAM-1.0
auth    sufficient      pam_winbind.so
auth    sufficient      pam_unix.so use_first_pass
auth    required        pam_deny.so
@include common-account

Возникли несколько вопросов:
1. Насколько необходмимо наличие следующих строчек в smb.conf? У меня с ними на шары не пускает, постоянно пароль запрашивает :-\
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword                                                                              :* %n\n *passwd:*password\supdated\ssuccessfully* .
2.
Цитировать
Да, у пользователя есть право ввести  ПК в домен, но ограниченное  кол-вот раз .
наверно это всё-таки зависит от политик домена? ;)
3. Зачем в group.conf две строчки для админов, если можно админов в одной строке упомянуть через запятую? И не повлияет ли порядок строк в group.conf на начисление прав? Я так понимаю, что правила на соответствие юзера указанным параметрам проверяются в порядке очерёдности и если подходит под первое правило, то остальные уже не проверяются.

Оффлайн chain

  • Старожил
  • *
  • Сообщений: 1263
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #177 : 11 Декабря 2007, 17:31:25 »
хорошо, подробно написал)
со старт скриптом для winbind можно не заморачиваться, если прописать возможность офлайн логона, кстати, вещь полезная не только для этого случая:
1) в smb.conf добавить строку: "winbind offline logon = yes"
2) в модуле авторизации common-auth добавить в строку с pam-winbind - "cached-login", чтобы выглядела таким образом:
auth required pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login use_first_pass
если сделать таким образом, то после ввода в домен и прописывания пам-модулей, достаточно перелогониться под доменным юзером, после этого система будет впускать всегда, а виндбинд сам медленно, но верно подниматься. На всякий случай, я всетаки меняю порядок запуска самбы и винбинда после авахи-демона, но имхо это мало помогает.

судо я прописываю только для админов
%Domain\ Admins ALL=(ALL) ALL
если надо для юзеров, можно добавить
%Domain\ Users ALL=(ALL) ALL

сервер времени добавляю не в /etc/default/ntpdate , а в /etc/ntp.conf добавляя строку "server PDC" , где PDC - домен-контроллер, ошибок при обновлении не появляется, возможно объяснение кроется в первых строчках /etc/default/ntpdate :
"# The settings in this file are used by the program ntpdate-debian, but not
# by the upstream program ntpdate."

еще один совет, если IP получают через DHCP, машина с Ubuntu  в виндовом сервере ДНС не прописывается, правится ситуация просто, надо в /etc/dhcp3/dhclient.conf добавить три строки:
send fqdn.fqdn "workstation.domain.ru.";
send fqdn.encoded off;
send fqdn.server-update off;

"workstation.domain.ru" это для твоего примера, обязательное полное fqdn имя машины.

а в остальном, этот конфиг практически идентичен моему. правда не пользуюсь сетевыми папками для юзеров, а общие шары с которыми они привыкли работать в винде, монтирую в /media/"имя_сервера"/"имя_шары" в /etc/security/pam_mount.conf, тогда шары появляются как диски, к чему пользователи привыкли в винде, а если шару назвать Disk_F , к примеру, то будет им полное счастье.

А, еще вот что, папку с именем домена можно не создавать руками, она прекрасно создается системой при входе.

PS и в оффтопку: кто-нидь заморачивался с pdfedit ( http://pdfedit.petricek.net/pdfedit.index_e ) и его проблемами с русским? если у кого-нидь есть решение, намекните, пжалста.
« Последнее редактирование: 25 Декабря 2007, 18:09:10 от chain »
-вечный чайник-

Оффлайн xan

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #178 : 11 Декабря 2007, 21:54:25 »
xan,
Возникли несколько вопросов:
1. Насколько необходмимо наличие следующих строчек в smb.conf? У меня с ними на шары не пускает, постоянно пароль запрашивает :-\
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword                                                                              :* %n\n *passwd:*password\supdated\ssuccessfully* .
2.
Цитировать
Да, у пользователя есть право ввести  ПК в домен, но ограниченное  кол-вот раз .
наверно это всё-таки зависит от политик домена? ;)
3. Зачем в group.conf две строчки для админов, если можно админов в одной строке упомянуть через запятую? И не повлияет ли порядок строк в group.conf на начисление прав? Я так понимаю, что правила на соответствие юзера указанным параметрам проверяются в порядке очерёдности и если подходит под первое правило, то остальные уже не проверяются.
1. Сетевыми шарами на рабочих станциях я не пользуюсь. Необходимости в этих строках не вижу. Разве, что на одной из станций расшарен принтер. Но там есть проблемы с остановкой принтера после первого задания печати https://forum.ubuntu.ru/index.php?topic=15296.0
 Их появления могу пояснить тем, что я модифицировал оригинальный конфиг - строки остались от него.
2.Дело не в политиках. Это прописывается в схеме.
и второй момент права на раздел Computers в AD
если ты поглядишь туда то увидишь, что обычные пользователи имеют право записи туда.
первый момент решается так.
"Обычный пользователь по умолчанию может ввести в домен 10 ПК.
Для того чтобы увеличить это значение надо !
запустить MMC подключить в ней ADSI Edit
открыть в ADSI контекст домена. Вывалится список объектов домена.
Затем открыть свойства домена. В нем будет список атрибутов
найти в нем атрибут ms-DS-MachineAccountQuota (значение 10)"

Второй момент - группа everyone имеет право CreateComputer Object в этом разделе.
Этого достаточно.

3. Два потому, что второй это техподдержка (или локальная учетка). раздельно потому, что изначально я им давал разные права.
я точно не могу сказать алгоритм проверки. А смысл проверять второе правило если все описывается одним и так ? или же наоборот действует последнее подошедшее правило.
Установить это можно эксперементально и довольно таки просто - пишем несколько строк и затем после логина проверям по id, что вышло. Результат запостить сюда  :)

2gunpowder
Мучился я с оффлайн логоном. У меня же монтаж папки идет с сервера.
А оффлайн логон ничем не поможет если билет кербероса для сервера неверен.

Очень НЕ рекомендую пользоваться offline logon - я им пользовался ДО написание скрипта рестарта winbind. Все равно иногда ошибка возникала.
Плюс еще читал, что эта опция может создать иллюзию нормального логона.
Ведь в реале. Билет кербероса получает 1. Учетка ПК 2. Учетка пользователя.
При оффлайн логоне билет учетка ПК как я понимаю не получает или пользует старый. К чему это приведет хз.

Проблем с сервером времени в /etc/default/ntpdate у меня не было . Видимо ранее были проблемы, я начал вводить в домен с 7.04 тока.
А вот у меня линуксовый DHCP  и DNS и все равно не прописываются толком.
Коллега пытался делать связку, чтобы DHCP при раздаче адресов прописывал клиентов в DNS. Сделал он вроде, но все равно глюки идут. Типа надо освобождать руками занятое имя или как то так. Вообщем недоделал он.
Попробую прописать как у тебя.

Папка пользователя автоматом создается ? у меня не создается, для это нужен модуль pam_mkhomedir.so

« Последнее редактирование: 12 Декабря 2007, 00:53:49 от xan »

Оффлайн chain

  • Старожил
  • *
  • Сообщений: 1263
    • Просмотр профиля
Re: HOWTO: Active Directory Member Server|Workstation (Ubuntu Based)
« Ответ #179 : 12 Декабря 2007, 07:41:38 »

8.   Добавить в файл след строку, если нужно монтировать сетевые ресурсы /etc/security/pam_mount.conf
## СТрока монтирования сетевой папки USERS с win2k3 сервера win2003
volume * cifs win2003 users /home/DOMAIN id=&,iocharset=utf8,codepage=cp866,dmask=0700,fmask=0700 - -


Папка создается вот этой строчкой, хотя создать руками тоже не ломает) Кстати, ошибки размонтирования были пока добавлял шары через fstab, после того, как стал использовать pam-mount ошибки пропали, но подстраховаться, наверное не мешает.

2) Еще раз, для прописывания DHCP, надо настраивать не сервер, а  машину, которую в домен ввводим, в /etc/dhcp3/dhclient
3) по офлайн логону спорить не буду, просто в винде используются таже схема, если недоступен домен, то доступ к профилю пользователя возможен. актуально при работе с ноута.
С другой стороны так можно winbind рестартовать, просто отключая-включая сеть через network monitor.
Да, еще, не знаю как у тебя, у меня пропадает его иконка, после ввода в домен, неверно отрабатывают политики в dbus, чтобы исправить надо в /etc/dbus-1/system.d/NetworkManager.conf и /etc/network/if-up.d/nm-applet.conf в строке <policy at_console="true"> изменить значения на <policy group="netdev"> , ну или на другую группу, в которую у тебя доменный юзер включается.

Но, по любому, ты написал самый полный и работоспособный мануал для 7.10 на текущий момент, у меня вот руки не дошли)
« Последнее редактирование: 12 Декабря 2007, 14:01:54 от chain »
-вечный чайник-

 

Страница сгенерирована за 0.046 секунд. Запросов: 25.