- SambaAD start
- Установка
- Управление пользователями
- Графический способ
- Подключение компьютера
- Настройка IP
- Проблемы со входом в домен и сеть
- Настройка sudo
- sudo под обычным доменным пользователем
- Ввод в домен
- GUI
- Консоль
- AD/Samba-клиент и клонирование рабочей станции
- Примечания
- GUI для управления Samba
- Особенности
- Управления пользователями и компьютерами
- Правки ADSI
- Управление DNS
- Управления групповой политикой
- Вторичный контроллер
- Репликация
- Ошибки
- Прочее
- Ручное обновление кэша SSSD
- Ссылки
- sudo
- Специфика ALT Linux
- Настройка
- Примечания
- Ссылки
SambaAD start
Примечание: Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам. Официальная документация здесь.
SambaAD(DC) — реализация службы каталогов на Samba. В данной статье будет рассмотрена в роли домена.
- 1 Установка
- 2 Управление пользователями
- 2.1 Графический способ
- 3.1 Настройка IP
- 3.1.1 Проблемы со входом в домен и сеть
- 3.2.1 sudo под обычным доменным пользователем
- 3.3.1 GUI
- 3.3.2 Консоль
- 4.1 Особенности
- 4.1.1 Управления пользователями и компьютерами
- 4.1.2 Правки ADSI
- 4.1.3 Управление DNS
- 4.1.4 Управления групповой политикой
- 5.1 Репликация
- 5.1.1 Ошибки
- 6.1 Ручное обновление кэша SSSD
Установка
# apt-get install task-samba-dc
# rm -f /etc/samba/smb.conf # rm -rf /var/lib/samba # rm -rf /var/cache/samba # mkdir -p /var/lib/samba/sysvol
Примечание: В нашем примере имя домена petr.ru; имя компьютера dc, вместе с доменом dc.petr.ru
Вводим имя компьютера и домена. Вводим команды:
Примечание: Создаем домен. Т.к. мы начинающие, мы будем использовать встроенный в Samba DNS-бэкенд.
samba-tool domain provision
Realm [PETR.RU]: //жмем Enter Domain [PETR]: //жмем Enter Server Role (dc, member, standalone) [dc]: //жмем Enter DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: //жмем Enter DNS forwarder IP address (write 'none' to disable forwarding) [127.0.0.1]: //тут надо выставить внешний DNS, если он не прописался по-умолчанию, чтобы домен мог разрешать внешние адреса (доступ в интернет). Например 8.8.8.8. Administrator password: //Вводим пароль администратора Retype password: //Повторяем пароль администратора
# service samba enable # service samba start
Копируем файл настроек Kerberos (krb5):
# cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
# mcedit /etc/net/ifaces/eth0/resolv.conf
Перед строчкой nameserver добавляем строку nameserver с адресом 127.0.0.1, первую по очередности.
Т.к. Samba использует свой DNS-сервер удаляем bind:
# samba-tool domain info 127.0.0.1
# smbclient -L localhost -U administrator
(адрес должен иметь адрес 127.0.0.1 или свой IP)
Если адрес другой, правим /etc/net/ifaces//resolv.conf и первой строчкой пишем следующее:
адрес _kerberos._udp.*адрес домена с точкой
# host -t SRV _kerberos._udp.petr.ru. _kerberos._udp.petr.ru has SRV record 0 100 88 dc.petr.ru.
адрес _ldap._tcp.*адрес домена с точкой
# host -t SRV _ldap._tcp.petr.ru. _ldap._tcp.petr.ru has SRV record 0 100 389 dc.petr.ru.
адрес хоста.*адрес домена с точкой
# host -t A dc.petr.ru. dc.petr.ru has address 10.0.2.5
Password for administrator@PETR.RU: Warning: Your password will expire in 41 days on Чт 29 апр 2021 18:25:49
6)Просмотр полученного билета:
Управление пользователями
Создать пользователя с паролем[1], :
samba-tool user create samba-tool user setexpiry
samba-tool user create ivanov --given-name='Иван Иванов' --mail-address='ivanov@stand.alt'
Просмотреть доступных пользователей:
Изменить пароль пользователя:
samba-tool user setpassword
Не забудьте разблокировать пользователя:
samba-tool user setexpiry --noexpiry
Внимание! Не допускайте одинаковых имён для пользователя и компьютера, это может привести к коллизиям (например, такого пользователя нельзя добавить в группу). [2]
Если компьютер с таким именем заведён, удалить его можно командой:
samba-tool group add groupname
samba-tool group add groupname —nis-domain=samdom —gid-number=
samba-tool group delete groupname
Добавить пользователя в группу:
samba-tool group addmembers "Domain Users" user samba-tool group addmembers "Domain Users" user,user1,user2
Удалить пользователя из группы:
samba-tool group removemembers "Domain Users" user samba-tool group removemembers "Domain Users" user,user1,user2
samba-tool group listmembers "Domain Users" | grep username
samba-tool user show username
Смотрим значение memberOf
Графический способ
Для управления Samba-пользователями через GUI на отдельной рабочей станции необходимо поставить ADMC.
Подключение работает только со сторонней рабочей станции/сервера. С самого КД подключить утилиту к базе AD у меня не получилось.
Подключение компьютера
# apt-get install task-auth-ad-sssd
Настраиваем сеть: (или поднимите DHCP на КД)
Настройка IP
Примечание: Если вы используете статический адрес, настроим его с помощью etcnet и сделаем апплет-индикатор для него.
# apt-get install etcnet-full # apt-get install wicd wicd-gtk
# service wicd enable # service wicd start
# apt-get remove NetworkManager*
cd /etc/net/ifaces/ mkdir eth0 cd eth0
BOOTPROTO=static TYPE=eth DISABLED=no NM_CONTROLLED=no CONFIG_IPV4=YES
Домены по-умолчанию и DNS-сервера:
search petr.ru nameserver 10.0.2.5 //адрес Samba-сервера
Т.к. Samba использует свой DNS-сервер удаляем bind:
Проверяем, пингуется ли домен:
$ ping petr.ru PING petr.ru (10.0.2.5) 56(84) bytes of data. 64 bytes from 10.0.2.5: icmp_seq=1 ttl=128 time=0.285 ms 64 bytes from 10.0.2.5: icmp_seq=1 ttl=128 time=0.285 ms 64 bytes from 10.0.2.5: icmp_seq=1 ttl=128 time=0.285 ms 64 bytes from 10.0.2.5: icmp_seq=1 ttl=128 time=0.285 ms
Если не пингуется, проверяйте настройки сети и DNS и перезапускайте еще раз их.
Проблемы со входом в домен и сеть
Примечание: Доменный пользователь не входит в домен пока не зайдешь под локальным и не перезапустишь службу network
systemctl enable network@eth0
Настройка sudo
User_Alias SUDO_USERS = %sudo
sudo под обычным доменным пользователем
Иногда, при использовании домена, нужно выполнить действие от имени админа в простом пользователе. (Например, при подключении через Anydesk и т.п.) Если открыть Synaptic или ЦУС то появляется окошко ввода пароля. Если в консоли под простым пользователем ввести su-/sudo su система откажет из-за недостатка прав.
При запуске GUI приложений появляется окошко ввода root-пароля. Это утилита beesu. С ее помощью можно запустить терминал с правами администратора.
и, введя пароль суперпользователя, получить доступ к админской консоли.
Ввод в домен
Примечание: Чтобы компьютер получил время с сервера домена, надо на сервере, в Alterator в Система-Дата и время поставить галочку «работать как NTP-сервер» и нажать «применить»
# apt-get install task-auth-ad-sssd
GUI
- ЦУС-Пользователи-Аутентификация
- Домен AD:
- домен petr.ru
- рабочая группа: PETR
- имя компьютера: вводим свое
- Вводим пароль доменного администратора
- Перезагружаемся
Консоль
# system-auth write ad petr.ru pc-1 petr 'administrator' 'Pa$$word'
AD/Samba-клиент и клонирование рабочей станции
Если вы настроили на одном компьютере ALT Linux с AD/Samba доменом и хотите развернуть образ на другом компьютере, приготовьтесь потом сделать следующее. Каждый компьютер введенный в домен получает keytab-файл от Kerberos. И если вы уже введенную в домен систему развернете на другом компьютере, она будет конфликтовать из-за Kerberos-билета.
- введите систему в домен
- клонируйте акронимом/подобным (склонируйте-разверните)
- выведите систему из домена
- переименуйте компьютер
- удалите файл /etc/krb5.keytab
- введите в домен[3]
Примечания
- После настройки, sudo работает только у доменных и локальных администраторов. При этом используется не доменный пароль администратора, а локальный пароль root. Будьте внимательны!
GUI для управления Samba
- управления пользователями и компьютерами
- Правки ADSI
- Управления DNS
- Управления групповой политикой
можно использовать утилиту Admin Tools.
Для управления используйте Tab, пробел и Esc.
- username: Administrator
- password: ваш пароль
- domain: домен с точкой, вида DOMAIN.RU
Особенности
Управления пользователями и компьютерами
- Табом, стрелками и Enter выбираем элемент, потом табом переходим в Action и выбираем Propereties.
- Затем Edit.
Правки ADSI
- username: Administrator
- password: ваш пароль
- domain: домен с точкой, вида DOMAIN.RU
- Табом, стрелками и Enter выбираем элемент, потом табом переходим в Action и выбираем Propereties.
- Затем Edit.
Управление DNS
- Делаем Action-Connect to DNS-server-The following computer-Select or type a domain or server-вводим имя домена (DOMAIN.RU)
- username: Administrator
- password: ваш пароль
- domain: домен с точкой, вида DOMAIN.RU
- Табом, стрелками и Enter выбираем элемент, потом табом переходим в Action и выбираем Propereties.
- Затем Edit.
Здесь же можно создать всякие A, AAA и пр. записи и т.п.
Управления групповой политикой
- username: Administrator
- password: ваш пароль
- domain: домен с точкой, вида DOMAIN.RU
Но править политики там нельзя.
Вторичный контроллер
# apt-get install task-samba-dc
# hostnamectl set-hostname dc2.petr.ru
5.Заводим IP-адрес для DC2 на основном домене:
# samba-tool dns add 10.0.2.5 petr.ru DC2 A 10.0.2.7 -Uadministrator
6.На DC2 правим /etc/krb5.conf
[libdefaults] default_realm = PETR.RU dns_lookup_realm = false dns_lookup_kdc = true
7. Перезапускаем сеть и самбу
service samba restart service network restart
8. Получаем билет и убеждаемся, что билет получен:
# kinit administrator@PETR.RU # klist
# samba-tool domain join petr.ru DC -Uadministrator --realm=petr.ru
Если всё нормально, в конце видим:
Joined domain PETR (SID S-1-5-21-80639820-2350372464-3293631772) as a DC
10. После успешного ввода в домен в resolvconf необходимо сменить адрес PDC на адрес вторичного DC (в нашем примере 10.0.2.7).
Для этого правим файл /etc/net/ifaces/eth0/resolv.conf
11. Включаем и запускаем службу samba:
# service samba enable # service samba start
12. На DC2 запускаем центр согласованности знаний:
# samba-tool drs kcc -Uadministrator dc2.petr.ru # service network restart # service samba restart
Правим файл /etc/samba/lmhosts (на обоих контроллерах) — это локальный hosts файл используемый Samba.
Прописываем туда оба домена.
10.0.2.5 dc.petr.ru 10.0.2.7 dc2.petr.ru
systemctl enable network@eth0
Репликация
Внимание! Помните, что без успешной двунаправленной репликации в течение 14 дней DC исключается из Active Directory
Репликация выполняется на вторичном контроллере.
1. Реплицируем с первичного (1-й приемник, 2-й источник)
# samba-tool drs replicate dc2.petr.ru dc.petr.ru dc=petr,dc=ru -Uadministrator
2. Реплицируем на первичный (1-й приемник, 2-й источник)
# samba-tool drs replicate dc.petr.ru dc2.petr.ru dc=petr,dc=ru -Uadministrator
3. Просмотр статуса репликации
Чтобы сделать репликацию в планировщике заданий, добавьте параметр пароля:
samba-tool drs replicate dc.petr.ru dc2.petr.ru dc=petr,dc=ru -Uadministrator --password=pa$$word
Ошибки
NT_STATUS_TIME_DIFFERENCE_AT_DC
Рассинхронизация времени на контроллерах домена. Сделайте время на контроллерах одинаковым.
2.Ошибка при репликации на второй:DRS connection to dc.petr.ru failed - drsException: DRS connection to dc.petr.ru
Выполните на вторичном контроллере:
samba-tool drs kcc -Uadministrator dc2.petr.ru
где dc2.petr.ru — ваш вторичный контроллер домена
3.Ошибка при репликации на первый:DsReplicaSync failed - drsException: DsReplicaSync failed (1311, 'WERR_NO_LOGON_SERVERS')
Не прописаны домены в /etc/samba/lmhosts.
Прочее
Ручное обновление кэша SSSD
Необходимое удалить его базы и перезапустить.[4]
# systemctl stop sssd # rm -f /var/lib/sss/db/* # rm -f /var/lib/sss/mc/* # systemctl start sssd
Ссылки
sudo
Команда sudo используется [1] для выполнения обычным * пользователем какой-либо другой команды с правами суперпользователя (root).
Специфика ALT Linux
В ALT Linux sudo использует фреймворк control и штатное состояние соответствует control sudo wheelonly ; поэтому может понадобиться:
- либо внесение требуемых пользователей в группу wheel (созданный при установке системы аккаунт добавляется в неё автоматически, иначе см. /etc/group ),
- либо при необходимости повыдавать какие-либо повышенные привилегии всем пользователям — выполнение команды control sudo public (не рекомендуется!).
Настройка
Для того, чтобы настроить работу sudo , необходимо с применением административных привилегий отредактировать файл /etc/sudoers при помощи специальной команды visudo [2] и внести туда записи о том, каким пользователям какие команды можно выполнять.
user ALL = (ALL) ALL aptu ALL = NOPASSWD: /usr/bin/apt-get update
Позволяет пользователю user запускать все приложения с правами суперпользователя (root), а пользователю aptu — только apt-get update притом пользователь user при выполнении команд должен будет вводить пароль от своей учётной записи, а у пользователя aptu пароль не будет спрашиваться при выполнении sudo apt-get update .
Полная документация по формату конфигурационного файла находится в man-странице sudoers, начинать читать может быть проще с секции EXAMPLES.
Примечания
- ↑ Существует рекомендация известного эксперта в области ИТ-безопасности Александра Песляка (Solar Designer) не использовать sudo
- ↑ Любителям mcedit : всё-таки базовое знание vi весьма полезно, но если очень хочется — переопределите переменную окружения EDITOR
Ссылки