Samba, LDAP, Ввод Linux в домен

Dec 26, 2016 14:01




Ввод Linux в домен (инструкция от Eset)
http://isa.darlex.com.ua/index.php/ubuntu/69-vvod-linux-v-domen-instruktsiya-ot-eset

В этом примере:

DEMO - домен (DEMO.LOCAL)
dc-demo - контроллер домена (dc-demo.demo.local, 192.168.0.201)
era-va - имя сервера CentOS (era-va.demo.local, 192.168.0.21)

================================================================================

Открываем терминал ERA VA

--------------------------------------------------------------------------------

1. Редактируем "hosts":

[root@era-VA ~]# nano /etc/hosts

Добавляем следующую запись:

192.168.0.201 dc-demo.demo.local

Ctrl+X - Y - Enter

--------------------------------------------------------------------------------

2. Cинхронизируем время с контроллером домена:

[root@era ~]# nano /etc/ntp.conf

server dc-demo.demo.local

Ctrl+X - Y - Enter

--------------------------------------------------------------------------------

3. Настраиваем Kerberos:

[root@era-VA ~]# nano /etc/krb5.conf

Приводим к виду:

[libdefaults]
default_realm = DEMO.LOCAL
ticket_lifetime = 24h
forwardable = yes
renew_lifetime = 7d

[realms]
DEMO.LOCAL = {
kdc = 192.168.0.201
}

[domain_realm]
.demo.local = DEMO.LOCAL

Ctrl+X - Y - Enter

--------------------------------------------------------------------------------

4. Настраиваем Samba:

[root@era ~]# nano /etc/samba/smb.conf

[global]
workgroup = DEMO
realm = demo.local

Ctrl+X - Y - Enter

--------------------------------------------------------------------------------

5. Указываем DNS:

[root@era ~]#nano /etc/resolv.conf

nameserver 192.168.0.201

Ctrl+X - Y - Enter

--------------------------------------------------------------------------------

6. Вводим в домен:

[root@era ~]# net ads join -U oksana
Enter oksana's password:
Вводим пароль и получаем результат:
Using short domain name -- DEMO
Joined 'ERA' to dns domain 'DEMO.LOCAL'
No DNS domain configured for era. Unable to perform DNS Update.
DNS update failed: NT_STATUS_INVALID_PARAMETER

Проверяем:

[root@era ~]# kinit oksana@DEMO.LOCAL
Password for oksana@DEMO.LOCAL:
[root@era ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: oksana@DEMO.LOCAL

wbinfo -g
wbinfo -u

если не помогает
service smb stop; service winbind stop
net time set -S DEMO.LOCAL

ещё вариант
http://xgu.ru/wiki/Squid,_Kerberos_и_LDAP

# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/

includedir /var/lib/sss/pubconf/krb5.include.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = DOMAIN.OFFICE.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = true
proxiable = true
default_tgs_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
default_tkt_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5

[realms]
GOSTINY.SPB.RU = {
kdc = serv1.domain.office.local
kdc = serv2.domain.office.local
admin_server = serv1.domain.office.local
}

[domain_realm]
.domain.office.local = DOMAIN.OFFICE.LOCAL
domain.office.local = DOMAIN.OFFICE.LOCAL

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

[login]
krb4_convert = true
krb4_get_tickets = false

в командной строке на контроллере домена создаём файл ключа
ktpass -princ HTTP/myproxy123.domain.office.local@DOMAIN.OFFICE.LOCAL -mapuser DOMAIN\squid -pass "password123" -ptype KRB5_NT_SRV_HST -out C:\myproxy123.keytab

https://docs.microsoft.com/ru-ru/windows-server/administration/windows-commands/ktpass
- KRB5_NT_PRINCIPAL является общим типом участника (рекомендуется).
- KRB5_NT_SRV_INST является экземпляром службы пользователя.
- KRB5_NT_SRV_HST является экземпляром службы узла

копируем в /etc/myproxy123.keytab и проверяем
kinit -V -k -t /etc/myproxy123 HTTP/myproxy123.domain.office.local@DOMAIN.OFFICE.LOCAL

Удалим полученный билет командой:
kdestroy

Для автоматической аутентификации через Squid, необходимо внести следующие изменения - добавляем в файл /etc/sysconfig/squid строки
KRB5_KTNAME=/etc/myproxy123.keytab
export KRB5_KTNAME

Дополнение
https://michlstechblog.info/blog/linux-kerberos-authentification-against-windows-active-directory/#more-1628
http://unixwall.ru/
kdc-has-no-support-for-encryption-type-while-getting-initial-credentials/
https://support.symantec.com/en_US/article.TECH220711.html

ошибка KDC has no support for encryption type while getting initial credentials

Правим файл /etc/krb5.conf

В секцию [libdefaults] добавляем:

default_tgs_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
default_tkt_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5

Удаление из домена

https://habr.com/post/337556/
net ads leave -U %username%
net ads leave contoso.com -UAdministrator
adcli reset-computer --domain=domain.example.com host2

просто создать пользователя в samba
cоздание пользователя в системе без shell и домашней директории
sudo useradd -d /dev/null -s /dev/null username #где username - имя пользователя.
sudo smbpasswd -a username #добавляем пользователя username в samba
sudo smbpasswd -e username #активируем пользователя username в samba
sudo /etc/init.d/smbd restart

Расшариваем папку
nano /etc/samba/smb.conf

[backup]
path = /mnt/backup
valid users = username
guest ok = no
writable = yes
browsable = yes

ещё рецепт

создание пользователя
samba-tool user add "user_name"
делаем пользователя «безвременным», разблокировать пользователя:
samba-tool user setexpiry "user_name" -noexpiry
смена пароля пользователя
samba-tool user setpassword "user_name"
создание группы
samba-tool group add "group_name"
добавление созданного пользователя в группу
samba-tool group addmembers "group_name" "user_name"

можно и так:
smbpasswd -a USERNAME
smbpasswd -e USERNAME
groupadd sambashare
usermod -a -G sambashare ваше_имя_пользователя

http://wiki.lblss.ru/smbpasswd

Создание нового пользователя:
# smbpasswd -a User_name

Смена пароля у существующего пользователя:
# smbpasswd User_name

Удаление существующего пользователя:
# smbpasswd -x User_name

Приостановить действие учетной записи без удаления:
# smbpasswd -d User_name

Возобновить действие учетной записи:
# smbpasswd -e User_name

Подключение данного компьютера к существующему домену:
# smbpasswd -j Domain_name -U Administrator_name

smbpasswd в сценариях
Обычно команда smbpasswd работает интерактивно - выводит запросы и ожидает ответы. Однако, при помощи ключа -s (silent) можно подавить вывод запросов и читать ответы со стандартного ввода. Это позволит вызывать smbpasswd из скриптов. Ниже пара примеров на shell/bash, скрипт запускается от рута.

Добавить samba-пользователя:

(echo "$UserPassWord"; echo "$UserPassWord") | smbpasswd -s -a "$User_name"
Сменить пользовательский пароль:

(echo "$NewPassWord"; echo "$NewPassWord") | smbpasswd -s "$User_name"

https://www.sysadminwiki.ru/wiki/Linux_в_домене_Active_Directory
Все о Samba
Общие сведения о SAMBA
Samba как контроллер домена AD
Настройка Samba в качестве контроллера домена Active Directory
Присоединение контроллера домена Samba к существующему Active Directory
Превращаем Ubuntu Server в контроллер домена с помощью samba-tool
Разворачиваем файловый сервер Samba 4.5 с интеграцией Active Directory на Debian 9 Stretch
Аутентификация Samba в домене Windows
LDAP-репликация и Samba
Setting up Samba as an Active Directory Domain Controller
Руководство администратора OpenLDAP 2.4
Перекрестное опыление: управляем Linux из-под Windows, и наоборот

windows, linux, server, centos, работа, samba, сисадм, ad

Previous post Next post
Up