In case you have an old legacy system with Python 2 still in use and want to make a script to run certain commands in a client server network.
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, error = ssh_process.communicate() if...
===
Identity, Policy, and Audit (IPA) system
===
Jenkins
2.319.2
===
Dashboard -> Security -> Configure Global Security
Server:
ldap://<IP_SERVER>:389
root DN:
dc=,dc=com
User search base
cn=users,cn=accounts
User search filter
uid={0}
Group search base
cn=groups,cn=accounts
Group membership -> Search for LDAP groups containing user -> Group membership filter:
(| (member={0}) (uniqueMember={0}) (memberUid={1}))
Manager DN:
uid=<ADMIN_USER>,cn=users,cn=accounts,dc=,dc=com
===
Nexus
Sonatype Nexus Repository
OSS 3.60.0-02
===
LDAP
ldap://<IP_SERVER>:389
cn=users,cn=accounts,dc=,dc=com
Simple Authentication
uid=<ADMIN_USER>,cn=users,cn=accounts,dc=,dc=com
Next
===
Select no template
User relative DN = leeg
User subtree = unchecked
Object class: inetOrgPerson
User filter = leeg
User ID attribute = uid
Real name attribute = cn
Email attribute = mail
Password attribute = leeg
Map LDAP groups as roles = unchecked
Configure LDAP/IPA Server with 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 user request. (default: (&(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 file 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...
Zie hieronder een voorbeeld script om aan het einde van de regel helemaal rechts uitgelijnd een SUCCES melding in het groen of een FAILED melding in het rood te krijgen.
#!/bin/bash # Set the message success_message="Your command was successful" failed_message="Your command failed" # Set the "OK" string in green ok="$(tput setaf 2)[SUCCES]$(tput sgr0)" failed="$(tput setaf 1)[FAILED]$(tput sgr0)" # Get the width of the terminal term_width=$(tput...