ini adalah kejadian pertama di mana su diperlukan untukku.
Saya membaca sebuah artikel tentang mengubah nilai pada / sys / devices / virtual / backlight / acpi_video0 / brightness untuk mengubah kecerahan layar laptop saya.
Saya pertama kali memperhatikan bahwa ketika saya melakukannya $ sudo echo 10 > brightness
saya akan mendapat izin ditolak.
Saya beralih ke root menggunakan su dan # echo 10 > brightness
mengubah kecerahan saya hampir secara instan.
Hal aneh terakhir yang saya alami terjadi ketika saya mencoba # echo 20 > brightness
(file maxbrightness memiliki nilai 15) dan saya mendapat kesalahan tulis
Bisakah seseorang menjelaskan perbedaan antara sudo dan su kepada saya? Memahami kesalahan tulis akan menjadi bonus tambahan. Setiap bantuan, petunjuk, dan / atau tautan akan sangat dihargai.
sumber
Jawaban:
Pengalihan tidak berfungsi seperti itu. Menambah
>
perintah akan menjalankan pengalihan itu sebagai pengguna yang memohon (Anda) dan bukan sebagai root. Lakukan dengantee
:atau dengan menjalankan perintah dalam shell istimewa yang terpisah:
sumber
Ini bukan karena
sudo
, itu karena cara perintah Anda diproses; Saya sebenarnya menjelaskannya dalam pertanyaan ini . Saat kamu melakukanshell menjalankan perintah
sudo echo 10
, yang berjalanecho 10
sebagai root. Shell kemudian mencoba untuk membukabrightness
sehingga dapat mengarahkan output dariecho 10
ke dalamnya, tetapi tidak bisa - shell Anda berjalan dengan izin Anda, bukan root. Ada solusi yang diposting sebagai jawaban atas pertanyaan yang saya tautkan; yang bagus adalah:Sekarang
tee
yang harus dibukabrightness
, dan karena itu berjalan sebagai root berhasilsumber
su = s witch u ser: Gunakan shell sebagai pengguna yang berbeda
sudo = s uper u ser do : mengeksekusi perintah berikut sebagai user root.
Dalam kasus Anda, perintah berikut ini hanya
echo 20
, maka hanya echo 20 yang dieksekusi sebagai root (seperti yang dikatakan sebelumnya). Redirect dijalankan seperti Anda lagi.sumber
Anda mungkin ingin melihat
/etc/sudoers
file. Jika a / c Anda tidak terdaftar di sana, maka Anda tidak akan bisasudo
.sumber