это первый случай, когда мне потребовалось su.
Я прочитал статью об изменении значения в / sys / devices / virtual / backlight / acpi_video0 / Brightness, чтобы изменить яркость экрана моего ноутбука.
Сначала я заметил, что когда $ sudo echo 10 > brightness
я получу разрешение, мне будет отказано.
Я переключился на root с помощью su и # echo 10 > brightness
почти мгновенно изменил яркость.
Последняя странная вещь со мной произошла, когда я попытался # echo 20 > brightness
(файл maxbrightness содержит значение 15), и я получил ошибку записи
Может ли кто-нибудь объяснить мне эту разницу между sudo и su? Понимание ошибки записи будет дополнительным бонусом. Любая помощь, указатели и / или ссылки будут высоко ценится.
permissions
sudo
su
flumpb
источник
источник
Ответы:
Перенаправление не работает таким образом. Присоединение
>
к команде будет запускать это перенаправление от имени вызывающего пользователя (вас), а не от имени пользователя root. Сделайте это сtee
:или вызвав команду в отдельной привилегированной оболочке:
источник
Это не из-за того
sudo
, как обрабатывается ваша команда; Я на самом деле объяснил это в этом вопросе . Когда вы делаетеоболочка запускает команду
sudo echo 10
, которая запускаетсяecho 10
от имени пользователя root. Затем оболочка пытается открыть ее,brightness
чтобы перенаправить выводecho 10
в нее, но не может - ваша оболочка работает с вашими разрешениями, а не с правами root. Есть обходные пути, опубликованные в качестве ответов на вопрос, с которым я связан; хороший это:Теперь
tee
это тот, который нужно открытьbrightness
, и, поскольку он работает как root, он успешноисточник
su = s witch u ser: использовать оболочку как другой пользователь
sudo = s uper u ser do : выполните следующую команду от имени пользователя root.
В вашем случае только следующая команда
echo 20
, следовательно, только echo 20 исполняется от имени пользователя root (как сказано выше). Перенаправление выполняется как вы снова.источник
Возможно, вы захотите взглянуть на
/etc/sudoers
файл. Если ваш кондиционер не указан там, вы не сможетеsudo
.источник