Esta es la primera vez que se requería su para mí.
Leí un artículo sobre cómo cambiar el valor en / sys / devices / virtual / backlight / acpi_video0 / brillo para alterar el brillo de la pantalla de mi computadora portátil.
Primero me di cuenta de que cuando lo haría, $ sudo echo 10 > brightness
me negarían el permiso.
# echo 10 > brightness
Cambié a root usando su y cambié mi brillo casi al instante.
Lo último que me pasó cuando intenté # echo 20 > brightness
(el archivo maxbrightness tiene el valor 15) y recibí un error de escritura
¿Podría alguien explicarme esta diferencia entre sudo y su? Comprender el error de escritura sería una ventaja adicional. Cualquier ayuda, consejos y / o enlaces serán muy apreciados.
permissions
sudo
su
flumpb
fuente
fuente
Respuestas:
La redirección no funciona de esa manera. Agregar
>
a un comando ejecutará esa redirección como el usuario que invoca (usted) y no como root. Hazlo contee
:o invocando el comando en un shell privilegiado separado:
fuente
Esto no
sudo
se debe a la forma en que se procesa su comando; En realidad lo expliqué en esta pregunta . Cuando tu lo hagasel shell ejecuta el comando
sudo echo 10
, que se ejecutaecho 10
como root. Luego, el shell intenta abrirsebrightness
para poder redirigir la salidaecho 10
hacia él, pero no puede: su shell se ejecuta con sus permisos, no root. Hay soluciones alternativas publicadas como respuestas a la pregunta a la que me vinculé; uno bueno es:Ahora
tee
es el que se abrebrightness
, y dado que se está ejecutando como root, tiene éxitofuente
SU = s bruja u ser: Usar el Shell como un usuario diferente
sudo = s uper u ser do : ejecuta el siguiente comando como usuario root.
En su caso, el siguiente comando es solo
echo 20
, por lo tanto, echo 20 se ejecuta como root (como se dijo antes). La redirección se ejecuta como usted nuevamente.fuente
Es posible que desee echar un vistazo al
/etc/sudoers
archivo. Si su aire acondicionado no está en la lista, entonces no podrá hacerlosudo
.fuente