Integration d’un poste linux dans un active directory

Objectif :

  • Permettre de se connecter sur un poste Linux avec le couple login/mot de passe d’un utilisateur existant dans un Active Directory.

Prérequis:

  • Un contrôleur de domaine fonctionnel (Windows Server ou Samba4)
  • Le serveur DNS des client Linux pointant sur le serveur AD.

Configuration du poste :

apt-get install samba winbind libpam-winbind krb5-user libnss-winbind
/etc/init.d/smbd stop
/etc/init.d/nmbd stop
/etc/init.d/winbind stop
mv /etc/krb5.conf /etc/krb5.conf.old
cat > /etc/krb5.conf << EOF
[libdefaults]
    default_realm = DOM.JBSKY.FR
    dns_lookup_realm = false
    dns_lookup_kdc = true
EOF
mv /etc/samba/smb.conf /etc/samba/smb.conf.old
cat > /etc/samba/smb.conf << EOF
[global]
       security = ADS
       workgroup = DOM
       realm = DOM.JBSKY.FR

       log file = /var/log/samba/%m.log
       log level = 1

       # Default ID mapping configuration for local BUILTIN accounts
       # and groups on a domain member. The default (*) domain:
       # - must not overlap with any domain ID mapping configuration!
       # - must use an read-write-enabled back end, such as tdb.
       idmap config * : backend = tdb
       idmap config * : range = 3000-7999
       
       winbind use default domain = yes
       winbind enum users = yes
       winbind enum groups = yes
       template shell = /bin/bash
EOF
cp /etc/nsswitch.conf /etc/nsswitch.conf.old
sed -i 's/^passwd:.*$/passwd:         compat winbind/g' /etc/nsswitch.conf
sed -i 's/^group:.*$/group:          compat winbind/g' /etc/nsswitch.conf
sed -i 's/^shadow:.*$/shadow:         compat winbind/g' /etc/nsswitch.conf

systemctl enable winbind
systemctl enable smbd
systemctl enable nmbd

/etc/init.d/smbd start
/etc/init.d/nmbd start
/etc/init.d/winbind start

net ads join -U Administrator

Si tout va bien :

#Using short domain name -- DOM
#Joined 'WKS' to dns domain 'dom.jbsky.fr' <= OK

Ne pas tenir compte de l’erreur, évitable si l’on fixe l’adresse IP et le FQDN de la machine.

No DNS domain configured for WKS. Unable to perform DNS Update.
DNS update failed: NT_STATUS_INVALID_PARAMETER

Vérification

  • Ping du dc:
wbinfo --ping-dc
checking the NETLOGON for domain[MATOOMA] dc connection to "dc1.dom.jbsky.fr" succeeded

  • Lister les utilisateurs
wbinfo -u
  • Lister les groupes
wbinfo -g

  • Tester si l’utilisateur se connecte bien en kerberos
kinit user
klist #pour voir les tickets

  • Pour voir la liste des utilisateurs
getent passwd
#julien:*:3000:3004:Julien:/home/DOM/julien:/bin/bash

  • Pour voir la liste des groupes :
getent group
#utilisateurs du domaine:x:3004:

  • Création des répertoires
mkdir /home/DOM
setfacl -m g:"utilisateurs du domaine":rwx -R /home/DOM
setfacl -m g:"DOM\utilisateurs du domaine":rwx -R /home/DOM

Sinon les utilisateurs ne pourront pas créer leur répertoires dès la premier connexion!

Pour que l’utilisateur du domaine récupère les droits de son anciens home/$USER

chown 3000:3004 /home/user/ -R
# possibilité de faire un lien
ln -s /home/julien/ /home/DOM/julien

adduser julien sudo

 

Configurer l’accès vers Hyper-V Server pour l’administration à distance

Comment configurer l’administration à distance vers Hyper-V server 2016 avec les outils RSAT  depuis Windows 10?

Prérequis :

  • L’utilisateur doit être dans le groupe « Administrateurs Hyper-V ».
  • Le client avec les outils RSAT et le serveur doit être tous les deux soit dans un Workgroup ou dans le même domaine.
  • Pour faciliter l’histoire, l’utilisateur aura le même nom (ici NOM_USER) et mot de passe.
  • Le client et le serveur se ping.

Intégration de l’utilisateur dans le groupe « Administrateurs Hyper-V »

En powershell sur le serveur Hyper-V, (ici nommé HYPERV) fraichement installé et configurer :

$computer="HYPERV"
$Group="Administrateurs Hyper-V"
$user="NOM_USER"
$de = [ADSI]"WinNT://$computer/$Group,group" 
$de.Add("WinNT://$computer/$user,user")

On vérifie que la procédure s’est correctement passé en s’assurant que l’utilisateur appartient bien au groupe Administrateurs Hyper-V

net user NOM_USER

Configurer  l’accès winrm sur le client et le serveur.

Tout se passe par le commande winrm, la commande ci-dessous permet d’avoir un aperçu.

winrm get winrm/config

Côté serveur :

Ici, je m’interesse pour le serveur à la partie service et particulièrement aux variable :

  • Auth->Basic = true

Soit pour activer tout ça :

winrm quickconfig
winrm set winrm/config/service/auth @{Basic="true"}

Côté client :

Pour forcer la connexion, j’ai configurer comme si-dessous :

Config
    Client
        AllowUnencrypted = false
        Auth
            Basic = true
            Digest = true
            Kerberos = true
            Negotiate = true
            Certificate = true
            CredSSP = true
        DefaultPorts
            HTTP = 5985
            HTTPS = 5986
        TrustedHosts = HYPERV

Soit la commande ci-dessous normalement suffit:

winrm set winrm/config/client/auth @{Basic="true"}

Dans le fichier host, dans Windows rappel dans C:\Windows\System32\drivers\etc\, je fais correspondre l’IP et le nom du serveur.

172.16.0.2        HYPERV HYPERV.WORKGROUP

Maintenant, plus qu’à se connecter avec l’outil RSAT depuis Windows 10.