sudo izin reddedildi ama su izin verir


11

bu benim için su'nun gerekli olduğu ilk olay.

Dizüstü bilgisayarımın ekran parlaklığını değiştirmek için / sys / device / virtual / backlight / acpi_video0 / brightness içindeki değeri değiştirme hakkında bir makale okudum.

İlk fark $ sudo echo 10 > brightnessettiğimde izin verilmeyeceğini fark ettim .

Su kullanarak root # echo 10 > brightnessyaptım ve parlaklığımı neredeyse anında değiştirdim.

Son garip şey denediğimde oldu # echo 20 > brightness(maxbrightness dosyası 15 değerini tutar) ve bir yazma hatası aldım

Birisi bana sudo ve su arasındaki bu farkı açıklayabilir mi? Yazma hatasını anlamak ek bir bonus olacaktır. Herhangi bir yardım, işaretçi ve / veya bağlantı çok takdir edilecektir.


Yanıtlar:


17

Yönlendirme bu şekilde çalışmaz. Ekleme >bir komuta çağırarak kullanıcı (siz) ve kök olarak olarak yeniden yönlendirme çalışacaktır. Şununla yapın tee:

echo 20 | sudo tee /sys/devices/virtual/backlight/acpi_video0/brightness

veya komutu ayrı bir ayrıcalıklı kabukta çağırarak:

sudo bash -c "echo 20 > /sys/devices/virtual/backlight/acpi_video0/brightness"

Tee ucu gibi. Unix sysadmining benim 15 yıl boyunca bana olmadı :-) Açıkça görüldüğü zaman.
Bay Shark

8

Bunun nedeni, sudokomutunuzun işlenme şekli nedeniyle değildir ; Aslında bu soruda açıkladım . Ne zaman yaparsın

$ sudo echo 10 > brightness

kabuk sudo echo 10, echo 10root olarak çalışan komutu çalıştırır . Kabuk açılmaya çalışır, brightnessböylece çıktıyı echo 10içine yönlendirebilir , ancak yapamaz - kabuğunuz kökle değil izinlerinizle çalışıyor. Bağlantı verdiğim soruya cevap olarak gönderilen geçici çözümler var; iyi olanı:

$ echo 10 | sudo tee brightness

Şimdi teeaçılacak brightnessolan ve kök olarak çalıştığı için başarılı


3

su = s witch u ser: Kabuğu farklı bir kullanıcı olarak kullanın

sudo = s uper u ser do : kök kullanıcı olarak aşağıdaki komutu yürütün.

Sizin durumunuzda aşağıdaki komut sadece echo 20, bu nedenle sadece echo 20 kök olarak yürütülür (daha önce söylendiği gibi). Yönlendirme sizin gibi tekrar yürütülür.


2

/etc/sudoersDosyaya bir göz atmak isteyebilirsiniz . A / c listeniz burada yoksa, bunu yapamazsınız sudo.


Doğru, ancak bu durumda belirli bir hata mesajı alırsınız ("kullanıcı adı sudoers dosyasında değil")
Michael Mrozek
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.