Ввести в домен рабочую станцию ubuntu 14.04.04 не так уж сложно, в Сети достаточно много материалов на этот счет. Множество инфы было взято с https://help.ubuntu.com/lts/serverguide/sssd-ad.html но здесь самая малость настроек, и кое-чего не хватает до полного счастья.
Предположим, что уже имеется предустановленная система, и она работает. Для начала обновиться:
# apt-get update
# apt-get upgrade
# apt-get dist-upgared
После апдейта желательно ребутнуться, чтобы применить весь свежак. Далее надо доставить
необходимые пакеты для интеграции с доменом. (можно поставить только пакеты указанные в официальном мане, но не проверял работоспособность)
# apt-get -y install realmd sssd sssd-tools samba-common krb5-user packagekit samba-common-bin samba-libs adcli ntp
При установке новых пакетов нужно будет ввести имя домена, что-то вроде: MYUBUNTU.EXAMPLE.COM
Можно просто скопировать файлик из статьи, и внести свои данные. А еще можно добавить такие строки в конфиг:
default_shell = /bin/bash
cache_credentials = true
Первая строчка дает нам возможность под доменным пользователем иметь нормальный bash, вторая строчка дает возможность логиниться оффлайн, что порой очень важно.
Также необходимо учесть один момент, в официальной инструкции Убунты в файл /etc/pam.d/common-session нужно внести одну строку, но с небольшими изменениями (в оригинальном виде не заработало, не стал разбираться). Выглядеть строка должна следующим образом:
И перед тем как вводить в домен, нужно в /etc/hosts написать FQDN и ip самой машины в Сети, иначе будет ошибка. Т.е. в /etc/hosts должна быть примерно такая строка:
(Спасибо большое товарищам из Samba, иначе бы ничего не вышло.)
Теперь можно торжественно вводить в домен и проверять доступность доменных имен.
Хотелось бы добавить удаленную поддержку пользователей, и лучше это делать через x11vnc
Устанавливаем:
# apt-get install x11vnc
Создаем конфиг в /etc/init/x11vnc.conf
содержание:
start on login-session-start
script
/usr/bin/x11vnc -xkb -forever -auth /var/run/lightdm/root/:0 -display :0 -rfbauth /etc/x11vnc.pass -rfbport 5900 -bg -o /var/log/x11vnc.log
end script
(очень важно, чтобы строчка после слова script - была цельной, иначе могут быть ошибки при запуске) Теперь надо сгенерировать пароль, делается это:
# x11vnc -storepasswd /etc/x11vnc.pass
После ребута должно все работать, т.е. можно подключаться к Убунте без авторизации пользователя, заодно проверить возможность входа в домен. Возможно в дальнейшем перепишу статью подробнее
Стоит также отметить, что пользователи домена и локальны, могут просматривать домашние каталоги друг друга, что не есть хорошо. В настоящее время за данной машиной один пользователь, и ему вручную закрыл доступ от других пользователей, пока в поисках решений.
UPD 05.07.16
Прикладываю рабочий конфиг, он может следующее:
1. оффлайн авторизация
2. нормальный bash в командной строке
3. возможность устанавливать приложения пользователям AD в группе sudo (баг)
4. не нужно нажимать смену пользователя при блокировке экрана (баг)
[sssd]
services = nss, pam
config_file_version = 2
domains = MYUBUNTU.EXAMPLE.COM
[nss]
default_shell = /bin/bash
[domain/MYUBUNTU.EXAMPLE.COM]
ad_gpo_map_interactive = +unity
id_provider = ad
access_provider = ad
ad_gpo_access_control=permissive
# Use this if users are being logged in at /.
# This example specifies /home/DOMAIN-FQDN/user as $HOME. Use with pam_mkhomedir.so
override_homedir = /home/%d/%u
# Uncomment if the client machine hostname doesn't match the computer object on the DC.
# ad_hostname = mymachine.myubuntu.example.com
# Uncomment if DNS SRV resolution is not working
# ad_server = dc.mydomain.example.com
# Uncomment if the AD domain is named differently than the Samba domain
# ad_domain = MYUBUNTU.EXAMPLE.COM
# Enumeration is discouraged for performance reasons.
# enumerate = true
cache_credentials = true
По мере тестирования будут появляться дополнения
UPD 26.08.16
После апдейта sssd до версии 1.13.4 доменные пользователи не могут авторизоваться!
В системном журнале будет pam_sss(su:account): Access denied for user u.domian
А починить это можно добавить в конфиг /etc/sssd/sssd.conf строчку
ad_gpo_access_control=permissive
Предположим, что уже имеется предустановленная система, и она работает. Для начала обновиться:
# apt-get update
# apt-get upgrade
# apt-get dist-upgared
После апдейта желательно ребутнуться, чтобы применить весь свежак. Далее надо доставить
необходимые пакеты для интеграции с доменом. (можно поставить только пакеты указанные в официальном мане, но не проверял работоспособность)
# apt-get -y install realmd sssd sssd-tools samba-common krb5-user packagekit samba-common-bin samba-libs adcli ntp
При установке новых пакетов нужно будет ввести имя домена, что-то вроде: MYUBUNTU.EXAMPLE.COM
Можно просто скопировать файлик из статьи, и внести свои данные. А еще можно добавить такие строки в конфиг:
default_shell = /bin/bash
cache_credentials = true
Первая строчка дает нам возможность под доменным пользователем иметь нормальный bash, вторая строчка дает возможность логиниться оффлайн, что порой очень важно.
Также необходимо учесть один момент, в официальной инструкции Убунты в файл /etc/pam.d/common-session нужно внести одну строку, но с небольшими изменениями (в оригинальном виде не заработало, не стал разбираться). Выглядеть строка должна следующим образом:
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0022
И перед тем как вводить в домен, нужно в /etc/hosts написать FQDN и ip самой машины в Сети, иначе будет ошибка. Т.е. в /etc/hosts должна быть примерно такая строка:
10.99.0.5 M1.myubuntu.example.com M1
(Спасибо большое товарищам из Samba, иначе бы ничего не вышло.)
Теперь можно торжественно вводить в домен и проверять доступность доменных имен.
Хотелось бы добавить удаленную поддержку пользователей, и лучше это делать через x11vnc
Устанавливаем:
# apt-get install x11vnc
Создаем конфиг в /etc/init/x11vnc.conf
содержание:
start on login-session-start
script
/usr/bin/x11vnc -xkb -forever -auth /var/run/lightdm/root/:0 -display :0 -rfbauth /etc/x11vnc.pass -rfbport 5900 -bg -o /var/log/x11vnc.log
end script
(очень важно, чтобы строчка после слова script - была цельной, иначе могут быть ошибки при запуске) Теперь надо сгенерировать пароль, делается это:
# x11vnc -storepasswd /etc/x11vnc.pass
После ребута должно все работать, т.е. можно подключаться к Убунте без авторизации пользователя, заодно проверить возможность входа в домен. Возможно в дальнейшем перепишу статью подробнее
Стоит также отметить, что пользователи домена и локальны, могут просматривать домашние каталоги друг друга, что не есть хорошо. В настоящее время за данной машиной один пользователь, и ему вручную закрыл доступ от других пользователей, пока в поисках решений.
UPD 05.07.16
Прикладываю рабочий конфиг, он может следующее:
1. оффлайн авторизация
2. нормальный bash в командной строке
3. возможность устанавливать приложения пользователям AD в группе sudo (баг)
4. не нужно нажимать смену пользователя при блокировке экрана (баг)
[sssd]
services = nss, pam
config_file_version = 2
domains = MYUBUNTU.EXAMPLE.COM
[nss]
default_shell = /bin/bash
[domain/MYUBUNTU.EXAMPLE.COM]
ad_gpo_map_interactive = +unity
id_provider = ad
access_provider = ad
ad_gpo_access_control=permissive
# Use this if users are being logged in at /.
# This example specifies /home/DOMAIN-FQDN/user as $HOME. Use with pam_mkhomedir.so
override_homedir = /home/%d/%u
# Uncomment if the client machine hostname doesn't match the computer object on the DC.
# ad_hostname = mymachine.myubuntu.example.com
# Uncomment if DNS SRV resolution is not working
# ad_server = dc.mydomain.example.com
# Uncomment if the AD domain is named differently than the Samba domain
# ad_domain = MYUBUNTU.EXAMPLE.COM
# Enumeration is discouraged for performance reasons.
# enumerate = true
cache_credentials = true
По мере тестирования будут появляться дополнения
UPD 26.08.16
После апдейта sssd до версии 1.13.4 доменные пользователи не могут авторизоваться!
В системном журнале будет pam_sss(su:account): Access denied for user u.domian
А починить это можно добавить в конфиг /etc/sssd/sssd.conf строчку
После чего перезапустить сервис sssd, и все заработает.