Як відключити ASLR в Ubuntu 9.10


5

Я хочу вимкнути ASLR на своєму ПК. Але щоразу, коли я набираю "sudo echo 0> / proc / sys / kernel / randomize_va_space", система показує, що "Дозвіл відхилено". Як я можу змусити його працювати? До речі, у мене в ядрі ОС 2.6.30.

Сподіваюся, хтось може мені подати руку.

З повагою


2
Це дійсне питання щодо програмування оболонок.
liori

Чому ви хочете вимкнути ASLR ?!
Джеремі Віссер

Відповіді:


11

Це поширена проблема з перенаправленням судо і оболонок. "Судоність" не поширюється повз перенаправлення. Один із способів обійти це

sudo bash -c "echo 0 > /path/to/file"

11

У вашій команді переадресація вводу / виводу >обробляється поточною оболонкою. Перекладач розглядає команду як 3 частини:

  1. sudo echo 0
  2. >
  3. /proc/sys/kernel/randomize_va_space

echoВиконується з використанням суперкористувача привілеї в той час як струм оболонки (з нормальною привілеї користувача) намагається писати /proc/sys/kernel/randomize_va_space, і таким чином викликає Permission deniedпомилку.

Існує кілька способів подолати це. Перший спосіб - запустити оболонку з привілеєм суперусера і передати команду оболонці за допомогою -cперемикача:

sudo sh -c "echo 0 > /proc/sys/kernel/randomize_va_space"

(Ви можете використовувати shдля оболонки POSIX та bashдля Bash)

Інший спосіб - використовувати teeкоманду. У teeкоманді копіює вміст зі стандартного вводу на стандартний висновок (зазвичай означає «екран»), а також перераховані файли. Тому наступна команда друкує символ Aна стандартний вихід, а також файли output1.txtта output2.txt.

echo A | tee output1.txt output2.txt

У вашій проблемі писати /proc/sys/kernel/randomize_va_spaceпотрібні права привілеїв echoсуперпользователя, а в той час - 0немає. Отже, рішення таке:

echo 0 | sudo tee /proc/sys/kernel/randomize_va_space >/dev/null

Остаточне перенаправлення, щоб /dev/nullзапобігти 0друку на екран.


3

У sudoпрацює тільки для відлуння - команди (НЕ після труби).

Ви можете спробувати:

echo 0 | sudo tee /proc/sys/kernel/randomize_va_space
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.