Skip to content

Instantly share code, notes, and snippets.

@84adam
Created June 4, 2024 13:53
Show Gist options
  • Save 84adam/3de456cc23d769694cac6d19104141a2 to your computer and use it in GitHub Desktop.
Save 84adam/3de456cc23d769694cac6d19104141a2 to your computer and use it in GitHub Desktop.
check namespaces plus associated processes and users
#!/bin/bash
echo "Listing processes and their associated user namespaces:"
for pid in $(ls /proc | grep '^[0-9]*$'); do
if [ -e /proc/$pid/ns/user ]; then
# Get the process command line
cmdline=$(cat /proc/$pid/cmdline | tr '\0' ' ')
# Get the process owner
owner=$(ps -o user= -p $pid)
# Get the user namespace inode
namespace_inode=$(ls -l /proc/$pid/ns/user | awk '{print $11}')
# Get the process name
process_name=$(ps -p $pid -o comm=)
echo "PID: $pid"
echo "Process Name: $process_name"
echo "Command Line: $cmdline"
echo "Owner: $owner"
echo "Namespace Inode: $namespace_inode"
echo "----------------------------------------"
fi
done
@84adam
Copy link
Author

84adam commented Jun 4, 2024

Example output:

Listing processes and their associated user namespaces:

PID: 100457
Process Name: systemd
Command Line: /usr/lib/systemd/systemd --user
Owner: myusername
Namespace Inode: user:[3026531833]
----------------------------------------
PID: 100478
Process Name: bash
Command Line: -bash
Owner: myusername
Namespace Inode: user:[3026531833]
----------------------------------------
PID: 162535
Process Name: check-namespace
Command Line: /bin/bash ./check-namespaces.sh
Owner: myusername
Namespace Inode: user:[3026531833]
----------------------------------------

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment