Bash: permissão negada para gravação de arquivo

Bash: permissão negada para gravação de arquivo

Eu segui issoguia tutorialem "Como criar arquivos Linux Proc em programa C usando LKM".

Eu criei meu módulo com sucesso e carreguei-o. Agora quero fazer eco em meu arquivo proc para ter certeza de que o método que deveria ser chamado será chamado.

Eu tentei:

$ echo "hello" > /proc/procEntry123       # But it says permission is denied!
$ sudo echo "hello" > /proc/procEntry123  # Same error message.

Como posso elevar privilégios para ecoar neste arquivo? Eu sou o único usuário e administrador deste sistema.

Responder1

Mas diz que a permissão foi negada!

Provavelmente é assim porque você define permissões restritivas ao chamar create_proc_entry(). (0644 se traduz em "u=rw,go=r", que concede apenas permissões de gravação ao proprietário, cujo padrão é root.)

Coloquei "sudo" na frente dele - mesma mensagem.

Redirecionamentos como >ou |são executados pelo shell em execução,antesele invoca sudo.

Você deve usar sudo sh -c "echo blah > /proc/blah"ou executar um shell root com sudo -s.

Eu sou o único usuário - esta é minha máquina pessoal!

Isso não importa no Linux. As permissões de arquivo serão aplicadas independentemente de quem usa o computador.

Se você não quiser isso, faça login como root ou use pam_cappara obter a cap_dac_overridecapacidade - mas qualquer um dos métodosvaicausar problemas mais cedo ou mais tarde.

informação relacionada