Strumenti Utente

Strumenti Sito


script

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
script [2014/06/18 12:47] – curl non era installato di default diego.zuccato@unibo.itscript [2024/12/24 10:09] (versione attuale) – aggiornata OU mario.petroli@unibo.it
Linea 2: Linea 2:
  
 **ATTENZIONE** Questa pagina è accessibile anche agli utenti non autenticati! Non inserire password o informazioni sensibili! **ATTENZIONE** Questa pagina è accessibile anche agli utenti non autenticati! Non inserire password o informazioni sensibili!
 +
 +Per prelevare direttamente uno degli script senza aprire il browser, usare
 +  wget http://apps.difa.unibo.it/wiki/_export/code/script?codeblock=N -O inst.sh
 +con N da 1 a 3 (rispettivamente Ubuntu, Debian-pbis, Debian-winbind).
 +
 +Per l'installazione dei lab, conviene creare uno script **prepare.sh** su chiavetta contenente
 +  #!/bin/bash
 +  export myADUser=nome.cognome
 +  wget http://apps.difa.unibo.it/wiki/_export/code/script?codeblock=0 -O /home/tecnici/preinst.sh
 +  sudo bash /home/tecnici/preinst.sh
 +Ovviamente va cambiato nome.cognome col proprio UPN AD (può essere diverso dalla mail senza dominio, p.e. m.bertelli@unibo.it deve usare michele.bertelli2).
 +
 +Quando si entra come tecnici, si inserisce la chiavetta (che viene montata automaticamente) e si lancia
 +  bash /media/*/*/prepare.sh
 +
 +Lo script che viene scaricato ed eseguito è:
 +<code bash preinst.sh>
 +#!/bin/bash
 +#####
 +# Preparazione per installazione laboratorio
 +# File release: 20210729
 +if [ -z "$1" ]; then
 +    echo -n "Laboratorio (i=Irnerio, nav=Navile) ? "
 +    read L
 +else
 +    L=$1
 +fi
 +
 +if [ -z "$2" ]; then
 +    echo -n "Numero macchina ? "
 +    read N
 +else
 +    N=$2
 +fi
 +
 +sudo sed -i~ "s/LAB-GEN/${L}-${N}/" /etc/host{s,name}
 +sudo nmcli c m "Connessione via cavo 1" 802-3.wake-on-lan magic
 +sudo dpkg-reconfigure openssh-server
 +sudo apt update
 +wget http://apps.difa.unibo.it/wiki/_export/code/script?codeblock=1 -O /home/tecnici/inst.sh
 +sed -i~ "s/=diego.zuccato/=$myADUser/" /home/tecnici/inst.sh
 +sudo shutdown -r now
 +</code>
  
 ===== Ubuntu ===== ===== Ubuntu =====
Linea 9: Linea 52:
 ##### #####
 # Script di installazione per Ubuntu. # Script di installazione per Ubuntu.
-# Versione del 18/6/2014 - usa PBIS-open invece di LikeWise-open.  +# Versione 20210729
-# Per Ubuntu LTS 12.04 e 14.04 (beta)+
  
 ############################################################ ############################################################
Linea 21: Linea 63:
  
 # Base OU in AD # Base OU in AD
-AD_OU='dsa.auto/str00957.auto/computer'+AD_OU='dsa.auto/Dip-DIFA/computer'
  
 # Pacchetti base, da installare sempre # Pacchetti base, da installare sempre
-SYS_PKGS="vim-nox mc openssh-server unattended-upgrades grub2 curl"+SYS_PKGS="vim-nox mc openssh-server unattended-upgrades curl lldpd"
  
 # Pacchetti da installare solo se si effettua il join, *dopo* SYS_PKGS # Pacchetti da installare solo se si effettua il join, *dopo* SYS_PKGS
Linea 30: Linea 72:
  
 # Pacchetti comuni (PC e lab) # Pacchetti comuni (PC e lab)
-XTRA_PKGS="keychain chromium-browser screen gfortran kile k3b konqueror gnuplot kate xemacs21 nedit tcsh clamav clamtk gnudatalanguage plplot11-driver-xwin plplot11-driver-gd flashplugin-installer lldpd"+XTRA_PKGS="keychain chromium-browser screen gfortran kile k3b konqueror gnuplot kate xemacs21 nedit tcsh clamav clamtk gnudatalanguage plplot12-driver-xwin build-essential htop"
  
 # Pacchetti da installare solo nei laboratori didattici # Pacchetti da installare solo nei laboratori didattici
-LAB_PKGS="nfs-common"+LAB_PKGS="epoptes-client r-base glusterfs-client texlive-lang-italian texlive-publishers"
  
 ############################################################ ############################################################
 # Qui non modificare nulla # Qui non modificare nulla
 +techs="str957.tecnici"
 +NAME=$(hostname -s)
 +admgrp="${NAME}-amministratori"
 +usrgrp="${NAME}-abilitati"
 +pbis_base=/opt/pbis/bin
  
 # Read user input with a default # Read user input with a default
Linea 49: Linea 96:
     fi     fi
 } }
- 
-NAME=$(hostname -s) 
  
 PCID=`echo $NAME | sed 's/str957-\(.*\)/\1/i; t ;s/.*//'` PCID=`echo $NAME | sed 's/str957-\(.*\)/\1/i; t ;s/.*//'`
Linea 56: Linea 101:
 if [ -z "$PCID" ]; then if [ -z "$PCID" ]; then
     echo "Hostname errato! Deve iniziare con 'str957-'"     echo "Hostname errato! Deve iniziare con 'str957-'"
 +    exit
 +fi
 +
 +if [ "LAB-GEN" == "$PCID" ]; then
 +    echo "Fase di personalizzazione dell'installazione non corretta: controlla l'hostname!"
     exit     exit
 fi fi
Linea 67: Linea 117:
     ARCH="x86_64";     ARCH="x86_64";
 fi fi
-AD_SCRIPT=pbis-open-8.0.0.2016.linux.${ARCH}.deb.sh + 
-AD_SCRIPTURL=http://apps.difa.unibo.it/wiki/_media/script:$AD_SCRIPT+SM_FILE=sm2_4_25tot.tar.gz 
 +SM_URL=http://apps.difa.unibo.it/wiki/_media/script:$SM_FILE 
 +SM_INST=""
  
 if [ -z "$LAB" ]; then if [ -z "$LAB" ]; then
Linea 75: Linea 127:
     echo "Non è un PC di laboratorio"     echo "Non è un PC di laboratorio"
     ISLAB=0     ISLAB=0
-    mkdir /home/PERSONALE +    readdef 'Vuoi joinare la macchina? (S/n)' 's' JOIN 
-    mkdir /home/STUDENTI+    if [ "n" != "$JOIN" ]; then 
 +        mkdir /home/PERSONALE 
 +        mkdir /home/STUDENTI 
 +    fi
 else else
     # È un lab     # È un lab
     ISLAB=1     ISLAB=1
 +    JOIN=s
     AD_OU="$AD_OU/laboratori"     AD_OU="$AD_OU/laboratori"
  
-    apt-get -qy install ${LAB_PKGS} +    apt install ${LAB_PKGS} 
 +    
     DEFSO=""     DEFSO=""
     case "$LAB" in     case "$LAB" in
-        "n"|"o") +        "nav") 
-            AD_OU="${AD_OU}/belmeloro/${LAB}+            AD_OU="${AD_OU}/navile
-            DEFSO="\"Microsoft Windows XP Professional (on /dev/sda1)\"+            SRV_LAB="srv-lab-m
-            useradd -G root -m -U cirsfid +     useradd -G root -m -U cesia 
-            echo "Imposta password per utente cirsfid+     echo "Imposta password per utente cesia
-            passwd cirsfid +     passwd cesia 
- +     # Creazione delle home sul fileserver 
-            # Creazione delle home sul fileserver +     mkdir /home/PERSONALE 
-            mkdir /home/PERSONALE +     mkdir /home/STUDENTI 
-            mkdir /home/STUDENTI +            echo "137.204.136.90 ${SRV_LAB}" >> /etc/hosts 
-            echo "serverlab.bo.astro.it:/home/PERSONALE/ /home/PERSONALE nfs rsize=8192,wsize=8192,nosuid,soft,vers=3 0 0" >>/etc/fstab +            echo "${SRV_LAB}:homes /home glusterfs defaults,_netdev 0 0" >>/etc/fstab 
-            echo "serverlab.bo.astro.it:/home/STUDENTI/ /home/STUDENTI nfs rsize=8192,wsize=8192,nosuid,soft,vers=3 0 0" >>/etc/fstab +     SM_INST="y
-            ;; +   
-        "r1"+            # Preparazione all'installazione di IRAF (dipendenze e cache) 
-            AD_OU="${AD_OU}/r1+            mount /home/PERSONALE 
-            AD_HOME='%H/local/%D/%U' +            cp /home/PERSONALE/_LIB/IRAF/iraf64.tar.gz /home 
-            # Creazione delle home sul fileserver +            /home/PERSONALE/_LIB/IRAF/deploy.sh 
-            mkdir /home/local +     ;;
-            echo "137.204.65.251:/nas/NASDisk-00021/home_r1 /home/local nfs rsize=8192,wsize=8192,vers=3,nosuid,soft 0 0" >>/etc/fstab +
-            mkdir /home/remote/ +
-            mkdir /home/remote/PERSONALE +
-            mkdir /home/remote/STUDENTI +
-            echo "serverlab.bo.astro.it:/home/PERSONALE/ /home/remote/PERSONALE nfs rsize=8192,wsize=8192,nosuid,soft,vers=3 0 0" >>/etc/fstab +
-            echo "serverlab.bo.astro.it:/home/STUDENTI/ /home/remote/STUDENTI nfs rsize=8192,wsize=8192,nosuid,soft,vers=3 0 0" >>/etc/fstab +
-            ;;+
         "i")         "i")
             AD_OU="${AD_OU}/irnerio"             AD_OU="${AD_OU}/irnerio"
-            mkdir /home/PERSONALE +            SRV_LAB="srv-labirnerio" 
-            mkdir /home/STUDENTI+            useradd -G root -m -U cesia 
 +     mkdir /home/PERSONALE 
 +     mkdir /home/STUDENTI 
 +            # IP esterno del server 137.204.248.241 
 +            echo "10.10.10.241 ${SRV_LAB}" >> /etc/hosts 
 +            echo "${SRV_LAB}:home-personale /home/PERSONALE glusterfs defaults,_netdev 0 0" >>/etc/fstab 
 +            echo "${SRV_LAB}:home-studenti /home/STUDENTI glusterfs defaults,_netdev 0 0" >>/etc/fstab
             ;;             ;;
         "*")         "*")
Linea 122: Linea 177:
  
     # I laboratori si spengono alle 20     # I laboratori si spengono alle 20
-    echo "0 20 * * * shutdown -h now" | crontab -+    echo "0 20 * * * /sbin/shutdown -h now" | crontab - 
 + 
 +    if [ "y" == "$SM_INST" ]; then 
 +        apt-get -qy install libx11-6:i386 libc6:i386 libxcb1:i386 libxau6:i386 libxdmcp6:i386 
 +        cd / 
 +        wget -O $SM_FILE $SM_URL 
 +        tar xfz $SM_FILE 
 +        rm -f $SM_FILE 
 +        cd - 
 +    fi
 fi fi
  
-readdef 'Vuoi joinare la macchina? (S/n)' 's' JOIN 
 if [ "n" != "$JOIN" ]; then if [ "n" != "$JOIN" ]; then
     readdef "Nome amministratore AD (${AD_USER})" "$AD_USER" AD_USER     readdef "Nome amministratore AD (${AD_USER})" "$AD_USER" AD_USER
Linea 140: Linea 203:
 apt-get -qy install $SYS_PKGS apt-get -qy install $SYS_PKGS
 if [ "n" != "$JOIN" ]; then if [ "n" != "$JOIN" ]; then
-    apt-get -qy install $AD_PKGS +    wget -O - http://repo.pbis.beyondtrust.com/apt/RPM-GPG-KEY-pbis|apt-key add - 
-    curl $AD_SCRIPTURL > ~/$AD_SCRIPT+    wget -O /etc/apt/sources.list.d/pbiso.list http://repo.pbis.beyondtrust.com/apt/pbiso.list 
 +    apt-get update 
 +    apt-get -qy install $AD_PKGS pbis-open
 fi fi
  
 # Fix schermata di login # Fix schermata di login
 +if [ ! -s /etc/lightdm/lightdm.conf ]; then
 +    # il file non pare esistere in 18.04LTS...
 +    echo "[SeatDefaults]" > /etc/lightdm/lightdm.conf
 +    echo "user-session=ubuntu" >> /etc/lightdm/lightdm.conf
 +    echo "greeter-session=unity-greeter" >> /etc/lightdm/lightdm.conf
 +fi
 echo "allow-guest=false">>/etc/lightdm/lightdm.conf echo "allow-guest=false">>/etc/lightdm/lightdm.conf
 echo "greeter-show-manual-login=true">>/etc/lightdm/lightdm.conf echo "greeter-show-manual-login=true">>/etc/lightdm/lightdm.conf
Linea 158: Linea 229:
     #apt-get -qy install $SYS_PKGS2     #apt-get -qy install $SYS_PKGS2
     sh ~/${AD_SCRIPT}     sh ~/${AD_SCRIPT}
-    # Corregge errore con PAM +    $pbis_base/domainjoin-cli setname $(hostname -s) 
-    sed 's/^(.*)sufficient(.*)$/\1[success=ok default=ignore]\2/' +    $pbis_base/domainjoin-cli join --ou "$AD_OU" personale.dir.unibo.it "$AD_USER"
-    pam-auth-update +
-    /opt/pbis/bin/domainjoin-cli setname $(hostname -s) +
-    /opt/pbis/bin/domainjoin-cli join --ou "$AD_OU" personale.dir.unibo.it "$AD_USER"+
     echo "Se il join è riuscito, premi INVIO, altrimenti ^C"     echo "Se il join è riuscito, premi INVIO, altrimenti ^C"
     read A     read A
-    /opt/pbis/bin/config HomeDirTemplate %H/%D/%U +    # Corregge errore con PAM (il file pbis viene creato col join, non prima...) 
-    /opt/pbis/bin/config AssumeDefaultDomain 1 +    sed -i 's/^\(.*\)sufficient\(.*\)$/\1[success=ok default=ignore]\2/' /usr/share/pam-configs/pbis 
-    /opt/pbis/bin/config LoginShellTemplate /bin/bash +    pam-auth-update 
-    /opt/pbis/bin/update-dns+    $pbis_base/config HomeDirTemplate %H/%D/%U 
 +    $pbis_base/config AssumeDefaultDomain 1 
 +    $pbis_base/config LoginShellTemplate /bin/bash 
 +    $pbis_base/update-dns
     echo "%str957.tecnici ALL=NOPASSWD: ALL" > /etc/sudoers.d/tecnici     echo "%str957.tecnici ALL=NOPASSWD: ALL" > /etc/sudoers.d/tecnici
     chmod 0440 /etc/sudoers.d/tecnici     chmod 0440 /etc/sudoers.d/tecnici
 +
 +    $pbis_base/find-group-by-name "$admgrp" > /dev/null 2>&1 && {
 + echo "Admin group found"
 + sed -i "s/^\(AdminIdentities.*;unix-group:admin\)\$/\1;unix-group:$admgrp/" /etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf
 +        echo "%${admgrp} ALL=NOPASSWD: ALL" > /etc/sudoers.d/localadmins
 +        chmod 0440 /etc/sudoers.d/localadmins
 +    }
 +    $pbis_base/find-group-by-name "$usrgrp" > /dev/null 2>&1 && {
 + echo "Allowed users group found"
 + reqm="PERSONALE\\$usrgrp";
 + $pbis_base/enum-members --group $usrgrp |grep -i $admgrp >/dev/null || {
 +     # Trying to lockout admins? Don't!
 +     reqm2="PERSONALE\\$admgrp"
 + }
 + $pbis_base/enum-members --group $usrgrp |grep -i $techs >/dev/null || {
 +     # Never lockout technicians!
 +     reqm3="PERSONALE\\$techs"
 + }
 + $pbis_base/config RequireMembershipOf $reqm $reqm2 $reqm3
 +    }
 +    echo "nameserver 137.204.25.77" >> /etc/resolv.conf
 +    /opt/pbis/bin/update-dns
 fi fi
  
Linea 176: Linea 269:
 apt-get -qy install ${XTRA_PKGS} apt-get -qy install ${XTRA_PKGS}
  
-# Installa ORACLE Java (richiede conferma sia per l'aggiunta del repository che per la licenza) +if [ -/etc/default/epoptes-client ]; then 
-add-apt-repository ppa:webupd8team/java +    echo "SERVER=${SRV_LAB}" >> /etc/default/epoptes-client 
-apt-get update +    epoptes-client -
-apt-get -qy install oracle-java7-installer+fi
  
 # Aggiornamento completo del sistema # Aggiornamento completo del sistema
 apt-get -qy dist-upgrade apt-get -qy dist-upgrade
-shutdown -now+shutdown -now
 </code> </code>
  
 ===== Debian ===== ===== Debian =====
  
-I server con Debian necessitano di uno script diverso, poiché per l'autenticazione non usano Likewise ma winbind (che ogni tanto va in crash...)+I server con Debian necessitano di uno script leggermente diverso: alcuni pacchetti/configurazioni differisconoal termine non va installato Java di Oracle e sopratutto il sistema va riavviato, non spento. 
 + 
 +=== PBIS (new) === 
 + 
 +Questo è lo script preferenziale per i nuovi serverPBIS si è rivelato piuttosto stabile. Rispetto al vecchio script, però, cambia il mapping UID/GID e questo può essere indesiderabile.
  
 <code bash instdeb.sh> <code bash instdeb.sh>
 #!/bin/bash #!/bin/bash
 ##### #####
-# Script di installazione per server Debian. Versione del 14/3/2014+# Script di installazione per server Debian. Versione del 09/07/2019 
 +# Modifiche per Debian 10 
 +# Permessa installazione senza join per macchine non str957-*
  
 ############################################################ ############################################################
Linea 204: Linea 303:
  
 # Base OU in AD # Base OU in AD
-AD_OU='dsa.auto/str00957.auto/computer/server'+AD_OU='dsa.auto/Dip-DIFA/computer/server'
  
 # Pacchetti base, da installare sempre # Pacchetti base, da installare sempre
-SYS_PKGS="vim-nox mc openssh-server unattended-upgrades grub2"+SYS_PKGS="vim-nox mc openssh-server curl gnupg"
  
 # Pacchetti da installare solo se si effettua il join, *dopo* SYS_PKGS # Pacchetti da installare solo se si effettua il join, *dopo* SYS_PKGS
-AD_PKGS="winbind libpam-ccreds"+AD_PKGS="libpam-ccreds"
  
 # Pacchetti comuni # Pacchetti comuni
-XTRA_PKGS="keychain screen gfortran nedit tcsh clamav"+XTRA_PKGS="keychain screen tcsh clamav htop"
  
 ############################################################ ############################################################
 # Qui non modificare nulla # Qui non modificare nulla
 +techs="str957.tecnici"
 +NAME=$(hostname -s)
 +admgrp="${NAME}-amministratori"
 +usrgrp="${NAME}-abilitati"
 +pbis_base=/opt/pbis/bin
 +AD_HOME='%H/%D/%U'
  
 # Read user input with a default # Read user input with a default
Linea 229: Linea 334:
     fi     fi
 } }
- 
-NAME=$(hostname -s) 
  
 PCID=`echo $NAME | sed 's/str957-\(.*\)/\1/i; t ;s/.*//'` PCID=`echo $NAME | sed 's/str957-\(.*\)/\1/i; t ;s/.*//'`
  
 +if [ -z "$PCID" ]; then
 +        echo "Hostname non joinabile! Dovrebbe iniziare con 'str957-' ."
 +        echo "Premi INVIO per continuare comunque."
 +        JOIN=n
 +        read A
 +    else
 +        readdef 'Vuoi joinare la macchina? (S/n)' 's' JOIN
 +fi
 +
 +if [ "n" != "$JOIN" ]; then
 +    readdef "Nome amministratore AD (${AD_USER})" "$AD_USER" AD_USER
 +    mkdir /home/PERSONALE
 +    mkdir /home/STUDENTI
 +fi
 +
 +# Primo aggiornamento/installazione pacchetti di sistema base
 +apt -qy install $SYS_PKGS
 +if [ "n" != "$JOIN" ]; then
 +    wget -O - http://repo.pbis.beyondtrust.com/apt/RPM-GPG-KEY-pbis|apt-key add -
 +    wget -O /etc/apt/sources.list.d/pbiso.list http://repo.pbis.beyondtrust.com/apt/pbiso.list
 +    apt update
 +    apt -qy install $AD_PKGS pbis-open
 +fi
 +
 +# Fix autorizzazioni
 +sed -i~ "s/^\(root:x:0:\)\$/\1${LOCAL_USER}/" /etc/group
 +sed -i~ "s,^\(#\|//\)\s*\(auth\s*\(required\s*pam_wheel.so\|sufficient\s*pam_wheel.so\s*trust\)\)\$,\2," /etc/pam.d/su
 +
 +# Operazioni relative al dominio
 +if [ "n" != "$JOIN" ]; then
 +    sh ~/${AD_SCRIPT}
 +    $pbis_base/domainjoin-cli setname $(hostname -s)
 +    $pbis_base/domainjoin-cli join --ou "$AD_OU" personale.dir.unibo.it "$AD_USER"
 +    echo "Se il join è riuscito, premi INVIO, altrimenti ^C"
 +    read A
 +    # Corregge errore con PAM (il file pbis viene creato col join, non prima...)
 +    sed -i 's/^\(.*\)sufficient\(.*\)$/\1[success=ok default=ignore]\2/' /usr/share/pam-configs/pbis
 +    pam-auth-update
 +    $pbis_base/config HomeDirTemplate $AD_HOME
 +    $pbis_base/config AssumeDefaultDomain 1
 +    $pbis_base/config LoginShellTemplate /bin/bash
 +    $pbis_base/update-dns
 +    echo "%str957.tecnici ALL=NOPASSWD: ALL" > /etc/sudoers.d/tecnici
 +    chmod 0440 /etc/sudoers.d/tecnici
 + 
 +    $pbis_base/find-group-by-name "$admgrp" > /dev/null 2>&1 && {
 +        echo "Admin group found"
 +        echo "%${admgrp} ALL=NOPASSWD: ALL" > /etc/sudoers.d/localadmins
 +        chmod 0440 /etc/sudoers.d/localadmins
 +    }
 +    $pbis_base/find-group-by-name "$usrgrp" > /dev/null 2>&1 && {
 +        echo "Allowed users group found"
 +        reqm="PERSONALE\\$usrgrp";
 +        $pbis_base/enum-members --group $usrgrp |grep -i $admgrp >/dev/null || {
 +            # Trying to lockout admins? Don't!
 +            reqm2="PERSONALE\\$admgrp"
 +        }
 +        $pbis_base/enum-members --group $usrgrp |grep -i $techs >/dev/null || {
 +            # Never lockout technicians!
 +            reqm3="PERSONALE\\$techs"
 +        }
 +        $pbis_base/config RequireMembershipOf $reqm $reqm2 $reqm3
 +    }
 +fi
 +
 +# Installazione dei pacchetti base
 +apt -qy install ${XTRA_PKGS}
 +
 +# Aggiornamento completo del sistema
 +apt -qy dist-upgrade
 +shutdown -r now
 +</code>
 +
 +=== Winbind (old) ===
 +
 +Talvolta è necessario evitare l'uso di PBIS (p.e. perché si aggiungono nodi che devono mantenere il mapping UID/GID coerente con vecchi server).
 +
 +<code bash instdeb-old.sh >
 +#!/bin/bash
 +#####
 +# Script di installazione per server Debian.
 +# Versione del 1/9/2015
 +
 +############################################################
 +# Config section: personalizza a volontà
 +####
 +# Utente locale
 +LOCAL_USER=tecnici
 +# Amministratore AD da usare per il join
 +AD_USER=diego.zuccato
 + 
 +# Base OU in AD
 +AD_OU='Dsa.Auto/Dip-DIFA/Computer/Server'
 + 
 +# Pacchetti base, da installare sempre
 +SYS_PKGS="vim-nox mc openssh-server grub2"
 + 
 +# Pacchetti da installare solo se si effettua il join, *dopo* SYS_PKGS
 +AD_PKGS="winbind libpam-ccreds ntp ntpdate libpam-winbind libnss-winbind"
 + 
 +# Pacchetti comuni
 +XTRA_PKGS="keychain screen gfortran nedit tcsh clamav"
 + 
 +############################################################
 +# Qui non modificare nulla
 + 
 +# Read user input with a default
 +# readdef "prompt" "default" varname
 +function readdef {
 +    local v;
 +    read -p "$1 " v
 +    if [ -z "$v" ]; then
 +        eval $3="\$2"
 +    else
 +        eval $3="\$v"
 +    fi
 +}
 + 
 +NAME=$(hostname -s)
 + 
 +PCID=`echo $NAME | sed 's/str957-\(.*\)/\1/i; t ;s/.*//'`
 + 
 if [ -z "$PCID" ]; then if [ -z "$PCID" ]; then
     echo "Hostname errato! Deve iniziare con 'str957-'"     echo "Hostname errato! Deve iniziare con 'str957-'"
     exit     exit
 fi fi
 + 
 LAB=`echo $PCID| sed 's/\([^-]*\)-[0-9]*/\1/; t; s/.*//'` LAB=`echo $PCID| sed 's/\([^-]*\)-[0-9]*/\1/; t; s/.*//'`
 PCNO=`echo $PCID| sed "s/$LAB-\(.*\)/\1/"` PCNO=`echo $PCID| sed "s/$LAB-\(.*\)/\1/"`
 AD_HOME='%H/%D/%U' AD_HOME='%H/%D/%U'
 + 
 mkdir /home/PERSONALE mkdir /home/PERSONALE
 mkdir /home/STUDENTI mkdir /home/STUDENTI
 + 
 readdef 'Vuoi joinare la macchina? (S/n)' 's' JOIN readdef 'Vuoi joinare la macchina? (S/n)' 's' JOIN
 if [ "n" != "$JOIN" ]; then if [ "n" != "$JOIN" ]; then
     readdef "Nome amministratore AD (${AD_USER})" "$AD_USER" AD_USER     readdef "Nome amministratore AD (${AD_USER})" "$AD_USER" AD_USER
 fi fi
 + 
 # Primo aggiornamento/installazione pacchetti di sistema base # Primo aggiornamento/installazione pacchetti di sistema base
 apt-get -qy install $SYS_PKGS apt-get -qy install $SYS_PKGS
Linea 257: Linea 482:
     service winbind stop     service winbind stop
     mv /etc/samba/smb.conf /etc/samba/smb.conf.ori     mv /etc/samba/smb.conf /etc/samba/smb.conf.ori
-    cat > /etc/samba/smb.conf <<<END+    cat > /etc/samba/smb.conf << END
 [global] [global]
         netbios name = ${NAME}         netbios name = ${NAME}
Linea 275: Linea 500:
         wins server = 137.204.25.77         wins server = 137.204.25.77
         client schannel = no         client schannel = no
 + 
         #winbind separator = -         #winbind separator = -
         winbind enum users = No         winbind enum users = No
Linea 286: Linea 511:
         winbind uid = 10000-99999         winbind uid = 10000-99999
         winbind gid = 10000-99999         winbind gid = 10000-99999
 + 
         #idmap domains = PERSONALE STUDENTI         #idmap domains = PERSONALE STUDENTI
         #idmap config PERSONALE:default = no         #idmap config PERSONALE:default = no
         #idmap config STUDENTI:default = yes         #idmap config STUDENTI:default = yes
 + 
         idmap config PERSONALE:backend = rid         idmap config PERSONALE:backend = rid
         idmap config PERSONALE:base_rid  = 500         idmap config PERSONALE:base_rid  = 500
Linea 297: Linea 522:
         idmap config STUDENTI:base_rid  = 500         idmap config STUDENTI:base_rid  = 500
         idmap config STUDENTI:range = 50000000 - 99999999         idmap config STUDENTI:range = 50000000 - 99999999
 + 
         template homedir = /home/%D/%U         template homedir = /home/%D/%U
         template shell = /bin/bash         template shell = /bin/bash
 END END
-    echo > /etc/security/pam_winbind.conf <<<END+    readdef "Gruppo degli abilitati all'accesso" ${NOME}-abilitati chkgroup 
 +    getent group $chkgroup > /dev/null && GROUP="${NOME}-abilitati," 
 +    cat > /etc/security/pam_winbind.conf << END
 [global] [global]
-require_membership_of=${NOME}-abilitati+require_membership_of=${GROUP}Str957.Tecnici
 mkhomedir=yes mkhomedir=yes
 END END
-    echo "Aggiungi winbind alle righe passwd e group" +   
-    read A +    # Aggiorna nsswitch per fargli cercare gli utenti anche con winbind 
-    mcedit /etc/nsswitch.conf +    sed -i~ 's/^\(\(passwd\|group\).*compat\)$/\1 winbind/' /etc/nsswitch.conf 
 + 
     # Controllo ed eventuale restart automatico di winbind ogni 5 minuti     # Controllo ed eventuale restart automatico di winbind ogni 5 minuti
     echo '*/5 *  *         wbinfo -p >/dev/null 2>&1 || /etc/init.d/winbind start >/dev/null'|crontab -     echo '*/5 *  *         wbinfo -p >/dev/null 2>&1 || /etc/init.d/winbind start >/dev/null'|crontab -
 fi fi
 + 
 # Fix autorizzazioni # Fix autorizzazioni
 sed -i~ "s/^\(root:x:0:\)\$/\1${LOCAL_USER}/" /etc/group sed -i~ "s/^\(root:x:0:\)\$/\1${LOCAL_USER}/" /etc/group
 sed -i~ "s,^\(#\|//\)\s*\(auth\s*\(required\s*pam_wheel.so\|sufficient\s*pam_wheel.so\s*trust\)\)\$,\2," /etc/pam.d/su sed -i~ "s,^\(#\|//\)\s*\(auth\s*\(required\s*pam_wheel.so\|sufficient\s*pam_wheel.so\s*trust\)\)\$,\2," /etc/pam.d/su
-#sed -i~ 's,//\(Unattended-Upgrade::\(MinimalSteps\|InstallOnShutdown\)\|.*-\(updates\|backports\).*\),\1,' /etc/apt/apt.conf.d/50unattended-upgrades 
  
 # Operazioni relative al dominio # Operazioni relative al dominio
 if [ "n" != "$JOIN" ]; then if [ "n" != "$JOIN" ]; then
-#    domainjoin-cli join --ou "$AD_OU" personale.dir.unibo.it "$AD_USER" +    net ads join -U "$AD_USER" -createcomputer=${AD_OU} 
-    net ads join -U "$AD_USER" +    echo "Se il join è riuscito (ignora l'eventuale errore di registrazione nel DNS), premi INVIO, altrimenti ^C"
-    echo "Se il join è riuscito, premi INVIO, altrimenti ^C"+
     read A     read A
 +    net ads dns register -P
     echo "%str957.tecnici ALL=NOPASSWD: ALL" > /etc/sudoers.d/tecnici     echo "%str957.tecnici ALL=NOPASSWD: ALL" > /etc/sudoers.d/tecnici
     chmod 0440 /etc/sudoers.d/tecnici     chmod 0440 /etc/sudoers.d/tecnici
Linea 332: Linea 558:
 # Installazione dei pacchetti base # Installazione dei pacchetti base
 apt-get -qy install ${XTRA_PKGS} apt-get -qy install ${XTRA_PKGS}
- 
-# Installa ORACLE Java (richiede conferma sia per l'aggiunta del repository che per la licenza) 
-add-apt-repository ppa:webupd8team/java 
-apt-get update 
-apt-get -qy install oracle-java7-installer 
  
 # Aggiornamento completo del sistema # Aggiornamento completo del sistema
 apt-get -qy dist-upgrade apt-get -qy dist-upgrade
-shutdown -now+shutdown -now
 </code> </code>
 +
script.1403095669.txt.gz · Ultima modifica: 2014/06/18 12:47 da diego.zuccato@unibo.it

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki