esta é a primeira ocorrência em que su foi necessário para mim.
Li um artigo sobre como alterar o valor em / sys / devices / virtual / backlight / acpi_video0 / brightness para alterar o brilho da tela do meu laptop.
Percebi pela primeira vez que, quando quisesse $ sudo echo 10 > brightness
, teria permissão negada.
Eu mudei para root usando su e # echo 10 > brightness
mudei meu brilho quase instantaneamente.
A última coisa estranha que aconteceu comigo quando tentei # echo 20 > brightness
(o arquivo maxbrightness mantém o valor 15) e recebi um erro de gravação
Alguém poderia explicar essa diferença entre sudo e su para mim? Compreender o erro de gravação seria um bônus adicional. Qualquer ajuda, ponteiros e / ou links seriam muito apreciados.
permissions
sudo
su
flumpb
fonte
fonte
Respostas:
O redirecionamento não funciona dessa maneira. Anexar
>
a um comando executará esse redirecionamento como o usuário que chama (você) e não como raiz. Faça isso comtee
:ou invocando o comando em um shell privilegiado separado:
fonte
Não é por causa
sudo
disso, é por causa da maneira como seu comando é processado; Na verdade, eu expliquei isso nesta pergunta . Quando você fazo shell executa o comando
sudo echo 10
, que é executadoecho 10
como root. O shell tenta abrirbrightness
para redirecionar a saídaecho 10
para ele, mas não pode - seu shell está sendo executado com suas permissões, não com raiz. Existem soluções alternativas postadas como respostas na pergunta à qual vinculei; uma boa é:Agora
tee
é o único a abrirbrightness
e, como está sendo executado como root, ele conseguefonte
su = s bruxa u ser: Use o shell como um usuário diferente
sudo = s uper u ser do : execute o seguinte comando como usuário root.
No seu caso, o comando a seguir é apenas
echo 20
, portanto, apenas o echo 20 é executado como root (como dito anteriormente). O redirecionamento é executado como você novamente.fonte
Você pode dar uma olhada no
/etc/sudoers
arquivo. Se o seu a / c não estiver listado lá, você não poderásudo
.fonte