Perbedaan terbesar adalah bahwa dengan sudo
Anda tidak perlu kata sandi root untuk menjalankan perintah sebagai root, seperti yang Anda lakukan su
. Anda memang perlu kata sandi root untuk menambahkan seseorang ke sudoers
file tetapi setelah itu orang tersebut dapat menjalankan semua atau beberapa (jika Anda telah membatasi) sebagai root tanpa memerlukan kata sandi lebih lanjut.
Perbedaan lainnya adalah, seperti yang telah Anda catat, sudo
memungkinkan kontrol yang jauh lebih baik atas perintah apa yang dapat dijalankan.
Untuk detail dari format sudoers
file yang dijalankan man sudoers
. Anda akan menemukan contoh di sana yang hanya mengizinkan perintah tertentu untuk dijalankan sebagai root. Struktur dasar setiap baris adalah:
user_list host_list = cmd_list
cmd_list dapat menyertakan detail pengguna mana yang diizinkan untuk beralih ke pengguna sebenarnya. Misalnya, Anda mungkin mengizinkan webmaster beralih ke wwwroot untuk memulai kembali apache tetapi tidak untuk me-root. Itu juga dapat menyertakan opsi lain seperti apakah kata sandi pengguna diperlukan sebelum beralih (ini adalah default).
Baris contoh mungkin:
joe ALL=(ALL) ALL
yang berarti: biarkan joe menjalankan perintah apa pun di host mana pun sebagai pengguna apa pun. Garis yang lebih ketat mungkin:
joe ALL=(operator) /usr/local/ops/
yang berarti: biarkan joe menjalankan perintah apa pun di direktori / usr / local / ops sebagai "operator" pengguna.
Ada banyak contoh di akhir halaman manual sudoers.
Anda harus mengedit /etc/sudoers
dengan perintah visudo
. Ini memeriksa apakah file tersebut legal dan membantu mencegah Anda dari kerusakan secara tidak sengaja.
sudo
adalah penemuan yang luar biasa