Table of Contents
ScientificLinux/CentOS 7 Template
Impostare proxy per YUM
echo 'proxy=http://squid.lnf.infn.it:3128/' >> /etc/yum.conf
Installazioni e aggiornamenti
Aggiungiamo i repository EPEL:
yum install epel-release
Installiamo i seguenti pacchetti:
yum install deltarpm bash-completion yum-utils
Aggiorniamo i pacchetti installati
yum update
Disabilitiamo kdump
systemctl disable kdump.service
Impostare Version lock YUM (Solo SL)
yum remove yum-conf-sl7x rpm -q --queryformat='%{VERSION}' sl-release > /etc/yum/vars/slreleasever
Installare xAuth per il forward di X11 via SSH
yum install xorg-x11-xauth
Abilitare verbose boot
sed -i 's/rhgb\|quiet//g' /etc/default/grub sed -i 's/rhgb\|quiet//g' /boot/grub2/grub.cfg
Sostituzione del Volume Group name (solo SL)
Modifichiamo il nome del volume group assegnato automaticamente con vglocal
vgrename [automatic_name] vglocal
Sostituiamo tutte le occorrenze di [automatic_name] con vglocal nei seguenti file:
for f in /etc/grub2.cfg /etc/fstab /etc/default/grub /boot/grub2/grub.cfg; do sed -ri 's/centos_dhcp--?lnf/vglocal/g' $f ; done
Quindi riavviamo la macchina.
Data e ora
Installare il servizio NTP:
yum 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
Installiamo il pacchetto mailx
per poter utilizzare il comando mail da linea di comando
yum install mailx
Modifichiamo il file main.cf di postfix (vi /etc/postfix/main.cf
) impostando:
inet_interfaces = all relayhost = [smtp.lnf.infn.it] mydomain = lnf.infn.it
Kerberos
Installiamo i pacchetti per il client Kerberos
yum install krb5-workstation krb5-libs krb5-auth-dialog
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 (Solo SL)
Installiamo i pacchetti
yum install openafs-1.6-sl-client openafs-1.6-sl-krb5 net-tools
Modifichiamo il file CellAlias
in /usr/vice/etc/
inserendo
lnf.infn.it lnf
e il file ThisCell
sempre in /usr/vice/etc/
inserendo
lnf.infn.it
Abilitare gli aggiornamenti automatici di sicurezza (Solo SL)
Modifichiamo il file yum-cron.conf (vi /etc/yum/yum-cron.conf
) inserendo
update_cmd = minimal-security
Disabilitare SELinux
Per disabilitare SELinux modifichiamo il file di configurazione /etc/sysconfig/selinux
impostando il valore disabled
alla voce SELINUX
SELINUX=disabled
Dopo aver salvato il file è necessario il reboot del sistema per rendere le modifiche effettive.
Networking
Disabilitare Network Manager:
systemctl stop NetworkManager systemctl disable NetworkManager cat > /etc/resolv.conf <<EOT search lnf.infn.it nameserver 193.206.84.12 nameserver 193.206.84.112 nameserver 193.206.84.212 EOT
Togliamo tutti i riferimenti a ipv6 in /etc/sysconfig/network-scripts/ifcfg-*
.
Inoltre togliamo tutti i riferimenti univoci alle interfacce.
Modifichiamo le seguenti voci nel file /etc/sysctl.conf
:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
Rendiamo effettive le modifiche eseguendo il comando:
sysctl -p
Modifichiamo la voce AddressFamily
nel file /etc/ssh/sshd_config
sostituendo any
con inet
AddressFamily inet
Quindi riavviamo ssh
.
systemctl restart sshd systemctl status sshd
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
yum install 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
VMWare agent
Installiamo il pacchetto relativo ai guest agent di VMWare
yum install open-vm-tools
Eseguiamo i seguenti comandi per avviare il servizio e abilitarlo al boot:
systemctl enable vmtoolsd systemctl start vmtoolsd
Disabilitare LRO sulle interfacce virtuali
https://kb.vmware.com/s/article/1027511
inserire in /etc/rc.local:
echo 'for if in `cat /proc/net/dev | grep : | grep -v lo | sed s/:.*// `; do ethtool -K $if lro off gro off; done' >> /etc/rc.d/rc.local chmod +x /etc/rc.d/rc.local
Disabilitare firewalld e abilitare iptables
Per disabilitare firewalld
eseguiamo
systemctl stop firewalld systemctl disable firewalld
mask
previene l’avvio del servizio sia in automatico che manuale creando un link simbolico da /etc/systemd/system/firewalld.service
a /dev/null
.
Installiamo quindi il pacchetto iptables-services
yum install iptables-services
Abilitiamo iptables
al boot
systemctl enable iptables
Cancelliamo il contenuto del file /etc/sysconfig/iptables
contenente le regole create di default
cat /dev/null > /etc/sysconfig/iptables
Infine avviamo il servizio e verifichiamo lo stato
systemctl start iptables systemctl status iptables
check-mk agent
Installiamo il pacchetto xinetd
yum install xinetd
Scarichiamo la versione corretta di check_mk_agent e il relativo file di configurazione di xinetd
curl http://www.lnf.infn.it/computing/check_mk/check_mk_agent.linux-1.2.6p12 > /usr/bin/check_mk_agent curl http://www.lnf.infn.it/computing/check_mk/check_mk_agent.xinetd > /etc/xinetd.d/check-mk-agent chmod +x /usr/bin/check_mk_agent
Abilitiamo l'avvio al boot di xinetd
e avviamo il servizio
systemctl enable xinetd systemctl start xinetd systemctl status xinetd
Log rate limit
aggiungere a /etc/systemd/journald.conf:
RateLimitInterval=0 RateLimitBurst=0
Custom script
Creiamo la directory /usr/custom/scripts
mkdir -p /usr/custom/scripts
Copiamo nella directory appena create gli script:
- z-send.warnings
- summarize
scp slcalc:/usr/custom/scripts/* /usr/custom/scripts/
Log alert script
Modifichiamo il file /etc/rsyslog.conf
inserendo
local6.* /var/log/dsmcschedule.log # Custom hourly warning mail *.warning /var/log/unsent.warnings # Send all logs to logsrv.lnf.infn.it *.* @logsrvdata.lnf.infn.it
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 systemctl status 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
Lanciamo l'installazione:
yum localinstall TIVsm-API64.x86_64.rpm TIVsm-BA.x86_64.rpm gskcrypt64-8.0.14.53.linux.x86_64.rpm gskssl64-8.0.14.53.linux.x86_64.rpm
Modifichiamo il file /opt/tivoli/tsm/client/ba/bin/dsm.sys
con il seguente contenuto:
cat > /opt/tivoli/tsm/client/ba/bin/dsm.sys <<EOT ************************************************************************ * 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 EOT cat > /opt/tivoli/tsm/client/ba/bin/dsm.opt <<EOT ************************************************************************ * 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 EOT touch /opt/tivoli/tsm/client/ba/bin/inclexcl.file cat > /usr/lib/systemd/system/tsmscheduler.service <<EOT [Unit] Description=Tivoli Storage Manager Client Scheduler After=network.target [Service] Type=simple ExecStart=/opt/tivoli/tsm/client/ba/bin/dsmc schedule StandardOutput=syslog SyslogFacility=local6 SyslogLevel=debug StandardError=journal KillMode=process Restart=always [Install] WantedBy=multi-user.target'' EOT
Templatize script
Configurati tutti i servizi precedenti è necessario eseguire il seguente script per ripulire la macchina da tutte le configurazioni non necessarie:
cat > /root/templatize.sh <<EOT #!/bin/bash echo echo Making this system as a template in 10 seconds... sleep 10 set -x /usr/bin/systemctl stop rsyslog /usr/bin/systemctl stop auditd set -e /usr/bin/package-cleanup --oldkernels --count=1 /usr/bin/yum clean all rm -rf /var/cache/yum /usr/sbin/logrotate -f /etc/logrotate.conf /bin/rm -f /var/log/*-???????? /var/log/*.gz /bin/rm -f /var/log/dmesg.old /bin/rm -rf /var/log/anaconda /bin/cat /dev/null > /var/log/audit/audit.log /bin/cat /dev/null > /var/log/wtmp /bin/cat /dev/null > /var/log/lastlog /bin/cat /dev/null > /var/log/grubby /bin/sed -r -i '/^(HWADDR|UUID)=/d' /etc/sysconfig/network-scripts/ifcfg-* /bin/rm -f /etc/udev/rules.d/70* /bin/rm -rf /tmp/* /bin/rm -rf /var/tmp/* /bin/rm -f /etc/ssh/*key* /bin/rm -f /root/.ssh/known_hosts /bin/rm -f /root/.viminfo /bin/rm -f /root/.pine-debug1 /bin/rm -f /root/.ssh/id_dsa* /bin/rm -f /root/.ssh/id_rsa* /bin/rm -f /root/.bash_history unset HISTFILE hostnamectl set-hostname 'localhost.localdomain' newaliases shutdown -h now EOT # bash /root/templatize.sh