Projet

Général

Profil

Client Linux AD » Historique » Version 1

Laurent Flori, 20/11/2019 11:26

1 1 Laurent Flori
h1. Client Linux AD
2 1 Laurent Flori
h3. Install required packages 
3 1 Laurent Flori
4 1 Laurent Flori
<pre>apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind</pre>
5 1 Laurent Flori
=== Reconfigure krb5-config ===
6 1 Laurent Flori
7 1 Laurent Flori
<pre>dpkg-reconfigure krb5-config</pre>
8 1 Laurent Flori
Answer with the REALM (in case of etb1: ''DOMPEDAGO.ETB1.LAN'')
9 1 Laurent Flori
10 1 Laurent Flori
h3. Test kerberos server
11 1 Laurent Flori
12 1 Laurent Flori
<pre>~# kinit admin (password: eole)
13 1 Laurent Flori
~# klist
14 1 Laurent Flori
Ticket cache: FILE:/tmp/krb5cc_0
15 1 Laurent Flori
Default principal: admin@DOMPEDAGO.ETB1.LAN
16 1 Laurent Flori
17 1 Laurent Flori
Valid starting       Expires              Service principal
18 1 Laurent Flori
20/11/2019 09:33:22  20/11/2019 19:33:22  krbtgt/DOMPEDAGO.ETB1.LAN@DOMPEDAGO.ETB1.LAN
19 1 Laurent Flori
    renew until 21/11/2019 09:33:20</pre>
20 1 Laurent Flori
21 1 Laurent Flori
h3. Configure samba
22 1 Laurent Flori
23 1 Laurent Flori
<pre> mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
24 1 Laurent Flori
 cat &gt; /etc/samba/smb.conf &lt;&lt; EOF
25 1 Laurent Flori
 [global]
26 1 Laurent Flori
        workgroup = DOMPEDAGO
27 1 Laurent Flori
        realm = DOMPEDAGO.ETB1.LAN
28 1 Laurent Flori
        netbios name = ubuntu
29 1 Laurent Flori
        security = ADS
30 1 Laurent Flori
        dns forwarder = 10.1.3.11
31 1 Laurent Flori
32 1 Laurent Flori
    
33 1 Laurent Flori
        idmap config *:range = 2000-2999
34 1 Laurent Flori
        idmap config DOMPEDAGO:backend = rid
35 1 Laurent Flori
        idmap config DOMPEDAGO:range = 10000-999999
36 1 Laurent Flori
37 1 Laurent Flori
   template homedir = /home/adhomes/%U
38 1 Laurent Flori
   template shell = /bin/bash
39 1 Laurent Flori
   winbind use default domain = true
40 1 Laurent Flori
   winbind offline logon = false
41 1 Laurent Flori
   winbind nss info = rfc2307
42 1 Laurent Flori
   winbind enum users = yes
43 1 Laurent Flori
   winbind enum groups = yes
44 1 Laurent Flori
45 1 Laurent Flori
  vfs objects = acl_xattr
46 1 Laurent Flori
  map acl inherit = Yes
47 1 Laurent Flori
  store dos attributes = Yes
48 1 Laurent Flori
EOF</pre>
49 1 Laurent Flori
50 1 Laurent Flori
h3. Join samba domain
51 1 Laurent Flori
52 1 Laurent Flori
<pre>net ads join -U admin
53 1 Laurent Flori
systemctl restart smbd nmbd winbind</pre>
54 1 Laurent Flori
55 1 Laurent Flori
h3. Modify nsswitch configuration
56 1 Laurent Flori
57 1 Laurent Flori
<pre>#/etc/nsswitch.conf
58 1 Laurent Flori
# /etc/nsswitch.conf
59 1 Laurent Flori
#
60 1 Laurent Flori
# Example configuration of GNU Name Service Switch functionality.
61 1 Laurent Flori
# If you have the `glibc-doc-reference' and `info' packages installed, try:
62 1 Laurent Flori
# `info libc &quot;Name Service Switch&quot;' for information about this file.
63 1 Laurent Flori
64 1 Laurent Flori
passwd:         compat winbind systemd ldap
65 1 Laurent Flori
group:          compat winbind systemd ldap
66 1 Laurent Flori
shadow:         compat ldap
67 1 Laurent Flori
gshadow:        files
68 1 Laurent Flori
69 1 Laurent Flori
hosts:          files mdns4_minimal [NOTFOUND=return] dns
70 1 Laurent Flori
networks:       files
71 1 Laurent Flori
72 1 Laurent Flori
protocols:      db files
73 1 Laurent Flori
services:       db files
74 1 Laurent Flori
ethers:         db files
75 1 Laurent Flori
rpc:            db files
76 1 Laurent Flori
77 1 Laurent Flori
netgroup:       nis</pre>
78 1 Laurent Flori
79 1 Laurent Flori
h3. Give it a try:
80 1 Laurent Flori
81 1 Laurent Flori
<code>wbinfo -u</code> should return all local users along domain users <code>wbinfo -g</code> should return all local groups along domain groups
82 1 Laurent Flori
83 1 Laurent Flori
h3. Modify pam configuration
84 1 Laurent Flori
85 1 Laurent Flori
Activate winbind login with:
86 1 Laurent Flori
87 1 Laurent Flori
<pre>pam-auth-update</pre>
88 1 Laurent Flori
Edit /etc/pam.d/common-password to replace winbind line with this one:
89 1 Laurent Flori
90 1 Laurent Flori
<pre>...
91 1 Laurent Flori
password        [success=1 default=ignore]      pam_winbind.so try_first_pass
92 1 Laurent Flori
...</pre>
93 1 Laurent Flori
If you want to activate homedir creation upon login add the following line at the end of /etc/pam.d/common-account:
94 1 Laurent Flori
95 1 Laurent Flori
<pre>session    required    pam_mkhomedir.so    skel=/etc/skel/    umask=0022</pre>
96 1 Laurent Flori
=== Reboot and test ===
97 1 Laurent Flori
98 1 Laurent Flori
You should be able to log in with domains users (admin,prof.6a….)
99 1 Laurent Flori
100 1 Laurent Flori
h3. Install libpam-mount
101 1 Laurent Flori
102 1 Laurent Flori
**This part is not fully fonctionnal for now**
103 1 Laurent Flori
104 1 Laurent Flori
<pre>apt-get install libpam-mount
105 1 Laurent Flori
cat > /etc/security/pam_mount.conf.xml << EOF
106 1 Laurent Flori
<?xml version="1.0" encoding="utf-8" ?>
107 1 Laurent Flori
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
108 1 Laurent Flori
<pam_mount>
109 1 Laurent Flori
    <debug enable="0" />
110 1 Laurent Flori
    <volume user="*" fstype="cifs" server="10.1.3.11" path="%(DOMAIN_USER)" mountpoint="/home/adhomes/%(DOMAIN_USER)" options="sec=ntlmssp,nodev,nosuid,mfsymlinks,nobrl,vers=1.0" />
111 1 Laurent Flori
    <mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
112 1 Laurent Flori
    <mntoptions require="nosuid,nodev" />
113 1 Laurent Flori
    <logout wait="0" hup="no" term="no" kill="no" />
114 1 Laurent Flori
    <mkmountpoint enable="1" remove="true" />
115 1 Laurent Flori
</pam_mount>
116 1 Laurent Flori
EOF
117 1 Laurent Flori
118 1 Laurent Flori
pam-auth-update
119 1 Laurent Flori
</pre>