Назад | Перейти на главную страницу

Не могу запускать программы под Strace

Я пытаюсь запустить эту простую программу ls под strace, и это не позволило мне. Вы можете подумать, почему это так?

[jeffjose@skipper ~]$ strace ls
strace: ptrace(PTRACE_TRACEME, ...): Permission denied

Я использую Fedora 17b, и моя оболочка tcsh. При необходимости я могу предоставить дополнительную информацию.

ОБНОВИТЬ: Кристофер указывает, что по этому поводу есть отчет об ошибке. Он также предлагает мне настроить selinux или отключить его. Это единственный способ? Что это значит? Что я буду делать, если сделаю это? Кто-нибудь может уточнить и ответить на этот вопрос? Я выбрал это как правильный ответ на свой вопрос. Спасибо!

ОБНОВЛЕНИЕ2: Я занимался отладкой, используя gdb и это повторилось снова. К счастью для меня, там было четко сказано, что нужно сделать.

warning: the SELinux boolean 'deny_ptrace' is enabled, you can disable this process attach protection by: (gdb) shell sudo setsebool deny_ptrace=0

Я смог сделать strace работать без проблем. Но что это значит? Что я только что сделал?

SELINUX - это (Linux с повышенной безопасностью) для усиления защиты серверов, запускать его на рабочем столе - это немного сложно.

Однако, если вы хотите узнать о selinux, хороший способ - запустить его в разрешающем режиме на вашем настольном компьютере.

Я использую инструмент под названием setroubleshooter, который отправляет мне уведомления на рабочем столе, когда одна из политик selinux была нарушена. Если операция законна, я могу «сгенерировать модуль локальной политики, чтобы разрешить этот доступ»

Например, сегодня на моей машине gnome3 нарушил selinux, но мне не было отказано, так как я нахожусь в разрешающем режиме. selinuxtroubleshooter дал этот совет:

 You should report this as a bug.
 You can generate a local policy module to allow this access.
 Allow this access for now by executing:
 # grep gnome-session-c /var/log/audit/audit.log | audit2allow -M mypol
 # semodule -i mypol.pp

эти две команды позволяют вам проверять и устанавливать SELINUX

  $ getenforce 
  Permissive

  $ setenforce 
  usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]

Радоваться, веселиться.