Steuerung von Diensten
Mit chkconfig können Dienste elegant gesteuert werden.
# Liste der steuerbaren Dienste /sbin/chkconfig --list # Ein- und Ausschalten eines Dienstes (httpd): /sbin/chkconfig httpd (on|off) # Steuern der 'Run-Level' eines Dienstes: /sbin/chkconfig --level 345 httpd (on|off)
Der Paketmanager: yum
yum ist der Paketmanager unter CentOS. Mit ihm lassen sich sehr einfach Pakete aus sogenannten
Repositorien herunterladen und updaten. Des weiteren gibt es eine Vielzahl weiterer Optionen.
Die wichtigsten Befehle:
Info: Der Schalter '-y' unterdrückt die Nutzerabfrage ob die gewünschte Aktion ausgeführt werden soll.
# Liste der installierten Pakete anzeigen
yum list installed
# Pakete suchen
yum search <Paketname/Suchmuster>
# Pakete nach einer bestimmten Datei durchsuchen
yum provides <Dateiname/Suchmuster>
# Beispiel: yum provides /usr/lib64/libX11.so.6.3.0
Output:
libX11-1.6.4-3.el6.x86_64 : Core X11 protocol client library
Repo : base
Filename : /usr/lib64/libX11.so.6.3.0
# Informationen für eine Paketgruppe anzeigen
yum groupinfo <Paketname>
# Aktualisierung des Centos Betriebssystems
yum -y update [<Paketname>]
# Installation/Entfernen von Paketen
yum -y install <Paketname>
yum -y remove <Paketname>
# Installation ohne PGP-Check
yum -y install <Paketname> --nogpgcheck
# Installation von Paketgruppen (Beispiel)
yum -y groupinstall "Desktop" "Desktop Platform" "X Window System" "Fonts"
Es wird empfohlen das EPEL Repository zu installieren da nicht alle Pakete im Standard-Repository enthalten sind.
yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmFür weitere Optionen bitte in das Handbuch schauen:
man yum
Installation von Quellpaketen
Es besteht oft die Notwendigkeit Software die nicht in den Repositorien vorhanden sind als Quelldateien
aus dem Internet herunterzuladen und selbst zu kompilieren. Das grobe Schema wird hier kurz anhand
der Installation von qpopper einem POP3-eMail Server vorgestellt.
Vor dem Kompilieren eines Quellpaketes sind Paketabhängigkeiten die sogenannten Depedendencies zu prüfen. Unter anderem ist qpopper entsprechend der unten angegebenen Konfigurationsparameter von openssl und libpam abhängig die mit Hilfe des Paketmanagers yum vorher installiert werden müssen.
cd /tmp && wget ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper4.1.0.tar.gz && cat > qpopper.sh << "EOF" #!/bin/bash package="qpopper4.1.0" tar xzvf $package.tar.gz && cd $package && ./configure --prefix=/usr --with-openssl=/usr/include/openssl --enable-log-login --enable-auth-file=/etc/qpopper-allow-user --with-pam=pop3 &&
make && make install && echo "Installation beendet: Konfiguration anpassen!" EOF chmod u+x ./qpopper.sh && ./qpopper.sh
In diesem Zusammenhang ist natürlich zu beachten das die entsprechenden Konfigurationsdateien erstellt bzw. angepasst werden müssen. Im og. Fall wären dass:
/etc/qpopper-allow-user /etc/xinetd.d/pop3
iptables
iptables ist ein Userspace-Programm zur Konfiguration der Tabellen (tables), die durch die Firewall
im Linux-Kernel (bestehend aus einer Reihe von Netfilter-Modulen) bereitgestellt werden.
Diese Tabellen enthalten Ketten (chains) und Regeln (rules). (Quelle: Wikipedia)
Anzeigen der iptable Regeln ohne DNS Auflösung:
Anzeigen der iptable Regeln ohne DNS Auflösung:
/sbin/iptables -L -nSpeichern und Wiederherstellen der iptable Regeln:
/sbin/iptables-save > /path/to/iptables.save /sbin/iptables-restore < /path/to/iptables.saveMasquerading bzw. Port and Address Translation (PAT)
# IPv4 Forwarding aktivieren echo 1 > /proc/sys/net/ipv4/ip_forward # IPv6 Forwarding aktivieren echo 1 > /proc/sys/net/ipv6/conf/all/forwarding # Masquerading für Interface 'venet0' aktivieren /sbin/iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE- Permanente Aktivierung des Forwardings für IPv4 und IPv6
# Datei: /etc/sysctl.conf net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1 # Netzwerk neu starten service network restart- Überprüfung des Masqueradings
# iptables -t nat -S Output: -A POSTROUTING -o venet0 -j MASQUERADE # cat /proc/sys/net/ipv4/ip_forward Output: 1
sudo
Mit dem Programm sudo erhalten Benutzer bzw.
Gruppen erweiterte administrative Rechte, die in der Datei '/etc/sudoers'
festgelegt werden.
Bei Centos ist die Benutzergruppe 'wheel' bereits in der Datei eingetragen. Zur Aktivierung die Kommentierung '#' vor dem Eintrag '%wheel ...' entfernen.
# Datei /etc/sudoers anpassen # Allows people in group wheel to run all commands %wheel ALL=(ALL) ALLBenutzer mit dem Programm 'usermod' zur Gruppe 'wheel' hinzufügen
usermod -aG wheel username # Testen der Berechtigung: sudo ls /root # Benutzer aus der Gruppe entfernen gpasswd -d username wheel
ERROR: SSL: CERTIFICATE_VERIFY_FAILED
Sometimes a programm is not able to locate the systems CA Certificate
So we have to manually trace the system call open and locate the
path to the CA Certificate.
The reason for that error is often caused by a non-standard openssl installation
which in my case is in path: (/op/openssl)
So we have to manually trace the system call open and locate the
path to the CA Certificate.
The reason for that error is often caused by a non-standard openssl installation
which in my case is in path: (/op/openssl)
# Trace 'open' call with 'strace' <application> strace nodeenv --node=11.6.0 --npm=6.5.0-next.0 --prebuilt node |& grep open > /tmp/ssl.txt grep cert /tmp/ssl.txt # Result: open("/opt/openssl/cert.pem", O_RDONLY) = -1 ENOENT (No such file or directory) # Copy the ca certificate to the correct location: cp /path/to/cert.pem /opt/openssl/cert.pemEnvironment Settings:
export SSL_CERT_FILE=/path/to/ca_bundle.crt export SSL_CERT_DIR=/path/to/cert/directory