Вы можете попробовать следующее.
Поместите этот код в local_httpd.te
файл:
policy_module(local_httpd, 0.0.1)
gen_require(`
type httpd_t;
')
netutils_domtrans_ping(httpd_t)
Убедитесь, что у вас установлен selinux-policy-devel
RPM, а затем выполните:
make -f /usr/share/selinux/devel/Makefile local_httpd.pp
иsemodule -i local_httpd.pp
Это должно позволить apache (httpd _t )перейти в контекст исполняемого файла ping
Возникает ошибка, поскольку xargs не может найти команду history
. Это встроенная оболочка, как вы можете подтвердить с помощью type history
, поэтому она невидима для xargs. Попробуйте
echo 1 | xargs history -d; echo $?
Возвращаемое значение равно 127. В man xargs
, секция EXIT STATUS:
0 if it succeeds
123 if any invocation of the command exited with status 1-125
124 if the command exited with status 255
125 if the command is killed by a signal
126 if the command cannot be run
127 if the command is not found
1 if some other error occurred.
Расширяя комментарий ilkkachu , в принципе вы можете вызвать Bash и вызвать history
из порожденной оболочки.
echo 1 | xargs -I {} bash -c 'echo $HISTFILE; history' bash {}
Вышеупомянутая команда не вызывает ошибку, поскольку встроенная функция history
доступна для оболочки Bash. Однако из той же команды можно также обнаружить, что HISTFILE
не установлен и history
ничего не выводит. :История не включена в не -интерактивной оболочке. Опять же, вы можете активировать его с помощью встроенного set
, экспортировать HISTFILE
и HISTFILESIZE
... Но мы не хотим головной боли. Редактирование .bash_history
напрямую — самый простой способ.