c'est la première occurrence où su était requis pour moi.
J'ai lu un article sur la modification de la valeur dans / sys / devices / virtual / backlight / acpi_video0 / luminosité pour modifier la luminosité de l'écran de mon ordinateur portable.
J'ai d'abord remarqué que lorsque je le ferais $ sudo echo 10 > brightness
, j'obtiendrais une autorisation refusée.
Je suis passé à root en utilisant su et # echo 10 > brightness
j'ai changé ma luminosité presque instantanément.
La dernière chose bizarre m'est arrivée quand j'ai essayé # echo 20 > brightness
(le fichier maxbrightness contient la valeur 15) et j'ai eu une erreur d'écriture
Quelqu'un pourrait-il m'expliquer cette différence entre sudo et su? Comprendre l'erreur d'écriture serait un bonus supplémentaire. Toute aide, pointeurs et / ou liens seraient très appréciés.
la source
Réponses:
La redirection ne fonctionne pas de cette façon. L'ajout
>
à une commande exécutera cette redirection en tant qu'utilisateur invoquant (vous) et non en tant que root. Faites-le avectee
:ou en appelant la commande dans un shell privilégié distinct:
la source
Ce n'est pas à cause de
sudo
, c'est à cause de la façon dont votre commande est traitée; Je l'ai en fait expliqué dans cette question . Quand tu faisle shell exécute la commande
sudo echo 10
, qui s'exécute enecho 10
tant que root. Le shell essaie ensuite de s'ouvrirbrightness
pour pouvoir rediriger la sortie depuisecho 10
, mais il ne peut pas - votre shell fonctionne avec vos autorisations, pas root. Il existe des solutions de contournement affichées comme réponses à la question à laquelle j'ai lié; une bonne est:C'est maintenant
tee
celui à ouvrirbrightness
, et comme il s'exécute en tant que root, il réussitla source
su = s witch u ser: utiliser le shell en tant qu'utilisateur différent
sudo = s uper u ser do : exécutez la commande suivante en tant qu'utilisateur root.
Dans votre cas, la commande suivante est uniquement
echo 20
, donc seul l'écho 20 est exécuté en tant que root (comme indiqué précédemment). La redirection est exécutée à nouveau comme vous.la source
Vous voudrez peut-être jeter un œil au
/etc/sudoers
fichier. Si votre a / c n'y figure pas, vous ne pourrez passudo
.la source