mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
Create syscalls file (#2754)
* Create syscalls file A little script to determine the necessary syscalls for a program.
This commit is contained in:
parent
7319615509
commit
cedf414da5
1 changed files with 30 additions and 0 deletions
30
contrib/syscalls.sh
Normal file
30
contrib/syscalls.sh
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
#!/bin/bash
|
||||
|
||||
STRACE_OUTPUT_FILE="$(pwd)/strace_output.txt"
|
||||
SYSCALLS_OUTPUT_FILE="$(pwd)/syscalls.txt"
|
||||
|
||||
if [ $# -eq 0 ]
|
||||
then
|
||||
echo
|
||||
echo " *** No program specified!!! ***"
|
||||
echo
|
||||
echo -e "Make this file executable and execute it as:\\n"
|
||||
echo -e "\\e[96m syscalls.sh /full/path/to/program\\n"
|
||||
echo -e "\\e[39mif you saved this script in a directory in your PATH (e.g., in ${HOME}/bin), otherwise as:\\n"
|
||||
echo -e "\\e[96m ./syscalls.sh /full/path/to/program\\n"
|
||||
echo -e "\\e[39mUse the full path to the respective program to avoid executing it sandboxed with Firejail\\n(if a Firejail profile for it already exits and 'sudo firecfg' was executed earlier)\\nin order to determine the necessary system calls."
|
||||
echo
|
||||
exit 0
|
||||
|
||||
else
|
||||
|
||||
strace -cfo "$STRACE_OUTPUT_FILE" "$@" && awk '{print $NF}' "$STRACE_OUTPUT_FILE" | sed '/syscall\|-\|total/d' | sort -u | awk -vORS=, '{ print $1 }' | sed 's/,$/\n/' > "$SYSCALLS_OUTPUT_FILE"
|
||||
echo
|
||||
echo -e "\e[39mThese are the sorted syscalls:\n\e[93m"
|
||||
cat "$SYSCALLS_OUTPUT_FILE"
|
||||
echo
|
||||
echo -e "\e[39mThe sorted syscalls were saved to:\n\n\e[96m$SYSCALLS_OUTPUT_FILE"
|
||||
echo
|
||||
exit 0
|
||||
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue