This tutorial will describe how you can join machines that run Linux Mint 17.1 OS to Windows 2012 Active Directory Domain Controller in order to authenticate remote accounts from AD back end identity provider to local Linux workstations with the help of SSSD service and Realmd system DBus service.
The System Security Services Daemon (SSSD) is a relative new service which provides cross-domain compatible methods for Active Directory users to authenticate to local machines using a combination of usernames and domain back end name to create the login identity, even if the Domain Controller goes offline (SSSD caches credentials).
REQUIREMENTS
- Windows Server 2012 configured as an Active Directory Domain Controller
- A Linux Mint 17.1 client machine which will be integrated to Windows PDC
Domain Settings:
- Domain Name:
caezsar.lan
- Windows Server 2012 AD FQDN:
server.caezsar.lan
- Windows Server 2012 AD IP Address:
192.168.1.130
- Linux Mint Hostname:
mint-desktop
- Linux Mint IP Address: automatically assigned by DHCP
- Linux Mint first DNS IP Address: Manually assigned to point to AD PDC –
192.168.1.130
STEP ONE – Linux Mint Network Configuration
1. Before starting with installing the required services in order to integrate the local machine to the PDC Server, first we need to assure that Windows Domain Controller is reachable through DNS resolution on Linux Mint host by adding the DNS PDC IP Address on our Network Configuration. To achieve this goal, first open Network Settings, go to the Network Interface Card (in this case is the Wired Connection, but you can use a Wireless Connection also), open it for editing (hit the settings icon from bottom right) and add your PDC IP Address on IPv4 DNS filed (switch Automatic DNS to OFF) as illustrated in the following screenshots:
network settings
edit network interface settings
add DNS IP Address
If multiple Domain Controllers machines exists on your network then you can also add their IP Addresses on IPv4 DNS settings fields.
2. After you’re done, hit on Apply button and switch the edited Network Interface from ON to OFF and then back to ON in order to apply the new settings. After the network interface is started again, open a Terminal console and issue a ping
command against your PDC domain name in order to verify if the settings are successfully applied and the domain name responds with the correct IP Address and FQDN of the PDC.
apply network settings
ping domain controller
If you want to avoid all this manual settings, then configure a DHCP server at your premises to automatically assign network settings, especially DNS entries, that will point to your Windows PDC IP Addresses needed for DNS resolution in order to reach the AD PDC.
STEP TWO – Install Required Software Packages
As presented at the beginning of this tutorial, in order to integrate a Linux Mint machine to an Active Directory Domain Controller you need to install the SSSD service along with the following software packages and dependency:
– SSSD service (responsible with back end realm authentication) with the following dependencies: sssd-tools (optional, but useful for sssd cache, user and groups manipulation), libpam-sss (PAM modules for local authentication) and libnss-sss (NSS modules for local DNS resolution)
– Realmd (system DBus service which manages domain integration and local resources permissions)
– The following Samba Modules: samba-common-bin and samba-libs (File sharing compatibility between Windows and Linux machines)
– Krb5-user (Client network authentication and communication with the PDC server)
– ADcli (Tools for joining domain and perform other actions on an AD)
– PackageKit (Linux cross-platform packages management for interoperabillity and user privileges for software installations)
3. Now, let’s start installing the above enumerated packages by opening a Terminal console on Linux Mint and issuing the following commands with sudo privileges:
First install Realmd and SSSD service:
sudo apt-get install realmd sssd sssd-tools libpam-sss libnss-sss
install realmd and sssd service
4. Next install Samba modules (by default this modules might be already installed on your system):
sudo apt-get install samba-libs samba-common-bin
install samba modules
5. Last, install the other remained packages: krb5-user
, adcli
and packagekit
. On krb5-user
package, the installer will prompt you to enter the realm that will be used for Kerberos authentication. Use the name of the domain configured for your PDC with UPPERCASE (in this case the domain is CAEZSAR.LAN
), then hit Enter key to continue further with the installation packages.
sudo apt-get install krb5-user adcli packagekit
install kerberos, adcli and packagekit packages
Configure Kerberos realm
STEP THREE – Edit Configuration Files for SSSD, Realmd and PAM
6. Next step before starting joining Linux Mint to Windows Server AD PDC is to configure the local services for AD network authentication. By default the SSSD service has no configuration file defined on /etc/sssd/ path. In order to create a default configuration file for SSSD service, issue the following command to create and simultaneous edit the file:
sudo nano /etc/sssd/sssd.conf
SSSD configuration file excerpt:
[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3
[pam]
reconnection_retries = 3
[sssd]
domains = CAEZSAR.LAN
config_file_version = 2
services = nss, pam
[domain/CAEZSAR.LAN]
ad_domain = CAEZSAR.LAN
krb5_realm = CAEZSAR.LAN
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%d/%u
access_provider = ad
sssd configuration file
While editing the file make sure you replace domains
, [domain/]
, ad_domain
and krb5_realm
parameters accordingly. Use the UPPERCASES as the above file excerpt suggests.
The fallback_homedir = /home/%d/%u
parameter will cause the system to create home directories for all domain logged in users with the following path: /home/domain_name/domain_user
, so practically all your domain users homes will be stored into a single directory named after your domain name on /home
path. If you want to change this behavior so all domain users homes should be created as normal system users, /home/username
, just remove %d
variable and you’re done.
For other options and parameters concerning sssd.conf
file run man sssd
command.
After you finish editing the file, save it with CTRL+O , close it with CTRL+X and proceed further with the below instructions.
7. The next step is to create and edit a configuration file for Realmd in order to avoid some eventual package dependency problems by issuing the following command:
sudo nano /etc/realmd.conf
Use the following configurations for realmd file:
[service]
automatic-install = no
realmd conf file
After you add the above lines, save the file and close it.
8. The last file that you need to edit before joining the domain is the common-session
PAM file. So, open this file for editing by running the below command and add the following line after the session optional pam_sss.so
line in order for the system to automatically create home directories for the new authenticated AD users .
sudo nano /etc/pam.d/common-session
Add the following line as presented on the below screenshot:
session optional pam_mkhomedir.so skel = /etc/skel/ mask=0077
PAM common-session file
After you have edited the file, save it and close it, and proceed to the next step in order to make Linux Mint a part of the Windows Domain Controller.
STEP FOUR – Join Linux Mint to Windows Server 2012 Active Directory Domain Controller
9. Before joining the Linux Mint client to Windows PDC, first issue the discovery
command against your domain name in order to view the complete realm configurations and a package list of software that must be installed on the client machine before you enroll it in the realm.
sudo realm discover domain.tld
realm discover domain
10. If everything is correctly setup at the client side and the domain controller responds, issue the following command in order to integrate Linux Mint client machine to Windows Server 2012 AD PDC.
sudo realm join domain.tld -U domain_administrator --verbose
join AD domain
Use the -U
option to specify an Active Directory administrative user with privileges to add machines on the server and the --verbose
option to get debug output in case something goes wrong with the integration process.
Once the command returns successfully status and ads Linux Mint to AD you can use the sudo realm list
command to view full details and the default configurations for your domain.
list realm
To manage sssd
service use the following command switches (you don’t need to manually start the sssd service because it’s automatically started by the realmd when the machine is enrolled to realm):
sudo service sssd status|start|stop
11. To check if the machine appears on the Domain Controller, go to your Windows Server 2012, open Active Directory Users and Computers utility and search your Linux Mint hostname.
Active Directory Users and Computers
STEP FIVE – Log In on Linux Mint with Active Directory Accounts
12. To authenticate on Linux Mint with and an Active Directory user, first you need to add a permit rule on local policies in order to grant access for all realm users on local machine, by issuing the following command:
sudo realm permit --all
To grant access just for a specific AD user or group use the following command syntax:
sudo realm permit -u AD_username
sudo realm permit -g AD_group
To withdraw access for a user use the command with --x
switch:
sudo realm permit domain --x domainAD_username
13. To perform Terminal console command line authentications on Linux Mint host with an Active Directory account, use double backslashes to escape the backslash which separates the domain string from user, as shown in the below syntax (you can append the dot domain or use just the domain string):
su - domain.tld\AD_username
or
su - domain\AD_username
AD user login
ad user login without dot domain
14. To log in with an AD account on Linux using Putty or to perform Linux Mint MDM GUI logins use the following syntax:
domainAD_username
domain.tldAD_username
AD user Putty login
Ad user GUI login
15. In case you have issues with AD users authentication on Linux Mint Logon Screen, log in with a local user account and change the Login Window Theme from an HTML theme to a GDM theme, log out, hit Escape key is case the last logged in user appears on username Login filed and continue the authentication process with a AD account as presented above.
Use GDM theme
GDM login screen
STEP SIX – Add Root Permissions to AD Domain Admins Users
16. In case you want to allow all Active Directory Domain Admins to have full administrative permissions in order to execute any command with root
privileges on the Linux Mint machine, open the local sudoers
file for editing and add the following line:
sudo nano /etc/sudoers
or
sudo visudo
Add this line after %sudo
line:
%domain admins@domain.tld ALL=(ALL) ALL
add domain admins root privileges
17. In case you don’t want your Linux Mint machine to be a part of the domain anymore, issue the following command to leave the domain:
sudo realm leave domain.tld -U AD_admin_user --verbose
leave AD PDC
That’s all! Now, the machine running Linux Mint 17.1 is integrated as a part of Windows Active Directory Domain Controller and can successfully replace your old Windows XP machine, for which Microsoft has stopped its support, but keep in mind that some features and, especially, a huge part of Active Directory Group Policy, don’t apply on Linux systems.
Как правильно задавать вопросы
Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
alex_vag
- Сообщения: 8
- Зарегистрирован: 07 дек 2021, 09:14
- Контактная информация:
Ввод в домен
07 дек 2021, 09:31
Доброго времени суток.
Подскажите пожалуйста, как ввести Cinnamon в домен Windows?
Или может Mint лучше подходить для этих целей?
П.С. Очень желательно актуальные маны. Ибо полно устаревшей информации
-
WWolf
- Сообщения: 3371
- Зарегистрирован: 14 фев 2018, 00:51
- Решено: 22
- Откуда: Краснодар
- Благодарил (а): 1492 раза
- Поблагодарили: 1072 раза
- Контактная информация:
Ввод в домен
#2
07 дек 2021, 10:27
alex_vag писал(а): ↑
07 дек 2021, 09:31
Ибо полно устаревшей информации
что устарело?
-
rogoznik
- Сообщения: 9438
- Зарегистрирован: 27 июн 2017, 13:36
- Решено: 118
- Откуда: Нижний Тагил
- Благодарил (а): 707 раз
- Поблагодарили: 1814 раз
- Контактная информация:
Ввод в домен
#3
07 дек 2021, 10:46
alex_vag писал(а): ↑
07 дек 2021, 09:31
Cinnamon
Desktop Environment
alex_vag писал(а): ↑
07 дек 2021, 09:31
Mint
Дистрибутив(ОС)
DE в домен ввести не получится — т.к. это только пользовательское окружение
ОС — в домен ввести можно
-
alex_vag
- Сообщения: 8
- Зарегистрирован: 07 дек 2021, 09:14
- Контактная информация:
Ввод в домен
#4
07 дек 2021, 11:07
rogoznik писал(а): ↑
07 дек 2021, 10:46
ОС — в домен ввести можно
Отлично. Где можно посмотреть инфу «для чайников», как ввести именно эту ОС в домен?
Задача чтобы можно было работать с машины Linux с сетевыми ресурсами под Windows.
-
WWolf
- Сообщения: 3371
- Зарегистрирован: 14 фев 2018, 00:51
- Решено: 22
- Откуда: Краснодар
- Благодарил (а): 1492 раза
- Поблагодарили: 1072 раза
- Контактная информация:
Ввод в домен
#5
07 дек 2021, 11:11
-
alex_vag
- Сообщения: 8
- Зарегистрирован: 07 дек 2021, 09:14
- Контактная информация:
Ввод в домен
#6
07 дек 2021, 11:14
Да, видел.
Вопрос — этот вариант актуален для Cinnamon и Mate ?
Или только для одной из версий?
-
WWolf
- Сообщения: 3371
- Зарегистрирован: 14 фев 2018, 00:51
- Решено: 22
- Откуда: Краснодар
- Благодарил (а): 1492 раза
- Поблагодарили: 1072 раза
- Контактная информация:
Ввод в домен
#7
07 дек 2021, 11:16
alex_vag, с такими вопросами думаю не стоит вам лезть в доменные политики…
у вас даже основных понятий нет о линукс и с чем его едят…
-
alex_vag
- Сообщения: 8
- Зарегистрирован: 07 дек 2021, 09:14
- Контактная информация:
Ввод в домен
#8
07 дек 2021, 11:21
WWolf писал(а): ↑
07 дек 2021, 11:16
у вас даже основных понятий нет о линукс и с чем его едят…
Согласен, зашёл не с той стороны. Но, жизнь заставила, что-то делать надо. Остальное в процессе приложиться
-
ilikethat
- Сообщения: 434
- Зарегистрирован: 14 дек 2019, 01:46
- Решено: 9
- Благодарил (а): 101 раз
- Поблагодарили: 96 раз
- Контактная информация:
Ввод в домен
#9
07 дек 2021, 12:21
alex_vag, расскажите плиз, а какой сценарий использования такой машины на linux в домене windows?
Для чего Вы будите её использовать?
PS Когда ко мне приходят заказчики с бредовой задачей, начинаю спрашивать, зачем это нужно.
В большинстве случаев выясняется, что проблема одна, но для ее решения придумывается другое «гениально-гуманитарное» решение, которое и озвучивают мне.
-
alex_vag
- Сообщения: 8
- Зарегистрирован: 07 дек 2021, 09:14
- Контактная информация:
Ввод в домен
#10
07 дек 2021, 12:29
ilikethat писал(а): ↑
07 дек 2021, 12:21
Для чего Вы будите её использовать?
Рабочая станция, с доступом ко внутренним сетевым ресурсам Windows домена. Работа с файлами *.doc и *.xls + Запуск 1с (под Linux, без Wine).
-
ilikethat
- Сообщения: 434
- Зарегистрирован: 14 дек 2019, 01:46
- Решено: 9
- Благодарил (а): 101 раз
- Поблагодарили: 96 раз
- Контактная информация:
Ввод в домен
#11
07 дек 2021, 12:46
alex_vag, а зачем это делать на Linux?
-
alex_vag
- Сообщения: 8
- Зарегистрирован: 07 дек 2021, 09:14
- Контактная информация:
Ввод в домен
#12
07 дек 2021, 12:47
ilikethat писал(а): ↑
07 дек 2021, 12:46
а зачем это делать на Linux?
«Правомерное использование лицензионного П/О»… т.д.
-
ilikethat
- Сообщения: 434
- Зарегистрирован: 14 дек 2019, 01:46
- Решено: 9
- Благодарил (а): 101 раз
- Поблагодарили: 96 раз
- Контактная информация:
Ввод в домен
#13
07 дек 2021, 12:56
alex_vag,
О бесплатной 1с для Linux я не слышал.
Бесплатный LibreOffice прекрасно ставится на Windows.
То есть сэкономили на лицензии Windows 10 pro? Тысяч 7 рублей.
Гениально(С)
-
WWolf
- Сообщения: 3371
- Зарегистрирован: 14 фев 2018, 00:51
- Решено: 22
- Откуда: Краснодар
- Благодарил (а): 1492 раза
- Поблагодарили: 1072 раза
- Контактная информация:
Ввод в домен
#14
07 дек 2021, 13:04
ilikethat писал(а): ↑
07 дек 2021, 12:56
То есть сэкономили на лицензии Windows 10 pro? Тысяч 7 рублей.
Гениально(С)
ну тут может быть и нюанс — ты под санкциями и тебе винду не продают
ilikethat писал(а): ↑
07 дек 2021, 12:56
О бесплатной 1с для Linux я не слышал.
она полюбому куплена, а под линукс клиент уже штампуют на ура…
-
alex_vag
- Сообщения: 8
- Зарегистрирован: 07 дек 2021, 09:14
- Контактная информация:
Ввод в домен
#15
07 дек 2021, 13:11
WWolf писал(а): ↑
07 дек 2021, 13:04
ну тут может быть и нюанс — ты под санкциями и тебе винду не продают
Очень может быть….
WWolf писал(а): ↑
07 дек 2021, 13:04
она полюбому куплена, а под линукс клиент уже штампуют на ура…
Безусловно!
-
Chocobo
- Сообщения: 9953
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 214
- Откуда: НН
- Благодарил (а): 795 раз
- Поблагодарили: 2979 раз
- Контактная информация:
Ввод в домен
#16
07 дек 2021, 13:34
В соседнем топике недавно подтвердили актуальной данной ссылки
Так что должно быть норм.
alex_vag писал(а): ↑
07 дек 2021, 11:14
этот вариант актуален для
Этот вариант должен быть достоаточно актуален для Убунту, на которой в свою очередь базируется Linux Mint.
Графические окружения Mate/Cinnamon/Gnome и прочие тут участвуют в меньшей степени, все настраивается ниже уровнем.
Потом уже могут быть некоторые различия именно со стороны UI взаимодействия.
Что же касается сценариев использования, то возможно работа со сложными мсофисными документами не самая сильная сторона либры и похожих офисных пакетов, но это уже другая история)
-
alex_vag
- Сообщения: 8
- Зарегистрирован: 07 дек 2021, 09:14
- Контактная информация:
Ввод в домен
#17
07 дек 2021, 13:41
Chocobo писал(а): ↑
07 дек 2021, 13:34
Графические окружения Mate/Cinnamon/Gnome и прочие тут участвуют в меньшей степени, все настраивается ниже уровнем.
Пасиб!
Как мне ввести в домен Ubuntu 20.04 | 18.04 к домену Windows? Могу ли я присоединить Debian 10 к домену Active Directory?
Эта статья была написана, чтобы показать вам, как использовать realmd для присоединения сервера или рабочего стола Ubuntu 20.04 | 18.04 / Debian 10 к домену Active Directory. Домен Active Directory является центральным узлом информации о пользователях в большинстве корпоративных сред.
Например, в инфраструктуре моей компании ключевым требованием является то, чтобы все пользователи прошли аутентификацию во всех системах Linux с учетными данными Active Directory. Это должно работать как для Debian, так и для дистрибутивов Linux на основе Red Hat.
В этом руководстве будет показано, как настроить SSSD для получения информации из доменов в одном лесу ресурсов Active Directory. Если вы работаете с несколькими лесами AD, это руководство может вам не подойти. Мы также пойдем дальше и настроим правила sudo для пользователей, которые входят в систему через AD. Вот схема, изображающая установку и как она работает.
Итак, выполните следующие действия, чтобы присоединиться к домену Ubuntu 20.04 | 18.04 / Debian 10 в Active Directory (AD).
Шаг 1. Обновите свой APT
Начните с обновления вашей системы Ubuntu / Debian Linux.
sudo apt -y update
Это важно, поскольку установка может завершиться ошибкой, если сервер установлен только что.
Для Ubuntu 20.04 | 18.04 добавьте следующие репозитории в файл sources.list
sudo tee -a /etc/apt/sources.list <<EOF
deb http://us.archive.ubuntu.com/ubuntu/ bionic universe
deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe
EOF
Шаг 2. Задайте имя хоста сервера и DNS
Установите правильное имя хоста для вашего сервера с правильным доменным компонентом.
sudo hostnamectl set-hostname myubuntu.example.com
Подтвердите свое имя хоста:
$ hostnamectl
Static hostname: myubuntu.example.com
Icon name: computer-vm
Chassis: vm
Machine ID: 5beb7ac3260c4f00bcfbe1088f48b8c7
Boot ID: b2a0d9abe43b455fb49484dbaa59dc41
Virtualization: vmware
Operating System: Ubuntu 18.04.1 LTS
Kernel: Linux 4.15.0-29-generic
Architecture: x86-64
Убедитесь, что DNS настроен правильно:
$ cat /etc/resolv.conf
Ubuntu 20.04 | 18.04 поставляется с systemd-resolve, который вам нужно отключить, чтобы сервер мог напрямую обращаться к вашему сетевому DNS.
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
Если вы используете DHCP, вы можете обновить DNS-сервер вручную.
$ sudo unlink /etc/resolv.conf
$ sudo vim /etc/resolv.conf
Шаг 3. Установите необходимые пакеты
Для присоединения системы Ubuntu 20.04 | 18.04 / Debian 10 к домену Active Directory (AD) требуется ряд пакетов.
sudo apt update
sudo apt -y install realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
Только после успешной установки зависимостей вы можете приступить к обнаружению домена Active Directory в Debian 10 / Ubuntu 20.04 / 18.04.
Шаг 4. Откройте для себя домен Active Directory в Debian 10 / Ubuntu 20.04 | 18.04
Команда realm discover возвращает полную конфигурацию домена и список пакетов, которые должны быть установлены для регистрации системы в домене.
$ sudo realm discover example.com
example.com
type: kerberos
realm-name: EXAMPLE.COM
domain-name: example.com
configured: no
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
Замените example.com своим действующим доменом AD.
Шаг 5. Присоединитесь к Ubuntu 20.04 | 18.04 / Debian 10 к домену Active Directory (AD)
Учетная запись администратора AD требуется для интеграции вашего компьютера Linux с доменом Windows Active Directory. Проверьте и подтвердите учетную запись администратора AD и пароль.
Команда realm join настроит локальный компьютер для использования с указанным доменом, настроив как локальные системные службы, так и записи в домене идентификации. У команды есть несколько параметров, которые можно проверить с помощью:
$ realm join --help
Базовое выполнение команды:
$ sudo realm join -U Administrator example.com
Password for Administrator:
Где:
Администратор — это имя учетной записи администратора, используемой для интеграции машины в AD.
example.com — это имя домена AD
Команда сначала пытается подключиться без учетных данных, но при необходимости запрашивает пароль.
Просмотр сведений о текущей области.
$ realm list
example.com
type: kerberos
realm-name: EXAMPLE.COM
domain-name: example.com
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
login-formats: %U@example.com
login-policy: allow-realm-logins
В системах на основе RHEL домашний каталог пользователя будет создан автоматически. В Ubuntu / Debian вам необходимо включить эту функцию.
sudo bash -c "cat > /usr/share/pam-configs/mkhomedir" <<EOF
Name: activate mkhomedir
Default: yes
Priority: 900
Session-Type: Additional
Session:
required pam_mkhomedir.so umask=0022 skel=/etc/skel
EOF
Затем активируйте с помощью:
sudo pam-auth-update
Выберите <OK>
Убедитесь, что выбрано “activate mkhomedir” с помощью звездочки — [*]
Затем выберите <Ok>, чтобы сохранить изменения.
Ваш файл конфигурации sssd.conf находится в /etc/sssd/sssd.conf . При каждом изменении файла требуется перезагрузка.
Статус должен быть запущен.
$ systemctl status sssd
Если интеграция работает, должна быть возможность получить информацию о пользователе AD.
$ id jmutai@example.com
uid=1783929917(jmutai@example.com) gid=1784800513(domain users@example.com) groups=1783870513(domain users@example.com)
Шаг 6. Контроль доступа — Ограничьте до пользователя / группы
Доступ к зарегистрированному серверу можно ограничить, разрешив только определенных пользователей и группы.
Ограничение для пользователей
Чтобы разрешить пользователю доступ через SSH и консоль, используйте команду:
$ sudo realm permit user1@example.com
$ sudo realm permit user2@example.com user3@example.com
Разрешить доступ к группе — Примеры
$ sudo ream permit -g sysadmins
$ sudo realm permit -g 'Security Users'
$ sudo realm permit 'Domain Users' 'admin users'
Это изменит файл sssd.conf .
Если вместо этого вы хотите разрешить доступ всем пользователям, запустите:
$ sudo realm permit --all
Чтобы запретить доступ всем пользователям домена, используйте:
$ sudo realm deny --all
Шаг 7. Настройте доступ через Sudo
По умолчанию у пользователей домена не будет разрешения на повышение привилегий до root. Пользователям должен быть предоставлен доступ на основе имен пользователей или групп.
Давайте сначала создадим файл разрешений sudo.
$ sudo vi /etc/sudoers.d/domain_admins
Добавить одного пользователя:
user1@example.com ALL=(ALL) ALL
Добавить еще одного пользователя:
user1@example.com ALL=(ALL) ALL
user2@example.com ALL=(ALL) ALL
Добавить группу
%group1@example.com ALL=(ALL) ALL
Добавьте группу с пробелами.
%security users@example.com ALL=(ALL) ALL
%system super admins@example.com ALL=(ALL) ALL
Шаг 8. Проверьте доступ по SSH
Получите доступ к серверу удаленно, поскольку пользователю AD разрешено входить в систему.
$ ssh user1@localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:wmWcLi/lijm4zWbQ/Uf6uLMYzM7g1AnBwxzooqpB5CU.
ECDSA key fingerprint is MD5:10:0c:cb:22:fd:28:34:c6:3e:d7:68:15:02:f9:b4:e9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Это подтверждение того, что наша конфигурация прошла успешно.
Посетите вики-страницы realmd и sssd, чтобы узнать больше.
Для ввода LinuxMint в домен Windows нужно скачать и установить пакет от команды PowerBroker Open project (ранее называлась Likewise Open). На странице загрузки заполняем регистрационную форму и получаем на почту ссылку на скачивание пакетов. Если вам нужна демо версия с полным функционалом то нужно поставить галочку в самом низу формы регистрации. Меня полностью устраивает функционал бесплатной версии.
По ссылке полученной на почту заходим на страницу скачивания пакетов. Скачиваем последний стабильный релиз под свою битность ОС.
В терминале переходим в директорию в которую был закачан пакет(у меня это /home/michael) и выдаем ему права на выполнение, затем устанавливаем.
# cd /home/michael
# sudo chmod +x pbis-open-8.5.0.153.linux.x86_64.deb.sh
# sudo ./pbis-open-8.5.0.153.linux.x86_64.deb.sh
На все вопросы отвечаем ‘yes’. После установки откроется окно ввода компьютера в домен.
Нужно ввести имя компьютера и название домена. Повторно запустить окно ввода в домен можно командой.
# sudo /opt/pbis/bin/domainjoin-gui
Нажать Join Domain и ввести учетные данные пользователя имеющего права на ввод в домен Windows в открывшемся окошке.
После ввода в домен нужно перезагрузить компьютер и можно входить с доменными учетными данными.
Прошу не расценивать данный текст как статью. Пусть это будет черновик описания, как ввести Linux Mint в домен Windows.
Все началось с установки последней версии Ubuntu 14.04 и осознания факта того, что пакет likewise-open из него благополучно выпилили. Я как человек, который 2 года работал под Ubuntu в организации безо всяких доменов, был не готов в ритуальным пляскам с профессиональными музыкальными инструментами, поэтому поставил последний Mint, в котором замечательно likewise-open работает и никуда не пропал.
Сначала ставим типомудрого:
sudo apt-get install likewise-open
Если в имени домена есть .local
, то меняем в файле /etc/nsswitch.conf
строчку:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
на
hosts: files dns [NOTFOUND=return]
Иначе компутер будет ругаться, что не может заресолвить свое имя по адресу .local.
Начинаем процедуру входа в домен:
sudo domainjoin-cli join ctt.local jackyfox
ctt.local
— это наш домен, а jackyfox
— мой аккаунт AD с правами админа.
И на последок делаем администраторов домена sudo-юзерами, дописав в /etc/sudoers
строчку:
%Администраторы^домена ALL=(ALL) ALL
Хинт. Чтобы узнать, в каких группах состоишь, набери в сосноли id
UPD: А в кедах, например, группа с именем домена получается:
%CTT\Администраторы^домена
В некоторых случаях приходится логиниться, прибавляя к имени пользователя и имя домена: CTTjackyfox
. Избавиться от этого можно, добавив в файл /etc/samba/lwiauthd.conf
стоку:
winbind use default domain = yes
Потом только службу не забудь перезапустить:
sudo service likewise restart
Ну, а ливнуть с серве… домена всегда можно командой:
sudo domainjoin-cli leave
Forum rules
Topics in this forum are automatically closed 6 months after creation.
-
alexwight
Linux Mint 19 + AD
Всем привет, первый раз играюсь с линуксом, поэтому практически нечего не знаю что где да как, мне нужно завести компьютер на Linux Mint 19 Tara в домен Windows, я понаходил статьи на старые версии линукса и там везде настройки или через likewise-open или чере samba + krb5-user, не то не то не выходит. Первое просто в репозитории отсутствует, второе вполне возможно что то делаю не так.
Расскажу по шагам что сделал
$ sudo nano /etc/hosts
#добавил ип адрес контроллера домена и имя сервера$ sudo nano /etc/nsswitch.conf
#добавил строку
hosts: files dns mdsn4$ sudo nano /etc/resolv.conf
#добавил пару строчек, первая имя сервера (ИП адрес АД) вторая search имя домена.local
что делать дальше, я паралельно буду искать инфуи буду рад любой помощи
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
-
alexwight
Re: Linux Mint 19 + AD
Post
by alexwight » Thu Aug 09, 2018 12:34 am
Такс немного разобрался, поставил себе pbis-open с офф сайта, потом скачал Open sssh, и вроде все заработало, только вот проблема при выходе из сеанса локального юзера, не было никаких кнопок для входа другими пользователям.
Немного порылся в интерфейсе поклацал настройки нечего не спасло, потом установил все таки samba winbind krb5-user, настроил и появилась кнопка войти, но не какие логины не подходят не могу зайти под доменной учётной в систему.
Предварительно прописал в sudoers, админа домена. Пытаюсь войти через кнопку «войти» как просто через логин так и по типу логин@домен но все время пишет не правильный пароль, в общем в доменные учётки не пускает…
Я буду разбирать эту тему дальше но все же нужна помощь, если нужны логи отпишите как их сделать и я все пришлю).
-
Labuzhskiy
- Level 3
- Posts: 174
- Joined: Fri Aug 23, 2013 12:38 am
- Location: RU:ru
Re: Linux Mint 19 + AD
Post
by Labuzhskiy » Mon Aug 13, 2018 6:42 am
«Пытаюсь войти через кнопку «войти» как просто через логин так и по типу логин@домен но все время пишет не правильный пароль, в общем в доменные учётки не пускает… «
А с масками сети порядок? может в этом дело?
-
alexwight
Re: Linux Mint 19 + AD
Post
by alexwight » Mon Aug 13, 2018 8:59 am
Labuzhskiy wrote: ↑
Mon Aug 13, 2018 6:42 am
«Пытаюсь войти через кнопку «войти» как просто через логин так и по типу логин@домен но все время пишет не правильный пароль, в общем в доменные учётки не пускает… «
А с масками сети порядок? может в этом дело?
По идее порядок, сеть локальная все в одном ИП пуле ИП/24 , я попробую еще пару вещей, если у меня что то получится то я опишу в следующем посте настройку через krb5 + ldap
Содержание
- Записки угрюмого поднимателя пингвинов.
- пятница, 16 сентября 2016 г.
- LinuxMint ввод в домен Windows
- Linux машина в домене Windows AD с помощью sssd и krb5
- Ввод компьютера в домен Windows
- Содержание
- Введение
- Настройка DNS
- Настройка синхронизации времени
- Настройка авторизации через Kerberos
- Распространённые ошибки kinit
- Настройка Samba и вход в домен
- Используемые параметры команды net
- Настройка Winbind
- Добавление Winbind в качестве источника пользователей и групп
- Авторизация в Ubuntu через пользователей домена
- Он-лайн авторизация
- Ввод компьютера в домен Windows
- Содержание
- Введение
- Настройка DNS
- Настройка синхронизации времени
- Настройка авторизации через Kerberos
- Распространённые ошибки kinit
- Настройка Samba и вход в домен
- Используемые параметры команды net
- Настройка Winbind
- Добавление Winbind в качестве источника пользователей и групп
- Авторизация в Ubuntu через пользователей домена
- Он-лайн авторизация
- Integrate Linux Mint 19.1 to Windows Server 2019 Active Directory Domain Controller
Записки угрюмого поднимателя пингвинов.
*nix заметки на память
пятница, 16 сентября 2016 г.
LinuxMint ввод в домен Windows
Для ввода LinuxMint в домен Windows нужно скачать и установить пакет от команды PowerBroker Open project (ранее называлась Likewise Open). На странице загрузки заполняем регистрационную форму и получаем на почту ссылку на скачивание пакетов. Если вам нужна демо версия с полным функционалом то нужно поставить галочку в самом низу формы регистрации. Меня полностью устраивает функционал бесплатной версии.
По ссылке полученной на почту заходим на страницу скачивания пакетов. Скачиваем последний стабильный релиз под свою битность ОС.
В терминале переходим в директорию в которую был закачан пакет(у меня это /home/michael) и выдаем ему права на выполнение, затем устанавливаем.
На все вопросы отвечаем ‘yes’. После установки откроется окно ввода компьютера в домен.
Нужно ввести имя компьютера и название домена. Повторно запустить окно ввода в домен можно командой.
Нажать Join Domain и ввести учетные данные пользователя имеющего права на ввод в домен Windows в открывшемся окошке.
После ввода в домен нужно перезагрузить компьютер и можно входить с доменными учетными данными.
Источник
Была необходимость ввести в домен Windows машину с Ubuntu. Для этих целей обычно используют Samba и Winbind. Но возможен альтернативный вариант с sssd, краткое руководство по нему ниже.
Для примера будем использовать:
Домен = contoso.com
Контроллер домена = dc.contoso.com
Запускаем терминал Ubuntu:
1. Переключаемся под рута
2. Устанавливаем необходимые пакеты
3. Редактируем /etc/krb5.conf, в качестве отступов используется табуляция
4. Редактируем файл /etc/hosts, указываем FQDN для данного хоста:
5. Пробуем получить Kerberos ticket от имени администратора домена:
Если тикет получен успешно, то теперь можно сгенерировать Kerberos principals для данного хоста, регистр важен:
Сейчас наш хост должен отобразиться в списке компьютеров в каталоге. Если все так — удаляем полученный Kerberos ticket:
6. Создаем файл /etc/sssd/sssd.conf со следующим содержимым:
Описание параметров конфигфайла sssd можно посмотреть тут
Устанавливаем права доступа для файла sssd.conf:
Перезапускаем SSSD service
7. Редактируем настройки PAM
редактируем файл /etc/pam.d/common-session, после строки
переопределить параметры через системные настройки PAM, вызываем
и отмечаем пункты sss auth и makehomdir. Это автоматически добавит
строчку выше в common-session и она не будет перезатерта при обновлении системы.
Теперь мы можем логиниться на машине доменными пользователями, которым разрешен вход.
P.S.: Можно дать права на использование sudo доменным группам. Используя visudo, редактируем файл /etc/sudoers, или лучше, как рекомендует maxzhurkin и iluvar, создаем новый файл в /etc/sudoers.d/ и редактируем его
добавляем требуемую группу — например, Domain Admins (если в названии группы есть пробелы — их необходимо экранировать):
P.S.S.: Спасибо gotch за информацию о realmd. Очень удобно — если не нужны специфические настройки, то ввод машины в домен занимает, по сути, три (как заметил osipov_dv четыре) команды:
1. Устанавливаем нужные пакеты:
2. Редактируем файл /etc/hosts, указываем FQDN для данного хоста:
3. Проверяем, что наш домен виден в сети:
4. Вводим машину в домен:
5. Редактируем настройки PAM
Дополнительный плюс данного варианта — сквозная авторизация на файловых ресурсах домена.
Источник
Ввод компьютера в домен Windows
Содержание
Введение
Зачастую возникает необходимость ввести Linux-машину в существующий домен Windows. Например, чтобы сделать файловый сервер с помощью Samba. Сделать это очень просто, для этого вам понадобятся клиент Kerberos, Samba и Winbind.
Перед установкой желательно обновиться:
Установить всё это добро можно командой:
Также может понадобиться установить следующие библиотеки:
Либо, если вы используете Ubuntu Desktop, те же пакеты можно поставить через менеджер пакетов Synaptic.
Настройка DNS
Если у вас статический IP-адрес, то в Ubuntu Desktop это можно сделать через Network Manager, в Ubuntu Server необходимо изменить содержимое файла /etc/resolv.conf на примерно такое:
В современных дистрибутивах файл resolv.conf создается автоматически и править вручную его не нужно. Для получение нужного результата нужно добавить необходимые изменения в файл: /etc/resolvconf/resolv.conf.d/head Данные которые будут добавлены в него, будут автоматически вставлены в файл /etc/resolv.conf
Чтобы добавить еще один nameserver нужно убрать комментарий перед prepend domain-name-servers и указать ip сервера:
Для применения изменений остается перезапустить службу:
Теперь убедитесь, что вы задали нужное имя компьютера в файле /etc/hostname :
Кроме того необходимо отредактировать файл /etc/hosts так, чтобы в нём была запись с полным доменным именем компьютера и обязательно коротким именем хоста, ссылающаяся на один из внутренних IP:
Сразу нужно проверить что нормально пингуется наш контроллер домена, по короткому и полному имени, чтобы в будушем не получать ошибки что контроллер домена не найден:
Настройка синхронизации времени
Далее необходимо настроить синхронизацию времени с доменконтроллером. Если разница будет более 5 минут мы не сможем получить лист от Kerberos. Для единовременной синхронизации можно воспользоваться командой:
Если в сети существует сервер точного времени, то можно воспользоваться им или любым публичным:
После чего перезапустите демон ntpd :
Теперь пора настраивать непосредственно взаимодействие с доменом.
Настройка авторизации через Kerberos
Это не все возможные опции настройки Kerberos, только основные. Однако их обычно достаточно.
Теперь настало время проверить, что мы можем авторизоваться в домене. Для этого выполните команду
Вместо username естественно стоит вписать имя существующего пользователя домена.
Убедиться в том, что билет получен, можно выполнив команду
Удалить все билеты (они вам вообще говоря не нужны) можно командой
Распространённые ошибки kinit
Это значит, что у вашего компьютера не синхронизировано время с доменконтроллером (см. выше).
Вы ввели неверный пароль.
Указанного пользователя не существует в домене.
Настройка Samba и вход в домен
После того, как вы отредактируете smb.conf выполните команду
Она проверит вашу конфигурацию на ошибки и выдаст суммарную сводку о нём:
Как видно мы задали правильные параметры для того, чтобы наш компьютер стал членом домена. Теперь пора попытаться непосредственно войти в домен. Для этого введите команду:
И в случае успеха вы увидите что-то похожее на:
Используемые параметры команды net
-U username%password : Обязательный параметр, вместо username необходимо подставить имя пользователя с правами администратора домена, и указать пароль.
Так же можно набрать команду:
Если все хорошо, можно увидеть:
Но иногда после сообщения о присоединении к домену выдаётся ошибка наподобие 3) :
Если всё прошло без ошибок, то поздравляем, вы успешно вошли в домен! Можете заглянуть в AD и убедиться в этом. Кроме того хорошо бы проверить, что вы можете видеть ресурсы в домене. Для этого установите smbclient :
Теперь можно просматривать ресурсы компьютеров домена. Но для этого нужно иметь билет kerberos, т.е. если мы их удалили, то получаем опять через kinit (см. выше). Посмотрим какие ресурсы предоставлены в сеть компьютером workstation :
Вы должны увидеть список общих ресурсов на этом компьютере.
Настройка Winbind
Winbind позволяет спроецировать всех пользователей и все группы AD в вашу Linux систему, присвоив им ID из заданного диапазона. Таким образом вы сможете назначать пользователей домена владельцами папок и файлов на вашем компьютере и выполнять любые другие операции, завязанные на пользователей и группы.
в новых версиях Samba уже устарели и при проверке конфига самбы с помощью testparm будет выдваться предупреждение:
WARNING: The «idmap uid» option is deprecated
WARNING: The «idmap gid» option is deprecated
Чтобы убрать предупреждения нужно заменить эти строки на новые:
idmap config * : range = 10000-20000
idmap config * : backend = tdb
Теперь перезапустите демон Winbind и Samba в следующем порядке:
Смотрим есть ли ошибки или предупреждения, если появится:
«rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)»
Без перезагрузки можно устранить так:
Для сохранения после перезагрузки отредактировать файл /etc/security/limits.conf
После перезапуска проверьте, что Winbind установил доверительные отношения с AD командой:
А так же, что Winbind увидел пользователей и группы из AD командами 4) :
Итак, Winbind работает, однако в систему он ещё не интегрирован.
Добавление Winbind в качестве источника пользователей и групп
Для того, чтобы ваша Ubuntu прозрачно работала с пользователями домена, в частности, чтобы вы могли назначать пользователей домена владельцами папок и файлов, необходимо указать Ubuntu использовать Winbind как дополнительный источник информации о пользователях и группах.
Для этого измените две строчки в файле /etc/nsswitch.conf :
добавив к ним в конец winbind :
также рекомендую привести строку files в файле /etc/nsswitch.conf к виду:
Теперь проверьте, что Ubuntu запрашивает у Winbind информацию о пользователях и группах, выполнив
Теперь вы можете взять любого пользователя домена и сделать его, например, владельцем какого-нибудь файла.
Авторизация в Ubuntu через пользователей домена
Несмотря на то, что все пользователи домена фактически стали полноценными пользователями системы (в чём можно убедиться, выполнив последние две команды из предыдущего раздела), зайти ни под кем из них в систему всё ещё нельзя. Для включения возможности авторизации пользователей домена на компьютере с Ubuntu необходимо настроить PAM на работу с Winbind.
Он-лайн авторизация
Для Ubuntu 13.10 чтобы появилось поле ручного ввода логина необходимо в любой файл из папки /etc/lightdm/lightdm.conf/ снизу добавить строку:
И, наконец, необходимо перенести запуск Winbind при загрузке системы после всех остальных служб (по умолчанию он запускается с индексом 20). Для этого в терминале выполните следующую команду:
Готово, все настройки завершены. Перезагружайтесь и пытайтесь войти с учетной записью пользователя домена.
Источник
Ввод компьютера в домен Windows
Содержание
Введение
Зачастую возникает необходимость ввести Linux-машину в существующий домен Windows. Например, чтобы сделать файловый сервер с помощью Samba. Сделать это очень просто, для этого вам понадобятся клиент Kerberos, Samba и Winbind.
Перед установкой желательно обновиться:
Установить всё это добро можно командой:
Также может понадобиться установить следующие библиотеки:
Либо, если вы используете Ubuntu Desktop, те же пакеты можно поставить через менеджер пакетов Synaptic.
Настройка DNS
Если у вас статический IP-адрес, то в Ubuntu Desktop это можно сделать через Network Manager, в Ubuntu Server необходимо изменить содержимое файла /etc/resolv.conf на примерно такое:
В современных дистрибутивах файл resolv.conf создается автоматически и править вручную его не нужно. Для получение нужного результата нужно добавить необходимые изменения в файл: /etc/resolvconf/resolv.conf.d/head Данные которые будут добавлены в него, будут автоматически вставлены в файл /etc/resolv.conf
Чтобы добавить еще один nameserver нужно убрать комментарий перед prepend domain-name-servers и указать ip сервера:
Для применения изменений остается перезапустить службу:
Теперь убедитесь, что вы задали нужное имя компьютера в файле /etc/hostname :
Кроме того необходимо отредактировать файл /etc/hosts так, чтобы в нём была запись с полным доменным именем компьютера и обязательно коротким именем хоста, ссылающаяся на один из внутренних IP:
Сразу нужно проверить что нормально пингуется наш контроллер домена, по короткому и полному имени, чтобы в будушем не получать ошибки что контроллер домена не найден:
Настройка синхронизации времени
Далее необходимо настроить синхронизацию времени с доменконтроллером. Если разница будет более 5 минут мы не сможем получить лист от Kerberos. Для единовременной синхронизации можно воспользоваться командой:
Если в сети существует сервер точного времени, то можно воспользоваться им или любым публичным:
После чего перезапустите демон ntpd :
Теперь пора настраивать непосредственно взаимодействие с доменом.
Настройка авторизации через Kerberos
Это не все возможные опции настройки Kerberos, только основные. Однако их обычно достаточно.
Теперь настало время проверить, что мы можем авторизоваться в домене. Для этого выполните команду
Вместо username естественно стоит вписать имя существующего пользователя домена.
Убедиться в том, что билет получен, можно выполнив команду
Удалить все билеты (они вам вообще говоря не нужны) можно командой
Распространённые ошибки kinit
Это значит, что у вашего компьютера не синхронизировано время с доменконтроллером (см. выше).
Вы ввели неверный пароль.
Указанного пользователя не существует в домене.
Настройка Samba и вход в домен
После того, как вы отредактируете smb.conf выполните команду
Она проверит вашу конфигурацию на ошибки и выдаст суммарную сводку о нём:
Как видно мы задали правильные параметры для того, чтобы наш компьютер стал членом домена. Теперь пора попытаться непосредственно войти в домен. Для этого введите команду:
И в случае успеха вы увидите что-то похожее на:
Используемые параметры команды net
-U username%password : Обязательный параметр, вместо username необходимо подставить имя пользователя с правами администратора домена, и указать пароль.
Так же можно набрать команду:
Если все хорошо, можно увидеть:
Но иногда после сообщения о присоединении к домену выдаётся ошибка наподобие 3) :
Если всё прошло без ошибок, то поздравляем, вы успешно вошли в домен! Можете заглянуть в AD и убедиться в этом. Кроме того хорошо бы проверить, что вы можете видеть ресурсы в домене. Для этого установите smbclient :
Теперь можно просматривать ресурсы компьютеров домена. Но для этого нужно иметь билет kerberos, т.е. если мы их удалили, то получаем опять через kinit (см. выше). Посмотрим какие ресурсы предоставлены в сеть компьютером workstation :
Вы должны увидеть список общих ресурсов на этом компьютере.
Настройка Winbind
Winbind позволяет спроецировать всех пользователей и все группы AD в вашу Linux систему, присвоив им ID из заданного диапазона. Таким образом вы сможете назначать пользователей домена владельцами папок и файлов на вашем компьютере и выполнять любые другие операции, завязанные на пользователей и группы.
в новых версиях Samba уже устарели и при проверке конфига самбы с помощью testparm будет выдваться предупреждение:
WARNING: The «idmap uid» option is deprecated
WARNING: The «idmap gid» option is deprecated
Чтобы убрать предупреждения нужно заменить эти строки на новые:
idmap config * : range = 10000-20000
idmap config * : backend = tdb
Теперь перезапустите демон Winbind и Samba в следующем порядке:
Смотрим есть ли ошибки или предупреждения, если появится:
«rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)»
Без перезагрузки можно устранить так:
Для сохранения после перезагрузки отредактировать файл /etc/security/limits.conf
После перезапуска проверьте, что Winbind установил доверительные отношения с AD командой:
А так же, что Winbind увидел пользователей и группы из AD командами 4) :
Итак, Winbind работает, однако в систему он ещё не интегрирован.
Добавление Winbind в качестве источника пользователей и групп
Для того, чтобы ваша Ubuntu прозрачно работала с пользователями домена, в частности, чтобы вы могли назначать пользователей домена владельцами папок и файлов, необходимо указать Ubuntu использовать Winbind как дополнительный источник информации о пользователях и группах.
Для этого измените две строчки в файле /etc/nsswitch.conf :
добавив к ним в конец winbind :
также рекомендую привести строку files в файле /etc/nsswitch.conf к виду:
Теперь проверьте, что Ubuntu запрашивает у Winbind информацию о пользователях и группах, выполнив
Теперь вы можете взять любого пользователя домена и сделать его, например, владельцем какого-нибудь файла.
Авторизация в Ubuntu через пользователей домена
Несмотря на то, что все пользователи домена фактически стали полноценными пользователями системы (в чём можно убедиться, выполнив последние две команды из предыдущего раздела), зайти ни под кем из них в систему всё ещё нельзя. Для включения возможности авторизации пользователей домена на компьютере с Ubuntu необходимо настроить PAM на работу с Winbind.
Он-лайн авторизация
Для Ubuntu 13.10 чтобы появилось поле ручного ввода логина необходимо в любой файл из папки /etc/lightdm/lightdm.conf/ снизу добавить строку:
И, наконец, необходимо перенести запуск Winbind при загрузке системы после всех остальных служб (по умолчанию он запускается с индексом 20). Для этого в терминале выполните следующую команду:
Готово, все настройки завершены. Перезагружайтесь и пытайтесь войти с учетной записью пользователя домена.
Источник
Integrate Linux Mint 19.1 to Windows Server 2019 Active Directory Domain Controller
This tutorial will describe how you can join machines that run Linux Mint 17.1 OS to Windows 2012 Active Directory Domain Controller in order to authenticate remote accounts from AD back end identity provider to local Linux workstations with the help of SSSD service and Realmd system DBus service.
The System Security Services Daemon (SSSD) is a relative new service which provides cross-domain compatible methods for Active Directory users to authenticate to local machines using a combination of usernames and domain back end name to create the login identity, even if the Domain Controller goes offline (SSSD caches credentials).
REQUIREMENTS
Domain Settings:
STEP ONE – Linux Mint Network Configuration
edit network interface settings
add DNS IP Address
If multiple Domain Controllers machines exists on your network then you can also add their IP Addresses on IPv4 DNS settings fields.
2. After you’re done, hit on Apply button and switch the edited Network Interface from ON to OFF and then back to ON in order to apply the new settings. After the network interface is started again, open a Terminal console and issue a ping command against your PDC domain name in order to verify if the settings are successfully applied and the domain name responds with the correct IP Address and FQDN of the PDC.
apply network settings
ping domain controller
If you want to avoid all this manual settings, then configure a DHCP server at your premises to automatically assign network settings, especially DNS entries, that will point to your Windows PDC IP Addresses needed for DNS resolution in order to reach the AD PDC.
STEP TWO – Install Required Software Packages
As presented at the beginning of this tutorial, in order to integrate a Linux Mint machine to an Active Directory Domain Controller you need to install the SSSD service along with the following software packages and dependency:
– SSSD service (responsible with back end realm authentication) with the following dependencies: sssd-tools (optional, but useful for sssd cache, user and groups manipulation), libpam-sss (PAM modules for local authentication) and libnss-sss (NSS modules for local DNS resolution)
– Realmd (system DBus service which manages domain integration and local resources permissions)
– The following Samba Modules : samba-common-bin and samba-libs (File sharing compatibility between Windows and Linux machines)
– Krb5-user (Client network authentication and communication with the PDC server)
– ADcli (Tools for joining domain and perform other actions on an AD)
– PackageKit (Linux cross-platform packages management for interoperabillity and user privileges for software installations)
3. Now, let’s start installing the above enumerated packages by opening a Terminal console on Linux Mint and issuing the following commands with sudo privileges:
First install Realmd and SSSD service:
[terminal]
sudo apt-get install realmd sssd sssd-tools libpam-sss libnss-sss
[/terminal]
install realmd and sssd service
4. Next install Samba modules (by default this modules might be already installed on your system):
[terminal]
sudo apt-get install samba-libs samba-common-bin
[/terminal]
install samba modules
[terminal]
sudo apt-get install krb5-user adcli packagekit
[/terminal]
install kerberos, adcli and packagekit packages
Configure Kerberos realm
STEP THREE – Edit Configuration Files for SSSD, Realmd and PAM
6. Next step before starting joining Linux Mint to Windows Server AD PDC is to configure the local services for AD network authentication. By default the SSSD service has no configuration file defined on /etc/sssd/ path. In order to create a default configuration file for SSSD service, issue the following command to create and simultaneous edit the file:
[terminal]
sudo nano /etc/sssd/sssd.conf
[/terminal]
SSSD configuration file excerpt:
[terminal]
[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3
[pam]
reconnection_retries = 3
[sssd]
domains = CAEZSAR.LAN
config_file_version = 2
services = nss, pam
[domain/CAEZSAR.LAN]
ad_domain = CAEZSAR.LAN
krb5_realm = CAEZSAR.LAN
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%d/%u
access_provider = ad
[/terminal]
sssd configuration file
For other options and parameters concerning sssd.conf file run man sssd command.
7. The next step is to create and edit a configuration file for Realmd in order to avoid some eventual package dependency problems by issuing the following command:
[terminal]
sudo nano /etc/realmd.conf
[/terminal]
Use the following configurations for realmd file:
automatic-install = no
[/terminal]
After you add the above lines, save the file and close it.
[terminal]
sudo nano /etc/pam.d/common-session
[/terminal]
Add the following line as presented on the below screenshot:
[terminal]
session optional pam_mkhomedir.so skel = /etc/skel/ mask=0077
[/terminal]
PAM common-session file
After you have edited the file, save it and close it, and proceed to the next step in order to make Linux Mint a part of the Windows Domain Controller.
STEP FOUR – Join Linux Mint to Windows Server 2012 Active Directory Domain Controller
9. Before joining the Linux Mint client to Windows PDC, first issue the discovery command against your domain name in order to view the complete realm configurations and a package list of software that must be installed on the client machine before you enroll it in the realm.
[terminal]
sudo realm discover domain.tld
[/terminal]
realm discover domain
10. If everything is correctly setup at the client side and the domain controller responds, issue the following command in order to integrate Linux Mint client machine to Windows Server 2012 AD PDC.
Once the command returns successfully status and ads Linux Mint to AD you can use the sudo realm list command to view full details and the default configurations for your domain.
To manage sssd service use the following command switches (you don’t need to manually start the sssd service because it’s automatically started by the realmd when the machine is enrolled to realm):
[terminal]
sudo service sssd status|start|stop
[/terminal]
11. To check if the machine appears on the Domain Controller, go to your Windows Server 2012, open Active Directory Users and Computers utility and search your Linux Mint hostname.
Active Directory Users and Computers
STEP FIVE – Log In on Linux Mint with Active Directory Accounts
12. To authenticate on Linux Mint with and an Active Directory user, first you need to add a permit rule on local policies in order to grant access for all realm users on local machine, by issuing the following command:
[terminal]
sudo realm permit –all
[/terminal]
To grant access just for a specific AD user or group use the following command syntax:
[terminal]
sudo realm permit domain –x domainAD_username
[/terminal]
13. To perform Terminal console command line authentications on Linux Mint host with an Active Directory account, use double backslashes to escape the backslash which separates the domain string from user, as shown in the below syntax (you can append the dot domain or use just the domain string):
[terminal]
su – domain.tld\AD_username
[/terminal]
[terminal]
su – domain\AD_username
[/terminal]
ad user login without dot domain
14. To log in with an AD account on Linux using Putty or to perform Linux Mint MDM GUI logins use the following syntax:
AD user Putty login
STEP SIX – Add Root Permissions to AD Domain Admins Users
16. In case you want to allow all Active Directory Domain Admins to have full administrative permissions in order to execute any command with root privileges on the Linux Mint machine, open the local sudoers file for editing and add the following line:
[terminal]
sudo nano /etc/sudoers
[/terminal]
[terminal]
sudo visudo
[/terminal]
Add this line after %sudo line:
[terminal]
%domain admins@domain.tld ALL=(ALL) ALL
[/terminal]
add domain admins root privileges
17. In case you don’t want your Linux Mint machine to be a part of the domain anymore, issue the following command to leave the domain:
That’s all! Now, the machine running Linux Mint 17.1 is integrated as a part of Windows Active Directory Domain Controller and can successfully replace your old Windows XP machine, for which Microsoft has stopped its support, but keep in mind that some features and, especially, a huge part of Active Directory Group Policy, don’t apply on Linux systems.
Источник
В этой статье будет описан процесс добавления Linux-машины (Ubuntu 20.04) в домен Windows AD.
Шаг 1. Установка пакетов и подготовка
sudo apt updatesudo apt upgrade
После этого установите требуемые пакеты.
sudo apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
Далее мы настроим все инструменты. Вам требуется знать:
- Домен: office.local
- IP DNS-сервера: 192.168.0.1
- IP второго DNS-сервера: 192.168.0.2
Шаг 2. Настройка DNS
Откройте конфигурационный файл netplan:
sudo nano /etc/netplan/*.yaml
Если вы видите там «dhcp4: true», то есть ваш DHCP-сервер настроен корректно, переходите к следующему шагу. Если вы настраиваете параметры сетевого подключения вручную, ознакомьтесь с примером настройки:
network:ethernets:enp0s3:addresses:- 192.168.0.15/24gateway4: 192.168.0.10nameservers:addresses: [192.168.0.1, 192.168.0.2]search:- office.localoptional: trueversion: 2
- addresses — это IP, назначаемый сетевой карте;
- gateway4 — IP роутера;
- nameservers — DNS-сервера;
- search — целевой домен.
sudo netplan apply
Шаг 3. Обнаружение домена, присоединение к нему и проверка результата.
В первую очередь требуется обнаружить домен:
realm discover office.local
Вы увидите что-то подобное. Это означает, что настройки сети верны и машина получила ответ от домена. Если нет, вам необходимо проверить настройки сети, домен и работоспособность DNS.
office.localtype: kerberosrealm-name: OFFICE.LOCALdomain-name: office.localconfigured: no...
Затем присоединитесь к домену AD. Замените admin1 на имя администратора и укажите пароль.
realm join -U admin1 office.localPassword for admin1:
Проверьте, возможен ли прием информации о пользователе AD. Замените user1 на имя пользователя вашего домена.
id user1@office.localuid=687821651(user1@office.local) gid=687800512(user1@office.local) groups=687800512(domain users@office.local)
Шаг 4. Последние настройки и авторизация.
Необходимо произвести настройку, чтобы в будущем каждый раз не добавлять имя домена к имени пользователя.
sudo nano /etc/sssd/sssd.conf
Измените значение use_fully_qualified_names на False. Перезагрузите и проверьте:
sudo systemctl restart sssdid useruid=687821651(user1@office.local) gid=687800512(user1@office.local) groups=687800512(domain users@office.local)
Теперь нужно настроить создание домашних каталогов для пользователей AD при входе в систему.
sudo nano /etc/pam.d/common-session#add this line in the end of filesession optional pam_mkhomedir.so skel=/etc/skel umask=077
Войдите в систему как пользователь AD.
su – userPassword:Creating directory '/home/user1@office.local'.user1@ubuntu-server:~$
Это означает, что вы успешно вошли в систему как пользователь AD.
Также вы можете разрешить авторизацию для некоторых пользователей и групп AD или же ограничить других. В приведенном ниже примере настроен запрет для всех пользователей, кроме user0, user1 и группы Main Admins.
sudo realm deny –allsudo realm permit user0@office.local user1@office.localsudo realm permit -g 'Main Admins'
Настройка пользователей AD для получения root-прав такая же, как и для локальных, но выполняется в другом файле.
sudo nano /etc/sudoers.d/admins
Добавьте к нему нужные строки. Например:
user ALL=(ALL) ALL%Domain\ Admins ALL=(ALL) ALL
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
Была необходимость ввести в домен Windows машину с Ubuntu. Для этих целей обычно используют Samba и Winbind. Но возможен альтернативный вариант с sssd, краткое руководство по нему ниже.
Для примера будем использовать:
Домен = contoso.com
Контроллер домена = dc.contoso.com
Запускаем терминал Ubuntu:
1. Переключаемся под рута
sudo -i
2. Устанавливаем необходимые пакеты
apt install sssd heimdal-clients msktutil
3. Редактируем /etc/krb5.conf, в качестве отступов используется табуляция
[libdefaults]
default_realm = CONTOSO.COM
[realms]
CONTOSO.COM = {
kdc = DC
admin_server = dc.contoso.com
default_domain = contoso.com
}
[login]
krb4_convert = true
krb4_get_tickets = false
[domain_realm]
.contoso.com = CONTOSO.COM
contoso.com = CONTOSO.COM
4. Редактируем файл /etc/hosts, указываем FQDN для данного хоста:
127.0.0.1 localhost
127.0.1.1 <hostname>.contoso.com <hostname>
5. Пробуем получить Kerberos ticket от имени администратора домена:
root@ubuntu:~# kinit YourDomainAdmin
YourDomainAdmin@CONTOSO.COM's Password:
Проверяем:
root@ubuntu:~# klist
Credentials cache: FILE:/tmp/krb5cc_0
Principal: YourDomainAdmin@CONTOSO.COM
Issued Expires Principal
Dec 1 15:08:27 2018 Dec 2 01:08:22 2018 krbtgt/CONTOSO.COM@CONTOSO.COM
Если тикет получен успешно, то теперь можно сгенерировать Kerberos principals для данного хоста, регистр важен:
msktutil -c -b 'CN=YourComputersOU' -s HOST/HOSTNAME.contoso.com -k /etc/sssd/HOSTNAME.keytab --computer-name HOSTNAME --upn HOSTNAME$ --server dc.contoso.com —user-creds-only
msktutil -c -b 'CN=YourComputersOU' -s HOST/HOSTNAME -k /etc/sssd/HOSTNAME.keytab --computer-name HOSTNAME --upn HOSTNAME$ --server dc.contoso.com --user-creds-only
Сейчас наш хост должен отобразиться в списке компьютеров в каталоге. Если все так — удаляем полученный Kerberos ticket:
kdestroy
6. Создаем файл /etc/sssd/sssd.conf со следующим содержимым:
[sssd]
services = nss, pam
config_file_version = 2
domains = contoso.com
[nss]
entry_negative_timeout = 0
debug_level = 3
[pam]
debug_level = 3
[domain/contoso.com]
debug_level = 3
ad_domain = contoso.com
ad_server = dc.contoso.com
enumerate = false
id_provider = ad
auth_provider = ad
chpass_provider = ad
access_provider = simple
simple_allow_groups = users #каким группам разрешено логиниться, через запятую. Есть ограничение — названия групп должны быть с маленькой буквы.
ldap_schema = ad
ldap_id_mapping = true
fallback_homedir = /home/%u
default_shell = /bin/bash
ldap_sasl_mech = gssapi
ldap_sasl_authid = <HOSTNAME>$
ldap_krb5_init_creds = true
krb5_keytab = /etc/sssd/<HOSTNAME>.keytab
Описание параметров конфигфайла sssd можно посмотреть тут
Устанавливаем права доступа для файла sssd.conf:
chmod 600 /etc/sssd/sssd.conf
Перезапускаем SSSD service
service sssd restart
7. Редактируем настройки PAM
Плохое решение:
редактируем файл /etc/pam.d/common-session, после строки
session required pam_unix.so
добавляем строку
session required pam_mkhomedir.so skel=/etc/skel umask=0022
Хорошее решение:
переопределить параметры через системные настройки PAM, вызываем
pam-auth-update
и отмечаем пункты sss auth и makehomdir. Это автоматически добавит
строчку выше в common-session и она не будет перезатерта при обновлении системы.
Теперь мы можем логиниться на машине доменными пользователями, которым разрешен вход.
P.S.: Можно дать права на использование sudo доменным группам. Используя visudo, редактируем файл /etc/sudoers, или лучше, как рекомендует maxzhurkin и iluvar, создаем новый файл в /etc/sudoers.d/ и редактируем его
visudo -f /etc/sudoers.d/ваш_файл
добавляем требуемую группу — например, Domain Admins (если в названии группы есть пробелы — их необходимо экранировать):
%Domain Admins ALL=(ALL) ALL
P.S.S.: Спасибо gotch за информацию о realmd. Очень удобно — если не нужны специфические настройки, то ввод машины в домен занимает, по сути, три (как заметил osipov_dv четыре) команды:
1. Устанавливаем нужные пакеты:
sudo apt install realmd samba-common-bin samba-libs sssd-tools krb5-user adcli
2. Редактируем файл /etc/hosts, указываем FQDN для данного хоста:
127.0.0.1 localhost
127.0.1.1 <hostname>.contoso.com <hostname>
3. Проверяем, что наш домен виден в сети:
realm discover contoso.com
4. Вводим машину в домен:
sudo realm --verbose join contoso.com -U YourDomainAdmin --install=/
5. Редактируем настройки PAM
sudo pam-auth-update
Дополнительный плюс данного варианта — сквозная авторизация на файловых ресурсах домена.
Для того чтоб при входе не указывать дополнительно к логину домен, можно добавить суффикс по умолчанию. В файле /etc/sssd/sssd.conf, в блоке [sssd] добавляем строку:
default_domain_suffix = contoso.com
█ 27.07.2014 16:31
Послушав добрые отзывы — попробовал «классическую» для себя задачу — поставить данную OS и ввести в Windows-домен.
Всё делается в виртуалках.
Windows:
Поднят домен Bla-Bla-Bla.local на Windows Server 2008R2 x64(русская версия)
Имя сервера win2008
Заведён один доменный пользователь — Kirill
Одна папка была расшарена
Linux Mint:
Взята последняя версия
При установке был заведён один пользователь — Kir
Сначала пытался использовать , но наткнулся на то, что likewise-open уже не поддерживается, и не ставится.
Перешёл к более .
В общем-то, получилось (если интересно — могу написать полностью — как и что делалось).
Но — ряд вопросов, на которые я не смог найти ответа — остались.
- Список пользователей на экране входа. С одной стороны — замечательно, с другой, если пользователей много — ну, какое-то излишество. Хочется как-то обойти этот вариант, и оставить вариант с вводом и имени пользователя и пароля.
- Не удалось добавить доменных администраторов в группу SUDO. Пытался в /etc/sudoers добавлять строки
Код:
"%:администраторы домена" ALL=(ALL) ALL
Цитата:
%администраторы^домена ALL=(ALL) ALL
Не помогает…
- При просмотре сетевого окружения не видно windows-домена (видна только рабочая группа WORKGROUP), и, соответственно, сетевых ресурсов. Хотя
Код:
smbclient -k -L win2008
всё показывает.
Продолжение следует
█ 27.07.2014 17:50
На самом деле Mint — домашняя система, как и убунта в целом. Для тырпрайза я бы стал пробовать Fedora и OpenSuse, как я помню, там домен «из коробки». Надо почитать немного, не интересовался.
█ 27.07.2014 20:23
Ну, с Suse я пытался это сделать в первую очередь — лет шесть (семь?) назад.
С Open Suse — так и не взлетело, а с SLED — получилось, но я что-то так и не понял — что это за лицензия, что в ней платное, что нет….
Собственно, поэтому и написал, что задача для меня — «классическая»
Я раз в год/два выбираю какой-либо дистрибутив и пытаюсь её решить.
На самом деле с Mint получилось проще, чем со всем остальным (пробовал Suse, Ubuntu, Debian)
█ 27.07.2014 21:14
Шесть-семь лет назад все было очень другое… У меня просто нет задачи с доменом связываться… Я, хоть и осознаю все предлагаемые преимущества, терпеть его не могу, поэтому при возможности избегаю.
█ 27.07.2014 23:52
1) По поводу списка пользователей
Ну да, он большой, но всё же можно не выбирать пользователя, а ввести его имя самостоятельно. Уже легче.
Есть подозрение, что что-то «опаздывает» стартовать. После перезагрузки — список из одного пользователя (пользователь из Mint — kir), после выхода из системы (смены пользователя) — список из пяти пользователей (пользователь из Mint — Kir и четыре пользователя из Windows — kirill, krbtgt, администратор, гость). Видел описания подобного плана проблем,
2) Доменные администраторы.
Пытался таким образом
Код:
sudo net groupmap add ntgroup="администраторы домена" rid=512 unixgroup=root type=d
потом
Код:
sudo net groupmap list
получаю
Цитата:
администраторы домена (S-1-5-21-2566627089-3143404197-3222414988-512) -> root
На всякий случай — перезагружаюсь, вхожу доменным администратором
запускаю
получаю
Цитата:
Пользователю kirill запрещено выполнять ‘/bin/bash’ с правами root на Linux-mint.blablabla.local
Плюнул, и стал «подбирать» — что же правильно написать в /etc/sudoers
И таки нашёл
Код:
%администраторы домена ALL=(ALL) ALL
Т.е. перед именем группы ставится %, пробелы в наименовании экранируются символом
3) С сетевым окружением буду ещё думать.
█ 28.07.2014 16:32
Продолжаю продолжать
Захотелось получить аналог remoteapp
Наткнулся на
Установка, указанная на сайте:
Код:
sudo add-apt-repository ppa:realender/winconn sudo apt-get update sudo apt-get install winconn
почему-то не пошла (ошибка 404 при sudo apt-get update)
Пошёл сложным путём…
Открыл и уже оттуда скачал/установил.
Пытаюсь добавить приложение, как нарисовано на
— ничего не получается.
Поискав — наткнулся на то, что надо править реестр в Windows
Идём
HKLocalMachineSOFTWAREPoliciesMicrosoftWindows NT
если нет, создаём папку
Terminal Services (у меня была)
и уже тут создаём параметр Dword32
fAllowUnlistedRemotePrograms
со значением
1
После этой правки — заработал 1с, расположенный на Win2008
Недостатки:
1) Не работает выпадающее меню в левом верхнем углу и правом верхнем углу)
2) Какие-то «козябрики» в наименовании окна
Недостаток 2 — это, в общем-то, ерунда, а вот недостаток 1 — надо смотреть — как и почему (возможно, проблема в виртуалке?)
Во вложениях — работающий Winconn и пример настройки для 1с
█ 28.07.2014 17:11
Цитата:
Скачиваем на терминальный сервер прогу SeamlessRDP от сюда — http://www.cendio.com/seamlessrdp/, кладем ее в какую-нибудь папку, например, C:srdp и запускаем rdesktop, например, так:
rdesktop -u user -p ‘password’ -k en-us -N -a 8 -z -x m -P -r clipboard:PRIMARYCLIPBOARD -r sound:off -r disk:Name=/path/to/Share -5 -A -s ‘C:srdpseamlessrdpshell.exe «C:Program FilesInternet Exploreriexplore.exe»‘ ServerNameOrIP
Не то? На самом деле на такой режим ругань еще даже на родной клиент… Я, в силу мозаичного WM таким не пользуюсь
█ 28.07.2014 21:47
Как-то не получилось.
Пошёл на
Прочитал
Цитата:
Get the server side component, «seamlessrdpshell». Pre-built binaries are included in the ThinLinc WTS Tools package, which is part of the ThinLinc Server Bundle. In general, ThinLinc is a proprietary product which requires licenses, but the SeamlessRDP components are Open Source and can be used for free. The «seamlessrdpshell» is installed in «%ProgramFiles%ThinLincWTSTools».
Пошёл качать ThinLinc Server
Нужна верификация, ладно, указал почту — прислали ссылку
Ставлю на Windows 2008 WTS Tools
Запускаю в Linux
Код:
rdesktop -u blablabla\Kirill -k en-us -A -s '%ProgramFiles%ThinLincWTSToolsseamlessrdpshell.exe notepad' win2008
Получаю (после ввода пароля) экран удалённого рабочего стола с … неясным мне окном.
█ 28.07.2014 23:19
Я бы предложил свести именно к тому варианту, который был дан в примере… Он-то заработал? (включая установку по короткому пути)
█ 29.07.2014 00:47
Не заработало.
Насколько я понял — оригинал этой записи находится и датирован апрелем 2009 года. С той поры много времени утекло и, очевидно, что-то изменилось….
Часовой пояс GMT +3, время: 18:44.
Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.