[...] Tapi itu sepertinya tidak masuk akal, karena saya selalu harus memasukkan sudo, apakah saya mengelola paket, mengedit file konfigurasi, menginstal program dari sumber, atau apa pun. [...]
Kata sifat tersirat terkait dengan semua ini adalah bahwa mereka adalah perubahan sistem atau
global . Anda harus mempertimbangkan asal-usul Unix sebagai sistem multi-pengguna 1 di mana beberapa pengguna akan menggunakan instalasi yang sama dari jarak jauh. Tidak masuk akal bagi satu pengguna awam untuk memperbolehkan mengubah pengaturan global untuk semua pengguna. Itu adalah sysadmin, akar, hak istimewa dan tanggung jawab.
Dalam pengaturan multi-pengguna Anda memiliki masing-masing perangkat lunak yang sudah diinstal sebelumnya dan konfigurasi seluruh sistemnya masing /usr
- /etc
masing. Menyentuh lokasi ini akan memerlukan izin root. Tetapi karena perangkat lunak Unix ditulis dengan pemikiran multi-pengguna, Anda dapat mengkompilasi dan menginstal perangkat lunak di bawah $HOME
direktori 2 , dan memiliki file konfigurasi Anda sendiri di bawah rumah Anda, tempat Anda dapat mengedit file dengan bebas tanpa menjadi pengguna super.
Selain menginstal perangkat lunak Anda sendiri di bawah rumah, sebagian besar perangkat lunak seluruh sistem akan membaca konfigurasi khusus pengguna $HOME
segera setelah mereka pertama kali membaca konfigurasi /etc
. Ini memungkinkan Anda untuk menyesuaikan hampir semua hal tanpa harus pergi root
.
Dengan PC rumahan, dalam satu pengaturan pengguna utama, Anda dapat menggunakan sudo
dan me-root jalan Anda ke hal-hal yang Anda sukai. Tapi itu kebiasaan untuk tidak menyentuh konfigurasi aplikasi /etc
tetapi selalu memberikan konfigurasi khusus pengguna di rumah. Dengan begitu Anda dapat mengizinkan manajer paket Anda untuk mereset konfigurasi sistem pada pembaruan. Menginstal perangkat lunak baru di seluruh sistem cukup baik dalam pengaturan pengguna tunggal; paket-paket distro tidak menggunakan alternatifnya jadi itu jalan keluar yang mudah.
Saya akan membiarkan manajer paket saya menginstal hal-hal secara global tetapi semua hal yang dikompilasi-dari-sumber dan hal-hal buatan sendiri yang saya tinggalkan $HOME
. Dan aku tidak perlu sudo untuk semua itu.
Jika Anda memiliki file data, penyimpanan di luar Anda $HOME
, silakan chown
atau
chgrp
direktori ke nama Anda sehingga Anda dapat mengakses file tanpa
sudo
.
[1] (sedikit ironis karena Unix dimaksudkan untuk menjadi versi 'pengguna tunggal' dari sistem operasi Multics)
[2] (jika sistem memungkinkan ini dengan tidak memasang partisi rumah sebagai noexec)
sudo
untuk melakukan apa saja yang melibatkan perubahan sistem, jika Anda hanya mengoperasikan file / desktop Anda sendiri, Anda tidak memengaruhi orang lain sehingga tidak perlu hak istimewa yang lebih tinggi. Jika Anda menjalankan perintah istimewa tanpa sudo, Anda mungkin sudah menjadi pengguna super (yaitu, root) dan itu biasanya kurang disarankan daripada menggunakan sudo untuk tugas