Como desativar o ASLR no Ubuntu 9.10

5

Desejo desligar o ASLR no meu próprio PC. Mas cada vez que eu digito "sudo echo 0 > / proc / sys / kernel / randomize_va_space", o sistema mostra que "Permission denied". Como posso fazer isso funcionar? By the way, meu kernel do sistema operacional é 2.6.30.

Espero que alguém possa me dar uma mão.

Atenciosamente.

    
por Summer_More_More_Tea 03.04.2010 / 14:07

3 respostas

11

Este é um problema comum com o redirecionamento de sudo e shell. O "sudoness" não se propaga além do redirecionamento. Uma maneira de contornar isso é

sudo bash -c "echo 0 > /path/to/file"
    
por 03.04.2010 / 14:14
10

Em seu comando, o redirecionamento de E / S > é tratado pelo shell atual. O comando é visto pelo intérprete como 3 partes:

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

O echo é executado usando o privilégio de superusuário enquanto o shell atual (com privilégio de usuário normal) tenta gravar em /proc/sys/kernel/randomize_va_space e, portanto, dispara um erro Permission denied .

Existem várias maneiras de superar isso. A primeira maneira é executar um shell com privilégios de superusuário e passar o comando para o shell usando a opção -c :

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

(Você pode usar sh para o shell POSIX e bash para o Bash)

Outra maneira é usar o comando tee . O comando tee copia o conteúdo da entrada padrão para a saída padrão (geralmente significa a "tela"), bem como os arquivos listados. Portanto, o comando a seguir imprime o caractere A na saída padrão, bem como os arquivos output1.txt e output2.txt .

echo A | tee output1.txt output2.txt

Em seu problema, gravar em /proc/sys/kernel/randomize_va_space precisa do privilégio de superusuário, enquanto echo -ing 0 não. Então, a solução é:

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

O redirecionamento final para /dev/null impede que 0 seja impresso na tela.

    
por 03.04.2010 / 15:26
3

O sudo só funciona para o seu comando echo (não depois do pipe).

Você pode tentar:

echo 0 | sudo tee /proc/sys/kernel/randomize_va_space
    
por 03.04.2010 / 14:13

Tags