Автор Тема: Настройка Runtu Office для работы в домене (со старого форума)  (Прочитано 20908 раз)

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

Оффлайн aen

  • Новичок
  • **
  • Автор темы
  • Сообщений: 22
Нашел в закромах :) Автор, откликнись, чтобы я поставил правильные копирайты! ;)
Думаю, что будет актуально.
Пока вставил в виде "как есть". Попозже наведу красивости.

Прежде всего прошу простить за задержку, но так сложились обстоятельства! Тем неменее обещания я свои привык выполнять, а потому предлагаю свое решение поднятой в этой теме проблемы. Если где-то ошибся или оговорился, то уверен что уважаемые Гуру меня поправят.



1.   Условия задачи.

Дано:
 
Компьютерная сеть использующая службу Active Directory (AD).

Основной суффикс DNS:  company.local

Первый контроллер AD на Windows Server 2003: 
NetBIOS имя – PDC
DNS имя – pdc.company.local
IP – 192.168.0.1

Второй контроллер AD на Windows Server 2003:
NetBIOS имя – SDC
DNS имя – sdc.company.local
IP – 192.168.0.2

Прокси сервер Microsoft ISA Server 2006 SP1 на Windows Server 2003:
NetBIOS имя – Proxy
DNS имя – proxy.company.local
IP – 192.168.0.11

Файловый сервер на Windows Server 2003 R2:
NetBIOS имя – FS
DNS имя – fs.company.local
IP – 192.168.0.3
Общие ресурсы – USERS,  PHOTO#,  SOFT$

Файловый сервер на Windows Server 2003 R2:
NetBIOS имя – MFS
DNS имя – mfs.company.local
IP – 192.168.0.5
Общие ресурсы – OPEN

Рабочая станция Windows XP c подключенным общим принтером HP LaserJet 4:
NetBIOS имя – COMP1
DNS имя – comp1.company.local
IP – 192.168.0.201
Имя принтера – HPLaserJ

Рабочая станция Runtu Office Pro:
Имя – runtu-office
IP – не выдан (или взят с DHCP)
Локальный пользователь с правами на SUDO - temp

Администратор домена: vashadmin c полным DNS именем vashadmin@company.local

Задачи:
1)   Сделать runtu-office полноценным членом Аctive Directory с привычной для конечных пользователей домена формой аутентификации при входе в систему, после чего никаких дополнительных действий для получения доступа к ресурсам сети со стороны пользователя уже не потребуется.
2)   Обеспечить взаимодействие интернет приложений с прокси сервером Microsoft ISA
3)   Подключить принтер HP LaserJet 4
4)   Обеспечить монтирование общих ресурсов файлового сервера для определенного пользователя домена.



2.   Подготовка системы.

Заходим в систему под пользователем temp.

Первое с чего мы должны начать это настроить сетевой интерфейс. У себя в организации я не доверяю выделение IP адресов постоянным рабочим станциям сети службе DHCP, а указываю их в явном виде, поэтому наша runtu-office должна получить постоянный IP. Давим: Меню > Системные > Сеть , и снимаем блокировку оснастки. Там выбираем тип используемого нами подключения к сети, и меняем его свойства, указывая статический IP, например 192.168.0.34.

Теперь нам нужно на используемом в организации прокси временно дать полный доступ в интернет по протоколам HTTP и FTP для станции с IP  192.168.0.34. Как это сделать объяснять не буду.
 
Далее давим: Меню > Системные > Менеджер пакетов Synaptic , и вводим пароль снятия блокировки с программы. В программе выбираем последовательно Настройки > Прараметры > Сеть и указываем параметры прокси для протоколов HTTP и FTP (авторизация пользователем AD не проглатывается).  Затем жмем OK и кнопку Обновить и дожидаемся пока пройдет сбор сведений из интернет-репозиториев о последних имеющихся версиях ПО (у мення после обновления программа отчитывается о недоступности трех репозиториев). Совершенствуем нашу систему и помечаем для установки следующие пакеты : swat (параллельно устанавливается openbsd-inetd и обновляются samba, samba-common, winbind), smbfs, smbclient, gdm (параллельно устанавливается libdmxl), foomatic-db-engine (параллельно устанавливается foomatic-filters). Помечаем на полное удаление пакеты: likewise-open и slim. Давим кнопку применить и ждем загрузки выбранных пакетов из интернета и их установки. В процессе установки менеджера GDM в окне “Подробности” надо будет указать что по умолчанию будет использоваться GDM.

После окончания установки пакетов нам нужно оживить пользователя root поскольку дальше мы будем править файлы конфигурации а это можно сделать только с правами суперпользователя. Можно конечно воспользоваться для этого пользователем temp с использованием Midnight Commander , дав в терминале команду sudo mc или открыть PCMan c правами суперпользователя, но в любом случае root нам понадобится для работы с SWAT (Samba Web Administration Tool) , поэтому давим Меню > Системные > Пользователи и Группы, снимаем блокировку с оснастки, открываем свойства пользователя root, устанавливаем для него пароль и на второй закладке проставляем галочки по всем пунктам, сохраняем и закрываем. Далее давим: Меню > Параметры > Окно входа в систему, и на закладке “Локальный вход” выбираем стиль “Простой”, а на закладке “Безопасность” ставим “Разрешить локальный вход администратора системы”. Закрываем, перезагружаемся и теперь наша Runtu Office готова к перестройке.



3.   Подключаемся к Active Directory.
Заходим в систему под суперпользователем root.

1)   Открываем файл /etc/hosts переписываем его так, чтобы он принял вот такой вид:
Код:
192.168.0.1 company company.local pdc.comany.local
192.168.0.2 company company.local sdc.comany.local
192.168.0.34 runtu-office runtu-office.comany.local
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Это мы делаем на всякий случай, в принципе если DNS настроен идеально то это не требуется но для верности укажем явно.

2)   Открываем файл /etc/krb5.conf и добавляем в него следующие строчки:

В [libdefaults]:
Код:
default_realm = COMPANY.LOCAL
ticket_lifetime = 24000
clock_skew = 300

В [realms]:
Код:
COMPANY.LOCAL = {
kdc = pdc.company.local
kdc = sdc.company.local
admin_server = pdc.company.local
default_domain = company.local
}

В [domain_realm]:
Код:
.company.local = COMPANY.LOCAL
company.local = COMPANY.LOCAL

Этот файл содержит конфигурацию настроек для Kerberos. На основании приведенных здесь данных наша Runtu Office будет в дальнейшем получать билетики на доступ к ресурсам AD.


3)   В принципе этих настроек вполне достаточно чтобы получить билетик от Kerberos. Для этого нам достаточно выполнить в терминале: kinit vashadmin и указать пароль, но скорее всего вы в ответ получите следующую ошибку:  “Clock skew too great while getting initial credentials”. Для того чтобы сервер AD начал принимать и обрабатывать наши запросы на аутентификацию и регистрацию необходимо синхронизировать время между клиентом и сервером. Простейший способ синхронизировать время с PDC, это выполнить команду в терминале: net time set -S pdc. Однако если после перезагрузки время собьется, то чтобы получить билетик надо будет выполнять команду повторно. Наверно лучше сделать так, чтобы рабочая станция производила синхронизацию времени с тем сервером, с которым нужно нам и при каждой загрузке. Для этого выполняем следующие настройки:

В файле  /etc/default/rcS  ставим:  UTC=no
В файле /etc/default/ntpdate ставим: 
NTPDATE_USE_NTP_CONF = no
NTPSERVERS = “pdc.company.local”

Если время синхронизировано корректно, то мы должны на команду kinit vashadmin получить билетик от Kerberos, если произойдет ошибка, значит ищите причину в неправильных настройках предыдущих двух пунктов.


4)   Открываем браузер и забиваем в адресной строке localhost:901, на запрос авторизации вбиваем root и пароль. После успешной авторизации мы попадаем в интерфейс SWAT с помощью которого будем в дальнейшем править параметры протокола SMB для работы с сетями Microsoft. В принципе можно править файл /etc/samba/smb.conf но зачем если есть SWAT. В SWAT переключаемся на закладку “Globals” и давим кнопку “Advanced”.

Вносим следующие изменения :

Код:
workgroup  => COMPANY
realm => COMPANY.LOCAL
security => ADS
auth methods => winbind
os level => 255
log level => 1

прокручиваем настройки в самый низ

Код:
idmap uid => 10000-40000
idmap gid => 10000-40000
template shell => /bin/bash
winbind enum users => yes
winbind enum groups => yes
winbind use default domain =>yes


Остальные настройки оставляем без изменений. Прокручиваем обратно в самый верх и жмем “Commit Changes”, затем переходим на закладку “Status” и давим “Restart All”. Служба winbind запускаться откажется, но это нормально.

5)   Перед выполнением регистрации в Active Directory подправим еще один файл конфигурации /etc/nsswitch.conf. Дописываем к параметрам passwd, group, shadow и netgroup значение winbind. То есть должно выглядеть так:
 
Код:
passwd:         compat winbind
group:          compat winbind
shadow:         compat winbind
……………………
netgroup nis winbind

6)   Выполним регистрацию рабочей станции в Active Directory. Для этого выполним в терминале команду:

net ads join –U vashadmin

вводим пароль администратора домена и получаем уведомление о том, что регистрация прошла успешно. Далее настоятельно рекомендую просто перезагрузиться.


Оффлайн aen

  • Новичок
  • **
  • Автор темы
  • Сообщений: 22
4.   Аутентификация без заморочек.
Теперь чтобы полноценно работать в сети нам достаточно сразу после входа под локальным пользователем выполнить в терминале команду kinit и получить привилегии указанного после нее пользователя. Но это не есть хорошо, и надо сделать так чтоб пользователь пересев с Windows не почувствовал большой разницы, и уж тем более ни в коем случае не услышал слова терминал, поскольку это чревато суицидом. Чтобы заставить менеджер паролей GDM признавать пользователей AD за своих, нужно настроить систему PAM (Pluggable Authentication Modules), поскольку GDM это лишь оболочка, а авторизации производит система подключаемых модулей аутентификации.

1)   Изменяем /etc/pam.d/common-account
Код:
account sufficient pam_winbind.so
account required pam_unix.so

2)   Изменяем /etc/pam.d/common-auth
Код:
# пользователей AD в локальные группы
auth optional pam_group.so 

# Пробуем выполнить аутентификацию в AD и если удачно
# то получаем билетик Kerberos и записываем его в файл
auth sufficient pam_winbind.so krb5_auth krb5_ccache_type=FILE debug

# Если аутентификацию в AD не прошли то пробуем аутентификацию
# в качестве локального пользователя
auth sufficient pam_unix.so nullok_secure use_first_pass

# аутентификация при запуске SWAT
auth optional pam_smbpass.so migrate missingok

# Если все отказали то получаем запрет
auth required pam_deny.so

3)   Изменяем /etc/pam.d/common- password

Добавьте
       password   sufficient  pam_winbind.so
перед
       password   requisite   pam_unix.so nullok obscure md5

4)   Изменяем /etc/pam.d/common- session

Код:
session sufficient pam_mkhomedir.so skel=/etc/skel/ umask=0022
session required pam_unix.so

5)   Изменяем /etc/pam.d/sudo

Код:
auth sufficient pam_winbind.so
auth sufficient pam_unix.so use_first_pass
auth required pam_deny.so
@include common-account

Превые четыре файла, это общие настройки для всех приложений выполняющих аутентификацию. Они включаются с помощью @include в настройки для каждого отдельно взятого приложения таких как GDM, или команда login в терминале. Пятый файл это настройки для команды SUDO, то есть выполнение  задач от имени суперпользователя.  Настоятельно рекомендую ознакомиться с документацией по PAM, в противном случае вы рискуете изменить настройки так, что уже в систему войти будет невозможно.
Теперь нужно настроить параметры для  pam_group.so . Для этого открываем файл /etc/security/group.conf  и добавляем две строчки.

*;*;*;Wk0900-2200; scanner,fuse,sambashare,lpadmin

Эта строчка для пользователей и наделяет их всеми локальными привилегиями кроме SUDO.

*;*;vashadmin;Al0000-2400;scanner,fuse,sambashare,lpadmin,admin

Эта строчка для администраторов и наделяет их всеми привилегиями включая включая SUDO. Если вы хотите дать права на SUDO другим пользователям, то можете их перечислять через запятую после vashadmin.

Все! Завершаем работу root, и заходим в систему под пользователем AD точно так же как и это делалось в Windows. Если пользователь заходит первый раз ему будет создан профиль в /home/COMPANY/  и незаметить этого не получится. Если что-то идет не так, то перепроверьте настройки Samba и PAM.



5.   Как настроить Internet приложения на работу через ISA Server.

Настроить Galeon не сложнее чем Internet Explorer. Давим: Правка => Изменить Настройки => Сеть => Конфигурация прокси. Выбираем – “Ручная настройка сервиса прокси”, затем ставим флажок “Использовать общий прокси для всех протоколов”. Забиваем IP нашего Proxy – 192.168.0.11, сохраняем настройки, и перезапускаем браузер. Все, браузер работает используя учетную запись пользователя AD через фильтр Web Proxy , и при этом значительно быстрее чем через клиент ISA Server.
Однако наверно ни для кого не секрет что не существует клиента для ISA Server под Linux, а это означает, что мы теряем ISA Server в качестве POP3, SMTP и Socks5 прокси. Горевать по этому поводу не будем, а топаем на http://3proxy.ru  и качаем оттуда бесплатные минипрокси для SOCKS, POP3 и SMTP. Запускаем их на машине с ISA Server или на любой другой машине где установлен клиент ISA, и тогда эти маленькие (но обладающие очень гибкими настройками) приложения будут слушать запросы на указанные вами порты, и, используя имеющийся на компьютере выход в интернет, отправлять  все запросы от имени запустившего их пользователя ISA Server. На приведенном сайте есть полная документация по настройкам.
Осталось ответить себе только на один вопрос, а стоит ли дальше использовать ISA Server, ведь имеются очень хорошие, бесплатные, кроссплатформенные прокcи… Я не утверждаю что представленное мною решение единственное, и если вам не нравится мое, то поступайте как считаете нужным, а это лишь один из вариантов.



6.   Печатаем на принтер под управлением Windows XP.

Начнем с того, что PCL драйвер практически на любой существующий или некогда существовавший принтер вы найдете здесь:  http://openprinting.org/printer_list.cgi , но скорее всего, искать вам ничего не придется, поскольку базу данных драйверов Foomatic мы уже установили и они есть в нашей системе.
Прежде всего, нам нужно в AD завести пользователя от имени которого машины с Runtu Office будут печатать на принтеры подключенные к Windows. Заведем пользователя AD printmaker которого будем указывать для прохождения аутентификации.
Подключить принтер можно двумя способами, первый это при помощи консоли Меню -> Параметры -> Печать, а второй это при помощи WEB-интерфейса системы CUPS, попасть в который можно набрав в браузере http://localhost:631/. В любом случае нам нужно устанавливать принтер следующим образом: Windows Printer via SAMBA, затем указать его расположение, указать пользователя от имени которого будет производиться печать, и указать драйвер принтера либо из имеющихся, либо явно указать PPD драйвер. Лично мне больше нравится использование WEB-интерфейса, но в любом случае результат нашей настройки должен выходить на принтер в распечатанном виде.



7.   Монтирование общих ресурсов файлового сервера.

Решений как всегда несколько и самое простое это в PCMan наделать закладок на ресурсы из сетевого окружения, но самый сложный для дальнейшего использования. Во первых такой подход по-прежнему требует монтирования “Сетевого окружения” после каждой новой загрузки, а во-вторых пользователи не в жизни не отыщут сетевой путь чтоб сохранить набранный файл по сети на сервере. Отсюда делаем вывод что ресурсы нужно монтировать, причем так, чтоб все попало в “Мои документы ”, а у пользователя привыкшего работать с сетевыми дисками R,S,Y,Z не возникло проблем с переездом на новую платформу.

Пусть у нашего пользователя следующие учетные данные:
Логин: exuser
Пароль: expass

Пусть у пользователя в Windows подключались следующие сетевые диски:
1)   R – open на MFS (файлообменник)
2)   S – soft$ на FS (скрытый общий ресурс с софтом)
3)   Y – photo# на FS (фотоархив)
4)   Z – exfolder$ на FS (персональный общий ресурс для нашего пользователя)

Попытаемся создать репродукцию только уже в Runtu Office, и начнем мы с того что разрешим пользователям использовать команды MOUNT и UMOUNT (монтирование и демонтаж устройств) от имени суперпользователя без указания пароля для SUDO.
Изменяем с правами суперпользователя файл: /etc/sudoers

Добавьте
       %sambashare ALL=NOPASSWD:/bin/mount,/bin/umount
после
       %admin ALL=(ALL) ALL

Поскольку все пользователи домена, входят в локальную группу sambashare то членам именно этой группы я и решил дать описанные выше полномочия. К сожалению это единственный способ как можно автоматизировать монтирование сетевых устройств, чтобы перечень монтируемых ресурсов зависел не от того на какой машине идет монтирование, а от того какой пользователь произвел регистрацию в системе.
Теперь нам нужен скрипт который бы монтировал нужные ресурсы. Я написал приведенный ниже и обозвал его .smbmt  скрыв от глаз в рабочем каталоге пользователя.

Код:
#!/bin/bash
#Общие параметры
USR=exuser        #Логин пользователя
PWD=expass        #Пароль пользователя
LFOLD="$HOME"     #Каталог в котором будем размещать смонтированные ресурсы
                   я использую каталог текущего пользователя
FS="192.168.0.3"  #IP файлового сервера FS
MFS="192.168.0.5" #IP файлового сервера МFS

#Функция осуществляющая монтирование
mt ()
{
if [ ! -e "$LFOLD/$3" ] #проверяем наличие каталога для монтирования и если нет то создаем
then
mkdir --mode=0777 $LFOLD/$3
fi

if [ `ls -a "$LFOLD/$3" | grep -v "^\.$" | grep -v "^\.\.$" | wc -l` = "0" ] #монтирем если каталог пуст
then
sudo mount -t smbfs //$1/$2 $LFOLD/$3 -o rw,username=$USR,password=$PWD,iocharset=utf8,codepage=cp866
fi
}

# Подключение сетевых ресурсов "mt <ip сервера> <ресурс> <имя локального каталога>"
mt "$FS" "soft\$" "S(soft)"
mt "$MFS" "OPEN" "R(open)"
mt "$FS" "PHOTO#" "Y(photo)"
mt "$FS" "exfolder\$" "Z(мои_файлы)"

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

Код:
if [ -f "$HOME/.smbmt" ]; then
    . "$HOME/.smbmt"
fi

  Теперь можем исполнить скрипт, или заново войти в систему, и увидим в каталоге пользователя новые папки: S(soft), R(open), Y(photo) и Z(мои_файлы). Содержимое этих каталогов должно соответствовать общим ресурсам файловых серверов.

Ну вот вроде и все, старался изложить так, чтоб было понятно даже школьнику. Стоит добавить что вы можете создать тарбол содержащий измененные системные файлы и применять нужные настройки для других машин одним махом. Также, при помощи утилиты в составе данной сборки вы можете записать на CD все доустановленные пакеты, и созданный тарбол, который в последствии можно использовать как локальный репозиторий. Всем удачи!

Цитата: Little-Yo от 26 Ноября 2009, 08:45:53
Кстати, не могли бы вы рассказать механизм создания такого тарбола ибо гугол не помогает, а создание .sh копирующего нужные системные файлы и расставляющего права и владельцев (chown chmod) кагбэ не дало нужного мне эффекта.

Не вопрос.

1) Зайдите в систему под пользователем root.

2) В каталог /root (профиль суперпользователя) скопируйте измененный .profile и "обезличенный" .smbmt. Под обезличенный я подразумеваю скрипт в котором не указаны пользователь и пароль, а все строчки монтирования (вида: mt "$FS" "soft\$" "S(soft)") закомментированы.

3) Теперь выполните в терминале (можно написать и скрипт) следующее:
Код:
tar cvf $HOME/AD_conf.tar.gz $HOME/.smbmt $HOME/.profile /etc/sudoers /etc/gdm/gdm.conf-custom /etc/gdm/gdm.conf /etc/hosts /etc/krb5.conf /etc/default/rcS /etc/default/ntpdate /etc/samba/smb.conf /etc/nsswitch.conf /etc/pam.d/common-account /etc/pam.d/common-auth /etc/pam.d/common-password /etc/pam.d/common-session /etc/pam.d/sudo /etc/security/group.conf

Выполнять в терминале надо чтобы убедиться что тарбол собран без ошибок. В домашнем каталоге суперпользователя появится файл AD_conf.tar.gz он содержит все системные настройки. Тарбол создается в принципе всего один раз и потом уже используется один и тот-же для всех остальных.

4) На другой машине этот тарбол нужно распаковать опять же под пользователем root просто при помощи Xarchiver. распаковывать нужно в корень ( / ) и проставить флажки на перезапись и распаковку с полным путем.
Естественно делать это все нужно уже после доустановки компонентов перечисленных в разде 2.   Подготовка системы.. Обязательно нужно поправить файлы конфигурации, хранящие настройки относящиеся к конкретно этой машине, а именно /etc/hosts (перебить IP) и /etc/samba/smb.conf (можно и через SWAT, но нужно изменить параметр netbios name).

5) Регистрируем новую рабочую станцию в AD, дав в терминале команду net ads join –U vashadmin, потом перезапускаемся, и все должно работать как часы.

/************************************************************************************/

Таким образом настройка прочих компьютеров будет состоять из следующих пунктов:
1) Установка Runtu Office
2) Доустановка и обновление пакетов из репозитория, а также удаление ненужных.
3) Подстановка файлов конфигурации из тарбола.
4) Незначительная правка /etc/hosts и /etc/samba/smb.conf.
5) Регистрация в AD и перезагрузка системы.
6) Если нужно в каком-либо профиле пользователя подключать сетевые диски, то вытягиваем из папки /root файлы .profile и .smbmt в домашний каталог нужного нам пользователя (нужны права суперпользователя), приводим .smbmt к должному виду (в соответствии с описанием).

Вроде все.

Оффлайн aen

  • Новичок
  • **
  • Автор темы
  • Сообщений: 22
допы :)

Цитата: Little-Yo от 08 Декабря 2009, 18:02:13
Если не сочтете наглостью, не могли ли вы в ключе файлов кофигурации pam.d, объяснить как подцепить к ним pam_mount.conf.xml, для автоматического монтирования сетевых ресурсов.

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

Итак, пусть пользователь exuser входит в состав группы AD "Дизайнеры" и в Windows у него подключались следующие сетевые диски:
1)   R – open на MFS (192.168.0.5)  - файлообменник для все пользователей AD
3)   Y – photo# на FS (192.168.0.3) - фотоархив только для пользователей группы "Дизайнеры"
4)   Z – exfolder$ на FS (192.168.0.3) - персональный общий ресурс для нашего пользователя

Давайте для начала добавим в систему механизм pam_mount чтобы было с чем работать. Для этого устанавливаем пакет libpam-mount. В процессе установки будет задан вопрос по поводу нового формата pam_mount.conf в xml (прочитаете сами) на который мы смело жмем 'y', поскольку никаких других версий pam_mount у нас и небыло.

Двигаемся под root в каталог /etc/security и переименовываем файл pam_mount.conf.xml например в pam_mount.conf.xml_old. Теперь создадим в том же каталоге новый пустой файл pam_mount.conf.xml, открываем его и пишем примерно следующее:
Код:
<?xml version="1.0" encoding="utf-8" ?>
<pam_mount>
<debug enable="2" />
<mntoptions allow="*" />
<mntoptions require="nosuid,nodev" />
<path>/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin</path>
<volume
   pgrp="пользователи домена"   
   fstype="smbfs"
   server="192.168.0.5"
   path="open"
   mountpoint="/home/COMPANY/%(USER)/R(open)"
   options="rw,iocharset=utf8"
/>
<volume
   sgrp="дизайнеры"   
   fstype="smbfs"
   server="192.168.0.3"
   path="photo#"
   mountpoint="/home/COMPANY/%(USER)/Y(photo)"
   options="rw,iocharset=utf8"
/>
<volume
   user="exuser"   
   fstype="smbfs"
   server="192.168.0.3"
   path="exfolder$"
   mountpoint="/home/COMPANY/%(USER)/Y(Мои_файлы)"
   options="rw,iocharset=utf8"
/>
<mkmountpoint enable="1" remove="true" />
</pam_mount>

Рассмотри что мы тут понаписали поближе:

<debug enable="2" />
позволит нам при проверке в терминале с помощью команды sudo login видеть весь ход работы модуля подключения ресурсов, результаты его работы и ошибки.

<mntoptions allow="*" />
<mntoptions require="nosuid,nodev" />
позволяет разрешать (allow), запрещать (deny) или требовать(require) использования параметров монтирования. Что это за параметры, за что отвечают и т.д. вы можете прочитать в документации к команде mount например здесь.

<path>/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin</path>
Эта строчка указывает системе в какие каталоги стоит посмотреть в поиске исполняемых команд.

<volume ....... />
Здесь параметры монтируемого устройства и условия

<mkmountpoint enable="1" remove="true" />
Здесь мы указываем, что точки надо монтировать при входе и демонтировать при выходе.



Теперь подробнее рассмотрим <volume ....... />:

pgrp - устройство монтируется если основная группа пользователя указанная
sgrp - устройство монтируется если пользователь входит в указанную неосновную группу
user - устройство монтируется если в систему входит указанный пользователь
Если после этих параметров указать invert="1" то условие монтирования станет обратным.
fstype - тип монтируемой файловой системы
server - машина в сети на которой расположен монтируемый общий ресурс
path - имя монтируемого общего ресурса
mountpoint - точка монтирования (каталог куда монтировать) которая создается автоматически.
options - опции монтирования



Ну теперь мы навояли конфиг подключения в соответствии с которым пользователю exuser будут смонтированы ресурсы R,Y и Z; пользователям домена входящим в группу "Дизайнеры" ресурсы R и Y; прочим пользователям домена ресурс R.


Теперь нам надо изменить параметры конфигурации в каталоге /etc/pam.d:

Открываем common-auth и приводим его к виду:
Код:
auth optional pam_group.so
auth    optional        pam_mount.so
auth sufficient pam_winbind.so use_first_pass krb5_auth krb5_ccache_type=FILE
auth sufficient pam_unix.so nullok_secure use_first_pass
auth optional pam_smbpass.so migrate missingok
auth required pam_deny.so

Из-за того что :
Цитировать
# make sure that there is no PAM module loaded with a "sufficient"
# priority before these entries, else the pam_mount module is not
# executed
отныне мы будем вводить пароль для монтирования устройств, которым система воспользуется для аутентификации winbind и если не проходит то уже для аутентификации под локальным пользователем RUNTU OFFICE.

Открываем common-session и приводим его к виду:
Код:
session optional        pam_mount.so use_first_pass
session sufficient pam_mkhomedir.so skel=/etc/skel/ umask=0022
session required pam_unix.so


Вот так можно настроить подключение общих ресурсов сети с использованием модуля PAM_MOUNT. Как видим заморочек не меньше чем с использованием скрипта и оправдывает себя такой метод на мой взгляд только в случае если за компьютером постоянно меняются пользователи.


Цитата: Little-Yo от 14 Декабря 2009, 12:10:08
В указанном варианте есть один недостаток.
При первом запуске пользователя (у администратора проблем с этим нет, даже если профиль отсутствует) подгуржается не каталог /etc/skel, а какой то облегченный (как рутовский) профиль.
Т.е. нужно или переделывать файлы (комментить строки во время первого запуска) или искать этот профиль и его лопатить (подозреваю, что это невероятно вообще).

Ай простите , простите, недоглядел... Естественно в той конфигурации что я указал оно как следует работать небудет.
Исправьте common-session вот так:

Код:
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session optional        pam_mount.so
session required pam_unix.so

Точки монтирования создаются у нас в каталоге пользователя, а чтобы их создать нужно сперва создать сам каталог пользователя. Поэтому каталог пользователя создавал модуль pam_mount.so, а модуль pam_mkhomedir.so не работает если каталог пользователя уже есть.

Оффлайн Shagrid

  • Прохожий
  • *
  • Сообщений: 1
В я встрял на auth sufficient pam_winbind.so krb5_auth krb5_ccache_type=FILE debug
=(
Пишет auth: команда не найдена  ???
Чего не хватает? Вот первый раз runtu поставил

Оффлайн butjapka

  • Местный
  • *****
  • Сообщений: 1151
  • Компьютер думает так, как думает его хозяин.
В я встрял на auth sufficient pam_winbind.so krb5_auth krb5_ccache_type=FILE debug
=(
Пишет auth: команда не найдена  ???
Чего не хватает? Вот первый раз runtu поставил
можно ознакомиться со статьей Likewise-open или ввод Linux в Active Directory, если заинтересует попробовать, поискать, например, на launchpad
А так еще неплохой мануал настройка вручную
« Последнее редактирование: Август 16, 2012, 15:41:08 от butjapka »

Оффлайн begem0t

  • Прохожий
  • *
  • Сообщений: 1
заранее прошу прощения за подъем старой темы
Поставил Runtu LITE 10.04, ввел в домен win2008 (пользовался как раз инструкцией из предыдущего сообшения).
Проверка подключения проходит успешно: ПоказатьСкрыть

bruntu@bruntupc:~$ sudo net ads testjoin
password for bruntu:
Join is OK

По wbinfo -u и wbinfo -g видны пользователи и группы из домена.
При подключении из терминала под пользователем из домена, подключение прошло без проблем, создался домашний каталог (/home/Имя домена/Имя пользователя).
Подключение под доменным пользователем из терминала: ПоказатьСкрыть

bruntu@bruntupc:~$ sudo login akatov
[sudo] password for bruntu:
Пароль:
Последний вход в систему: Втр Май  7 18:31:30 MSK 2013 на pts/4
Linux bruntupc 2.6.32-46-generic #108-Ubuntu SMP Thu Apr 11 15:55:01 UTC 2013 i686 GNU/Linux
Ubuntu 10.04.4 LTS

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

2 packages can be updated.
0 updates are security updates.


Runtu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

For user support please visit:
http://forum.runtu.org/


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

akatov@bruntupc:~$

Но при попытке входа в систему под доменным пользователем - система продолжает запрашивать пользователя и пароль, пока не введешь локального пользователя.
Подскажите - где искать ошибку?