LINUX.ORG.RU

installwatch -o log-file.lst /path/to/program --parameters-to-program

Про installwatch написано на сайте http://cblfs.cross-lfs.org/index.php/InstallWatch

На выходе получаем файл со списком системных вызовов программы, относящихся к файлам.

gentoo_root ★★★★★
()
Ответ на: комментарий от Deleted

Только в настоящий момент открытые. Тот же resolv.conf или nsswitch.conf так можно и не поймать.

Nastishka ★★★★★
()

Для динамических эльфов уже сказали. Если программа не динамически линкованная, то только ядерными механизмами, наверно (про apparmor не знаю, но tomoyo умеет грепабельно ругаться в лог).

x3al ★★★★★
()
Ответ на: комментарий от x3al

Что за бред?

$ file ./67
./67: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.9, stripped

$ strace ./67 
execve("./67", ["./67"], [/* 27 vars */]) = 0
uname({sys="Linux", node="zenbook", ...}) = 0
brk(0)                                  = 0x2105000
brk(0x21061a0)                          = 0x21061a0
arch_prctl(ARCH_SET_FS, 0x2105880)      = 0
brk(0x21271a0)                          = 0x21271a0
brk(0x2128000)                          = 0x2128000
getpid()                                = 30144
getpriority(PRIO_PROCESS, 30144)        = 20
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 6), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd6825b9000
write(1, "0 30144\n", 80 30144
)                = 8
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({10, 0}, ^C <unfinished ...>
И не очень понятно, как тип линковки бинаря соотносится с информацией, предоставляемой ядром через /proc.

uzbl
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.