permissions issues escrevendo para / proc [duplicate]

1

Novo no Linux tentando um exercício para sobrescrever /proc/sys/fs/file-max

sudo sh -c 300000 > file-max retorna bash: file-max: Permission denied . Eu realmente tenho que ser root para fazer isso? a conta de usuário que estou usando foi adicionada ao grupo de usuários sudo.

Eu vi variações desta questão postadas na maior parte tentando modificar pastas diferentes e o comando acima foi a recomendação para aliviar o problema, mas o diretório /proc é diferente?

Nota: usando a versão mais recente do Kali Linux.

    
por Tor 08.01.2018 / 23:03

3 respostas

2

Seu comando proposto é sem sentido. sudo sh -c 300000 > file-max tentará ter um shell de superusuário executando o comando 300000 e redirecionando a saída para um arquivo chamado file-max no diretório de trabalho atual do shell não-superusuário.

Provavelmente, você está procurando fazer algo como:

sudo sh -c 'echo 300000 > /proc/fs/file-max'

Dito isso, escrever diretamente para /proc é uma maneira um tanto hacky de alterar essas propriedades. Uma maneira mais "respeitável" de efetuar essa alteração seria:

sudo sysctl -w fs.file-max=300000
    
por 08.01.2018 / 23:22
1

O redirecionamento é executado antes que sudo assim sudo não possa elevar as permissões do redirecionamento. Você precisa de um shell com permissões de root para fazer isso:

sudo bash -c 'echo 300000 >/proc/sys/fs/file-max'
    
por 08.01.2018 / 23:24
1

O problema é que /proc/file-max está sendo sobrescrito como seu usuário e não como root.

Faça:

echo 300000 | sudo tee /proc/sys/fs/file-max

ou:

sudo sysctl -w fs.file-max=300000

Você deve reiniciar sua rede para que a alteração entre em vigor. O comando para reiniciar manualmente a rede é o seguinte:

sudo service networking restart

Você também deve adicionar fs.file-max=300000 a /etc/sysctl.conf para que a configuração sobreviva a uma reinicialização do servidor.

echo "fs.file-max=300000" | sudo tee -a /etc/sysctl.conf
    
por 08.01.2018 / 23:21