Integrando o Ubuntu 14.04 LTS à base LDAP do campus SJ

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

O script shell foi projetado para rodar em sistema Ubuntu versão 12.04 logo após a instalação. Como há o uso de correções de arquivo (patches), convém não modificar qualquer arquivo manualmente antes deste script:

#!/bin/bash
 
echo "Atualização do sistema:"
sleep 2
apt-get update
apt-get -y upgrade
 
echo "Instalação de pacotes essenciais:"
sleep 2
apt-get -y install aptitude gnome-session-fallback language-pack-pt vim ntp patch libnss-ldap libpam-ldap ldap-utils nscd smbclient libpam-mount smbnetfs cifs-utils

echo "Configuração do LDAP de São José nos arquivos:"
echo "- /etc/nsswitch.conf"
cp -p /etc/nsswitch.conf /etc/nsswitch.conf-original
cat > /etc/nsswitch.conf << EOF
# 20101103 Integração com LDAP do IF-SC São José
passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap
 
hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
networks:       files
 
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
 
netgroup:       nis
EOF

echo "- /etc/ldap.conf"
cat > /etc/ldap.conf << EOF
# 20140613 Integração com LDAP do IF-SC São José
base dc=cefetsc,dc=edu,dc=br
uri ldap://200.135.37.117
ldap_version 3
bind_policy soft
EOF
 
echo "- /etc/ldap/ldap.conf"
cat > /etc/ldap/ldap.conf << EOF
# 20140613 Integração com LDAP do IF-SC São José
base dc=cefetsc,dc=edu,dc=br
uri ldap://200.135.37.117
ldap_version 3
bind_policy soft
EOF

echo "- /etc/pam.d/lightdm"
cd /etc/pam.d/
patch -p0 -N -r /dev/null << EOF
--- lightdm.original	2014-06-12 12:05:05.165318900 -0300
+++ lightdm	2014-06-13 11:28:48.832846867 -0300
@@ -2,6 +2,8 @@
 auth    requisite       pam_nologin.so
 auth    sufficient      pam_succeed_if.so user ingroup nopasswdlogin
 @include common-auth
+#13062014 Integracao com LDAP
+auth	optional	pam_group.so
 auth    optional        pam_gnome_keyring.so
 auth    optional        pam_kwallet.so
 @include common-account
EOF

echo "- /etc/pam.d/common-session"
cd /etc/pam.d/
patch -p0 -N -r /dev/null << EOF
--- common-session.original	2014-06-24 09:42:07.128417716 -0300
+++ common-session	2014-06-24 09:42:43.659334736 -0300
@@ -27,6 +27,8 @@
 session optional			pam_umask.so
 # and here are more per-package modules (the "Additional" block)
 session	required	pam_unix.so 
+#20140613 Integração com LDAP
+session        required        pam_mkhomedir.so skel=/etc/skel/ umask=0077
 session	optional	pam_mount.so 
 session	optional			pam_ldap.so 
 session	optional	pam_systemd.so 
EOF
 
echo "- /etc/security/pam_mount.conf.xml"
cd /etc/security/
patch -p0 -N -r /dev/null << EOF
--- pam_mount.conf.xml.original	2014-06-12 12:05:56.853319311 -0300
+++ pam_mount.conf.xml	2014-06-13 12:54:01.336915760 -0300
@@ -13,7 +13,16 @@
 <debug enable="0" />
 
 		<!-- Volume definitions -->
-
+ 
+			<!-- 20140613 Integração com LDAP -->
+<volume user="*" uid="1000-1000000" server="dk" path="homes" mountpoint="/media/pessoal/%(USER)/%(USER)" fstype="cifs" options="dir_mode=0711,iocharset=utf8" />
+<volume user="*" uid="1000-1000000" server="dk" path="tele" mountpoint="/media/pessoal/%(USER)/tele" fstype="cifs" options="iocharset=utf8" />
+<volume user="*" uid="1000-1000000" server="dk" path="publico" mountpoint="/media/pessoal/%(USER)/publico" fstype="cifs" options="iocharset=utf8" />
+<volume user="*" uid="1000-1000000" server="dk" path="cgeral" mountpoint="/media/pessoal/%(USER)/cgeral" fstype="cifs" options="iocharset=utf8" />
+<volume user="*" uid="1000-1000000" server="dk" path="rac" mountpoint="/media/pessoal/%(USER)/rac" fstype="cifs" options="iocharset=utf8" />
+<volume user="*" uid="1000-1000000" server="dk" path="licenciatura" mountpoint="/media/pessoal/%(USER)/licenciatura" fstype="cifs" options="iocharset=utf8" />
+<volume user="*" uid="1000-1000000" server="dk" path="ctic" mountpoint="/media/pessoal/%(USER)/ctic" fstype="cifs" options="iocharset=utf8" />
+<volume user="*" uid="1000-1000000" server="dk" path="software" mountpoint="/media/pessoal/%(USER)/software" fstype="cifs" options="iocharset=utf8" />
 
 		<!-- pam_mount parameters: General tunables -->
 
EOF

echo "- /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf"
cd /usr/share/lightdm/lightdm.conf.d/
patch -p0 -N -r /dev/null << EOF
--- 50-ubuntu.conf.original	2014-06-17 10:57:46.633681040 -0300
+++ 50-ubuntu.conf	2014-06-17 11:08:52.313749429 -0300
@@ -1,2 +1,4 @@
 [SeatDefaults]
 user-session=ubuntu
+greeter-show-manual-login=true
+greeter-hide-users=true
EOF

echo "- /etc/cups/client.conf"
cat > /etc/cups/client.conf << EOF
# 20140613 servidor DK
ServerName dk/version=1.1
EOF

Nota: percebe-se, nas últimas linhas do programa, os compartilhamentos do servidor principal de arquivos (DK) que serão montados automaticamente - neste caso 6 (homes, tele, publico, cgeral, rac, licenciatura, ctic e software). Pode-se, pois, adequar o arquivo /etc/security/pam_mount.conf.xml, após a execução do script, adicionando ou removendo compartilhamentos.