To make a script to run remote commands in a client server network.
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) # Replace these with your actual credentials and command...
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.
If you are using a hosts file, make sure it contains FQDNs and pay close attention to the order in which they appear.
Check the hosts file and adjust it if necessary:
The FQDN must come first, followed by any aliases.
/etc/hosts 10.0.0.1 server1.example.com server1 application1 If an alias is listed before the FQDN, you may encounter error messages that are not immediately traceable to this cause.
Below is the source code of a C program to create a Zombie process in Linux and analyse it.
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; } Compile the C source code into an executable program:
gcc create_zombie_process.c Start the program:
./a.out Open a second Terminal and view the process list.