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
