Om een script te maken voor het uitvoeren van externe commando's in een client-servernetwerk.
import subprocess def ssh_exec_command(hostname, username, command): ssh_cmd = ['ssh', f'{username}@{hostname}', command] ssh_process = subprocess.Popen( ssh_cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True ) output, error = ssh_process.communicate() if error: print("Error:", error) else: print("Output:", output) # Vervang deze door uw...
In het geval u een oud legacysysteem heeft waarop nog Python 2 wordt gebruikt en u een script wilt maken om bepaalde commando's uit te voeren in een client-servernetwerk.
import subprocess def ssh_exec_command(hostname, username, private_key_path, command): ssh_cmd = ['ssh', '-i', private_key_path, '-o', 'StrictHostKeyChecking=no', f'{username}@{hostname}', command] ssh_process = subprocess.Popen( ssh_cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) output,...
===
Identity, Policy, and Audit (IPA) systeem
===
Jenkins
2.319.2
===
Dashboard -> Beveiliging -> Globale beveiliging configureren
Server:
ldap://<IP_SERVER>:389
Basis-DN:
dc=,dc=com
Zoekbasis gebruikers
cn=users,cn=accounts
Zoekfilter gebruikers
uid={0}
Zoekbasis groepen
cn=groups,cn=accounts
Groepslidmaatschap -> Zoeken naar LDAP-groepen die gebruiker bevatten -> Groepslidmaatschapsfilter:
(| (member={0}) (uniqueMember={0}) (memberUid={1}))
Beheerder-DN:...
===
Nexus
Sonatype Nexus Repository
OSS 3.60.0-02
===
LDAP
ldap://<IP_SERVER>:389
cn=users,cn=accounts,dc=,dc=com
Eenvoudige verificatie
uid=<ADMIN_USER>,cn=users,cn=accounts,dc=,dc=com
Volgende
===
Geen sjabloon selecteren
Relatieve DN gebruikers = leeg
Gebruikerssubstructuur = uitgeschakeld
Objectklasse: inetOrgPerson
Gebruikersfilter = leeg
Gebruikers-ID attribuut = uid
Echte naam attribuut = cn
E-mail attribuut = mail
Wachtwoord attribuut = leeg
LDAP-groepen als rollen koppelen...
LDAP/IPA Server configureren met Sonarqube
===
Sonarqube
8.9.6
sonar.properties
sonarqube-8.9.6/conf/sonar.properties
===
sonar.security.realm=LDAP
ldap.url=ldap://<IP_SERVER>:389
ldap.bindDn=uid=<ADMIN_USER>,cn=users,cn=accounts,dc=,dc=com
ldap.bindPassword=
ldap.authentication=simple
ldap.user.baseDn=cn=users,cn=accounts,dc=,dc=com
# laat volgende default
# ldap.user.request=
# LDAP gebruikersverzoek. (standaard: (&(objectClass=inetOrgPerson)(uid={login})) )...
$ ldapsearch -H ldap://<FQDN_SERVER>/ -b dc=,dc=com -x
$ ldapsearch -x -LLL -H ldap:/// -b dc=,dc=com dn
$ ldapwhoami -x -H ldap:///
$ ldapsearch -H ldap://<IP_SERVER> -D “uid=<ADMIN_USER>,cn=users,cn=compat,dc=,dc=com” -b “cn=users,cn=accounts,dc=,dc=com” -x -W
$ ldapsearch -H ldap://<IP_SERVER> -D “uid=<ADMIN_USER>,cn=users,cn=compat,dc=,dc=com” -b “dc=,dc=com” -x -W -s one...
===
# yum install ipa-client
# ipa-client-install –server= –domain= –principal=admin -W
# ipa-client-install –server=<ipa-server.example.com> –domain=<example.com> –principal=admin -W
===
# yum install ipa-server
# ipa-server-install
===
Hosts bestand aanpassen
De FQDN voor op, daarna pas de aliassen
/etc/hosts
<IP_SERVER> ()
Mocht er een alias voor de FQDN staan, dan kun je foutmeldingen krijgen die hier niet meteen aan te relateren zijn.
Als je gebruikt maakt van een hosts file, let dan goed op dat er FQDN's in staan en de volgorde waarin.
Controleer de hosts file en pas deze eventueel aan:
De FQDN voorop, daarna pas de aliassen.
/etc/hosts 10.0.0.1 server1.example.com server1 applicatie1 Mocht er een alias voor de FQDN staan, dan kun je foutmeldingen krijgen die hier niet meteen aan te relateren zijn.
Hierbij de broncode van een C programma om een Zombie proces in Linux te maken en deze te kunnen analyseren.
vim create_zombie_process.c #include <stdlib.h> #include <sys/types.h> #include <unistd.h> int main () { pid_t child_pid; child_pid = fork (); if (child_pid > 0) { sleep (60); } else { exit (0); } return 0; } Compileer de C broncode in een uitvoerbaar programma:
gcc create_zombie_process.c Start het programma:
./a.out Open een tweede Terminal en bekijk de proces...