Saya hanya ingin mengkonfirmasi pemahaman saya tentang beberapa hal yang berkaitan dengan root privilege. Benarkah itu:
- Nama pengguna "administrator" bukan nama yang dilindungi undang-undang dengan hak istimewa tersirat, itu hanya nama pengguna dan saya dapat menggunakannya tanpa secara tidak sengaja mengalahkan keamanan yang melekat?
- Efek menggunakan perintah SU di terminal terbatas pada aktivitas dalam sesi terminal itu. Misalnya, menjadi root di sesi terminal itu tidak akan mem-bypass permintaan kata sandi dalam aplikasi bersamaan yang diluncurkan dari, katakanlah, menu aplikasi, atau beri saya hak istimewa root jika saya secara bersamaan membuka sesi terminal lain.
Juga, perintah apa yang akan memberitahu saya apakah saya saat ini memiliki hak akses root?
users
root
su
privileges
fixer1234
sumber
sumber
whoami
akan memberi tahu Anda pengguna saat ini dan memberi tahu Anda apakah Anda pengguna biasa atau pengguna root.root
apakah Anda adalah pengguna root.Jawaban:
Anda mendapatkan hak akses root dengan memiliki nomor ID pengguna 0. Jika "administrator" pengguna memiliki nomor ID yang berbeda, itu hanya akan menjadi pengguna biasa
Efeknya adalah untuk shell yang dihasilkan oleh
su
(atau perintah apa pun yang dijalankan dengan-c
opsi). Dan setiap proses yang merupakan keturunan dari shell / perintah itu akan mempertahankan hak-hak istimewa tersebut (kecuali jika mereka secara eksplisit menjatuhkannya).id
akan memberi tahu Anda pengguna / grup yang Anda jalankan, ditambah nomor ID pengguna / grup. Jika nomor ID untuk pengguna adalah 0, Anda memiliki hak akses root.sumber
Nama "administrator" berasal dari dunia Windows. Di dunia Unix, "administrator sistem" adalah deskripsi pekerjaan, tetapi "administrator" tidak berarti sesuatu yang istimewa sehubungan dengan akun.
Tidak seperti Windows, akun Unix secara intrinsik tidak memiliki hak istimewa. Hak istimewa dalam akun diberikan oleh file yang dapat mereka akses, dengan perintah setuid yang dapat mereka jalankan, dengan aturan sudo yang mereka boleh gunakan, oleh kebijakan SELinux yang berlaku, dll. Ini dapat diberikan langsung kepada pengguna, atau ke grup yang menjadi milik pengguna.
Ada satu pengecualian: akun yang ID penggunanya 0 mendapat banyak izin tambahan (pada dasarnya, izin untuk melakukan apa saja). Akun ini secara konvensional disebut
root
(akan mungkin untuk menggunakan nama lain, sejauh menyangkut kernel, karena kernel tidak tahu tentang nama pengguna, tetapi itu akan merusak banyak perangkat lunak yang berhubungan dengan administrasi).Akun root tidak dimaksudkan untuk pengguna untuk masuk ke dalam operasi normal. Ini akun sistem. Administrator hanya menjalankan perintah sebagai root untuk melakukan tugas konfigurasi sistem, bukan untuk melakukan pekerjaan lain. Administrator mungkin login sebagai root kadang-kadang untuk melakukan instalasi atau perbaikan sistem, tetapi tidak akan menggunakan akun root untuk tugas-tugas yang tidak terkait sistem seperti browsing web dan email, mereka akan menggunakan akun pribadi mereka untuk itu.
Secara informal, akun administrator adalah akun pengguna yang dapat menjalankan perintah sebagai root. Seringkali ini dilakukan melalui sudo , sebuah program yang memungkinkan pengguna untuk menjalankan perintah sebagai pengguna lain (termasuk root) jika mereka diizinkan untuk melakukannya dengan konfigurasi sudo.
Hak istimewa terkait dengan suatu proses dan diwarisi oleh proses anak mereka. Ketika Anda menjalankan suatu proses dengan hak istimewa yang ditinggikan (misalnya melalui
su
atausudo
), hanya proses itu dan proses yang dimulai memiliki hak yang lebih tinggi. Sisa sesi tidak terpengaruh.sumber