User Tools

Site Tools


strutture:lnf:dr:calcolo:sistemi:ubuntu_16.04_template

Ubuntu 16.04 Template

Rimozione dummy user

Ubuntu 16.04 non offre di default la possibilità di effettuare l'accesso come utente root. Per abilitare l'accesso eseguiamo i seguenti passaggi.

Creiamo una password per l'utente root:

# sudo -i
# passwd

Abilitiamo l'accesso come root via ssh modificando il file sshd_config (vi /etc/ssh/sshd_config) inserendo

PermitRootLogin yes

Quindi riavviamo il servizio sshd

# systemctl restart sshd

A questo punto possiamo eliminare l'utente creato durante l'installazione

# userdel -r [dummy user]

Rigenerazione chiavi SSH al boot

Aggiungere nel file /etc/rc.local, prima di exit 0, la riga:

echo [ -f /etc/ssh/ssh_host_dsa_key ] || dpkg-reconfigure openssh-server

Script di setup hostname

cat > /etc/dhcp/dhclient-exit-hooks.d/hostname <<''EOT''
#!/bin/sh

if [ "$reason" != BOUND ] && [ "$reason" != RENEW ] \
   && [ "$reason" != REBIND ] && [ "$reason" != REBOOT ]
then
        return
fi

hostname "$new_host_name"

echo -n "$new_host_name" > /etc/hostname

HOSTS='/etc/hosts'
TARGET_KEY='127.0.1.1'

sed -i "s/\($TARGET_KEY\)\(\s*\).*/\1\2$new_host_name/" $HOSTS
EOT

Data e ora

Installare il servizio NTP:

# apt install ntp

Controllare che in /etc/ntp.conf siano presenti i server LNF:

server ntp1.lnf.infn.it iburst
server ntp2.lnf.infn.it iburst
server ntp3.lnf.infn.it iburst

Abilitare la sincronizzazione:

# timedatectl set-ntp true

Mail

Installiamo il pacchetto mailutils per poter utilizzare il comando mail da linea di comando

# apt install mailutils

Durante il processo di installazione inseriamo le seguenti impostazioni:

General type of mail configuration: Internet with smarthost
System mail name: lnf.infn.it
Relay host: smtp.lnf.infn.it

Modifichiamo nel file main.cf di postfix (vi /etc/postfix/main.cf) le seguenti direttive:

#myhostname
mydomain = lnf.infn.it
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = [smtp.lnf.infn.it]

Kerberos

Installiamo i pacchetti per il client Kerberos

# apt install krb5-user

Editiamo il file di configurazione /etc/krb5.conf per impostare i realm, LNF.INFN.IT K5 come realm di default, il dominio del realm e alcuni valori di default utilizzati dagli applicativi di Kerberos 5.

[libdefaults]
        default_realm = LNF.INFN.IT

[domain_realm]
        .lnf.infn.it = LNF.INFN.IT
        lnf.infn.it  = LNF.INFN.IT

[realms]
        LNF.INFN.IT = {
                kdc = kdc5s3.lnf.infn.it:88
                kdc = kdc5s2.lnf.infn.it:88
                kdc = kdc5s1.lnf.infn.it:88
                kdc = kdc5s0.lnf.infn.it:88
                kdc = kdc5p.lnf.infn.it:88
                admin_server = kdc5p.lnf.infn.it:749
                default_domain = lnf.infn.it
        }
        INFN.IT = {
                kdc = k5.infn.it:88
                kdc = afscnaf.infn.it:88
                kdc = afsrm1.roma1.infn.it:88
                kdc = afsna.na.infn.it:88
                admin_server = k5.infn.it:749
                default_domain = infn.it
        }

[appdefaults]

        aklog_homedir = true

        pam-afs-session = {
            minimum_uid = 1000
            ignore_root = true
                debug = true
        }

        pam = {
                minimum_uid = 1000
                ticket_lifetime = 259200 # 86400
                renew_lifetime = 604800
                forwardable = true
                krb4_convert = false
                ccache_dir = /tmp
                tokens = true
                krb4_convert_524 = false
                krb4_use_as_req = false
                #afs_cells = lnf.infn.it=afs@LNF.INFN.IT
                afs_cells = lnf.infn.it=afs/lnf.infn.it@LNF.INFN.IT
                #existing_ticket = true
                validate = true
                #validate = false
                keytab = FILE:/etc/krb5.keytab
                debug = false
                #debug = true
        }

OpenAFS

Installiamo i seguenti pacchetti confermando, quando richiesto, i parametri di default:

# apt install openafs-client openafs-krb5 openafs-modules-dkms

Modifichiamo il file CellAlias in /etc/openafs/ inserendo

lnf.infn.it lnf

e il file ThisCell sempre in /etc/openafs/ inserendo

lnf.infn.it

Riavviamo quindi openafs-client

# systemctl stop openafs-client
# systemctl start openafs-client
# systemctl status openafs-client

Abilitare gli aggiornamenti automatici di sicurezza

Verifichiamo che in /etc/apt/apt.conf.d/50unattended-upgrades sia impostato

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};

Per abilitare gli aggiornamenti automatici, modificare /etc/apt/apt.conf.d/10periodic e impostare le appropriate opzioni di configurazione di apt:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

La configurazione precedente aggiorna l'elenco dei pacchetti, scarica gli aggiornamenti disponibili ed installa gli aggiornamenti di sicurezza. L'archivio locale dei file scaricati viene pulito ogni settimana.

Disabilitare ipv6

Aggungiamo le seguenti voci in fondo al file /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Rendiamo effettive le modifiche eseguendo il comando:

# sysctl -p

Inseriamo la voce AddressFamily nel file /etc/ssh/sshd_config

AddressFamily inet

Quindi riavviamo ssh.

Infine modifichiamo la voce inet_interfaces in /etc/postfix/main.cf nel modo seguente:

inet_interfaces = 127.0.0.1

oVirt agent

Installiamo il pacchetto relativo ai guest agent di oVirt

# apt-get install ovirt-guest-agent

Modifichiamo il proprietario della directory /var/log/ovirt-guest-agent

# chown ovirtagent:ovirtagent -R /var/log/ovirt-guest-agent

Eseguiamo i seguenti comandi per avviare il servizio e abilitarlo al boot:

# systemctl enable ovirt-guest-agent.service
# systemctl start ovirt-guest-agent.service

check-mk agent

Installiamo i pacchetti check-mk-agent e xinetd

# apt install check-mk-agent xinetd

Modifichiamo il file /etc/xinetd.d/check_mk inserendo in only_from la lista degli host che hanno il permesso di connettersi al client, ovvero localhost e il server Nagios.

only_from      = 127.0.0.1 193.206.84.50

Riavviamo il servizio xinetd

# systemctl restart xinetd.service

Log alert script

Modifichiamo il file /etc/rsyslog.d/50-default.conf inserendo

# Custom hourly warning mail
*.warning                                               /var/log/unsent.warnings

# Send all logs to logsrv.lnf.infn.it
*.*                                                     @logsrvdata.lnf.infn.it

Creiamo la directory /usr/custom/scripts

# mkdir -p /usr/custom/scripts

Copiamo nella directory appena create gli script:

  • z-send.warnings
  • summarize

Creiamo il file unset.warnings in /var/log/

# touch /var/log/unsent.warnings

Creiamo un link simbolico dallo script z-send.warnings a /etc/cron.hourly/

# ln -s /usr/custom/scripts/z-send.warnings /etc/cron.hourly/

Infine riavviamo il servizio rsyslog

# systemctl restart rsyslog

Tivoli Storage Manager e configurazione backup

Scarichiamo la versione client di Tivoli Storage Manager

# curl -O ftp://ftp.boulder.ibm.com/storage/tivoli-storage-management/patches/client/v6r4/Linux/LinuxX86/BA/v643/6.4.3.4-TIV-TSMBAC-LinuxX86.tar

Estraiamo il contenuto:

# tar -xf 6.4.3.4-TIV-TSMBAC-LinuxX86.tar

Istalliamo il tool di conversione alien.

# apt install alien

Questo tool consente di convertire i pacchetti Linux RPM in pacchetti Ubuntu Debian.

# alien -k --scripts gskcrypt64-8.0.14.53.linux.x86_64.rpm
# alien -k --scripts gskssl64-8.0.14.53.linux.x86_64.rpm
# alien -k --scripts TIVsm-API64.x86_64.rpm
# alien -k --scripts TIVsm-BA.x86_64.rpm

Lanciamo l'installazione:

# dpkg -i tivsm-api64_6.4.3-4_amd64.deb tivsm-ba_6.4.3-4_amd64.deb gskcrypt64_8.0-14.53_amd64.deb gskssl64_8.0-14.53_amd64.deb

Creiamo i seguenti link simbolici:

# ln -s /opt/tivoli/tsm/client/api/bin64/libgpfs.so /lib/ 
# ln -s /opt/tivoli/tsm/client/api/bin64/libdmapi.so /lib/ 
# ln -s /usr/local/ibm/gsk8_64/lib64/libgsk8cms_64.so /lib/ 
# ln -s /usr/local/ibm/gsk8_64/lib64/libgsk8ssl_64.so /lib/ 
# ln -s /usr/local/ibm/gsk8_64/lib64/libgsk8sys_64.so /lib/ 
# ln -s /usr/local/ibm/gsk8_64/lib64/libgsk8iccs_64.so /lib/

Modifichiamo il file /opt/tivoli/tsm/client/ba/bin/dsm.sys con il seguente contenuto:

************************************************************************
* Tivoli Storage Manager                                               *
*                                                                      *
* Sample Client System Options file for UNIX (dsm.sys.smp)             *
************************************************************************

*  This file contains the minimum options required to get started
*  using TSM.  Copy dsm.sys.smp to dsm.sys.  In the dsm.sys file,
*  enter the appropriate values for each option listed below and
*  remove the leading asterisk (*) for each one.

*  If your client node communicates with multiple TSM servers, be
*  sure to add a stanza, beginning with the SERVERNAME option, for
*  each additional server.

************************************************************************

servername  tsm01
    commmethod         tcpip
    tcpport            1500
    tcpserveraddress   tsm01.lnf.infn.it
    Inclexcl           /opt/tivoli/tsm/client/ba/bin/inclexcl.file
    passwordaccess     generate
    passworddir        /etc/security/tsm01
    nodename           __NODENAME__
    users              root
    schedlogname       /var/log/dsmcschedule.log
    errorlogname       /opt/tivoli/tsm/client/ba/bin/dsmerror.log

Analogamente modifichiamo il file /opt/tivoli/tsm/client/ba/bin/dsm.opt inserendo:

************************************************************************
* Tivoli Storage Manager                                               *
*                                                                      *
* Sample Client User Options file for UNIX (dsm.opt.smp)               *
************************************************************************

*  This file contains an option you can use to specify the TSM
*  server to contact if more than one is defined in your client
*  system options file (dsm.sys).  Copy dsm.opt.smp to dsm.opt.
*  If you enter a server name for the option below, remove the
*  leading asterisk (*).

************************************************************************

* SErvername       A server name defined in the dsm.sys file
servername tsm01
compressalways no

Modifichiamo lo scheduler in /usr/lib/systemd/system/tsmscheduler.service con il seguente contenuto:

[Unit]
Description=Tivoli Storage Manager Client Scheduler
After=network.target

[Service]
ExecStart=/opt/tivoli/tsm/client/ba/bin/dsmc schedule
StandardOutput=null
StandardError=journal
KillMode=process
Restart=always
RestartSec=10m

[Install]
WantedBy=multi-user.target

Templetize script

Configurati tutti i servizi precedenti è necessario eseguire il seguente script per ripulire la macchina da tutte le configurazioni non necessarie:

#!/bin/bash

echo 'Removing apt cache files...'
apt-get clean
apt-get autoclean
echo 'Done.'

echo 'Removing config and log files...'
rm -vrf /root/.ssh/known_hosts /root/.viminfo /root/.pine-debug2 /root/.bash_history /tmp/* /var/log/anacond* /var/log/boot* /var/log/cron* /var/log/dmes* /var/log/faillo* /var/log/lastlo* /var/log/maillo* /var/log/mcelo* /var/log/message* /var/log/rpmpkg* /var/log/scrollkeepe* /var/log/secur* /var/log/spoole* /var/log/unsen* /var/log/wtm* /var/log/Xor* /var/log/yu* /var/log/audit/* /var/log/cups/* /var/log/gdm/* /var/log/mail/* /var/log/news/* /var/log/pm/* /var/log/prelink/* /var/log/settroubleshoot/* /etc/udev/rules.d/70-persistent-net.rules /etc/ssh/ssh_host* /var/lib/dhcp/dhclient*
echo 'Done.'

echo 'Shutdown in 10 seconds...'
sleep 10

history -c 

shutdown -h now
strutture/lnf/dr/calcolo/sistemi/ubuntu_16.04_template.txt · Last modified: 2017/10/31 14:51 by dmaselli@infn.it

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki