Понятно, без sudo, запуская программу оказывается отказом сегментов. Я НИЧЕГО не получил, когда выполняют его через sudo./a.out!
Вы уверены, что это работало вообще?
#include <stdio.h>
int main (void) {
fprintf(stderr,"Attempting out-of-bounds access.\n");
int *p = (int*)0xffff000000000000;
fprintf(stderr,"%d\n", *p);
*p = 666;
fprintf(stderr,"%d\n", *p);
return 0;
}
Это использование stderr
, так как это не буферизуется, для предотвращения проблем, описанных warl0ck.
me@home> ./a.out
Attempting out-of-bounds access.
Segmentation fault
me@home> su root
Password:
root@home> ./a.out
Attempting out-of-bounds access.
Segmentation fault
Точно, что должно произойти. Система никогда не будет позволять никому сделать это. Эта строка:
int *p = (int*)0xffff000000000000;
При компиляции и выполнении получает SIGSEGV, иначе. "отказ сегментации".
Возможно, вы где-то в своей конфигурации определяете Каталог
вне DocumentRoot
(например, я храню свои статические страницы в DocumentRoot
, но у меня есть веб-приложения в отдельном каталоге вне DocumentRoot
). Имея в своей конфигурации
, вы определяете разумное значение по умолчанию, действительное для каждого каталога, не указанного в собственном
-станза.