разрешение отклонено для ptrace под GDB

Не ответ на Ваш вопрос, который был уже рассмотрен @jw013, но обратите внимание на то, что в то время как \ и {} являются лишними здесь, существует несколько вещей, отсутствующих. Как переменные должен быть заключен в кавычки, и -- отметить конец опций отсутствует.

cp -v -- "$LOG_DIR/$APPLICATION".*.log "$ARCHIVED_LOG_DIR"
5
17.04.2019, 01:41
1 ответ

Я не думаю, что отклоненное разрешение обязательно говорит о традиционных битах полномочий (rwx..), скорее я с подозрением относился бы к чему-то как SELinux или AppArmor, который мог бы запрещать Вашего доступа процесса.

У меня нет доступа к системе ArchLinux, но существует что-то подобное под Fedora, который обсужден здесь в этом Fedora тема Wiki: Features/SELinuxDenyPtrace.

Здесь они блокируют доступ к ptrace через SELinux, таким образом, Вы могли бы хотеть попытаться отключить или SELinux или AppArmor, ArchLinux, оказывается, использует также.

Что Ваша попытка работала на меня

Я судил Вас код моей системы Fedora 19, и кроме необходимости установить некоторый addtional debuginfo RPMs это работал, поскольку Вы будете ожидать это к.

Пример

Скомпилированный Ваш код.

$ gcc -g test.c 

Выполнил получающийся двоичный файл в gdb.

$ gdb a.out 
GNU gdb (GDB) Fedora 7.6.1-46.fc19
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/saml/tst/106912/a.out...done.
(gdb) break main
Breakpoint 1 at 0x40053f: file test.c, line 4.
(gdb) run
Starting program: /home/saml/tst/106912/a.out 

Breakpoint 1, main (argc=1, argv=0x7fffffffd698) at test.c:4
4       printf("1\n");
Missing separate debuginfos, use: debuginfo-install glibc-2.17-20.fc19.x86_64
(gdb) quit
A debugging session is active.

    Inferior 1 [process 13341] will be killed.

Quit anyway? (y or n) y

Отладчик жаловался, что я пропускал debuginfos для glibc, таким образом, я установил их.

$ sudo debuginfo-install glibc-2.17-20.fc19.x86_64

Теперь, когда я повторно выполняюсь gdb.

$ gdb a.out 
GNU gdb (GDB) Fedora 7.6.1-46.fc19
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/saml/tst/106912/a.out...done.
(gdb) break main
Breakpoint 1 at 0x40053f: file test.c, line 4.
(gdb) run
Starting program: /home/saml/tst/106912/a.out 

Breakpoint 1, main (argc=1, argv=0x7fffffffd698) at test.c:4
4       printf("1\n");
(gdb) 
2
27.01.2020, 20:42
  • 1
    у меня нет ни SELinux, ни установленного AppArmor. Какое-либо другое программное обеспечение как они? –  Idan Arye 28.12.2013, 23:09
  • 2
    ArchLinux не идет ни с одним предварительно установленным и предлагает обоим в, он - репозиторий. Моя машина не имеет их. Так или иначе вот вывод strace: pastebin.com/Bzxbe8qn –  Idan Arye 29.12.2013, 00:42
  • 3
    @Idan Arye Путем поиска исходного кода Linux, я нашел 4 LSM (Модули безопасности Linux), которые, кажется, регистрируют любой интерес в ptrace_traceme. Это AppArmor, SELinux, Вкус и "Yama". –  Iwillnotexist Idonotexist 29.12.2013, 05:33
  • 4
    Ну, у меня, кажется, нет ни одного из установленных... –  Idan Arye 29.12.2013, 21:51
  • 5
    @slm можно ли создать одну из тех чат-комнат, где мы можем говорить об этом? Мы ввели бы наши комментарии до сих пор там. –  Iwillnotexist Idonotexist 30.12.2013, 04:23

Теги

Похожие вопросы