Kami ingin beberapa pengguna dapat melakukan mis sudo
dan menjadi root,
Nah, itulah masalahnya sudo dirancang untuk dipecahkan, sehingga bagian itu cukup mudah.
tetapi dengan batasan bahwa pengguna tidak dapat mengubah kata sandi root.
Anda dapat, seperti yang ditunjukkan SHW dalam komentar, mengonfigurasi sudo hanya mengizinkan tindakan tertentu untuk diambil sebagai root oleh pengguna tertentu. Artinya, Anda dapat mengizinkan user1 untuk melakukan sudo services apache2 restart
, memungkinkan user2 untuk melakukan sudo reboot
tetapi tidak ada yang lain, sambil membiarkan administrator yang dipekerjakan sebagai sistem user3
melakukan sudo -i
. Ada howtos yang tersedia tentang cara mengatur sudo seperti itu, atau Anda dapat mencari (atau bertanya) di sini. Itu adalah masalah yang bisa dipecahkan.
Namun, pengguna yang telah diberikan kemampuan ke sudo -i
atau sudo
ke dalam shell ( sudo bash
, misalnya) dapat melakukan apa saja. Itu karena pada saat sudo meluncurkan shell, sudo sendiri sudah keluar dari gambar. Ini memberikan konteks keamanan pengguna yang berbeda (paling sering melakukan root), tetapi tidak memiliki suara dalam apa yang dilakukan aplikasi yang dieksekusi. Jika aplikasi itu pada gilirannya diluncurkan, passwd root
tidak ada yang bisa dilakukan sudo. Perhatikan bahwa ini dapat dilakukan melalui aplikasi lain juga; sebagai contoh, banyak editor yang lebih maju menyediakan fasilitas untuk mengeksekusi perintah melalui shell, shell yang akan dieksekusi dengan uid efektif dari proses editor itu (yaitu, root).
Artinya, jaminan bahwa kami masih bisa masuk ke server itu dan menjadi root tidak peduli apa yang akan dilakukan pengguna lain.
Maaf; jika Anda benar-benar bermaksud "memastikan kami akan dapat masuk dan menggunakan sistem tidak peduli apa yang dilakukan seseorang dengan akses root", bahwa (untuk semua maksud dan tujuan) tidak dapat dilakukan. "Sudo rm / etc / passwd" atau "sudo chmod -x / bin / bash" yang cepat (atau apa pun yang menggunakan root shell) dan Anda cukup banyak disembunyikan. "Cukup banyak disembunyikan" yang berarti "Anda harus memulihkan dari cadangan dan berharap mereka tidak melakukan hal yang lebih buruk daripada selip jari". Anda dapat mengambil beberapa langkah untuk mengurangi risiko kecelakaan yang tidak disengaja yang mengarah ke sistem yang tidak dapat digunakan, tetapi Anda tidak dapat mencegah niat jahat dari menyebabkan masalah yang sangat serius hingga dan termasuk titik perlu membangun kembali sistem dari awal atau paling tidak dari yang diketahui. backup yang bagus.
Dengan memberikan akses root tanpa batas pada sistem ke pengguna, Anda percaya bahwa pengguna (termasuk perangkat lunak apa pun yang mereka pilih untuk mengeksekusi, bahkan sesuatu yang biasa-biasa saja seperti ls) untuk tidak memiliki niat jahat, dan untuk tidak mengacaukan secara tidak sengaja. Itulah sifat akses root.
Akses root terbatas melalui mis. Sudo sedikit lebih baik, tetapi Anda tetap harus berhati-hati untuk tidak membuka vektor serangan apa pun. Dan dengan akses root, ada banyak kemungkinan vektor serangan untuk serangan eskalasi hak istimewa.
Jika Anda tidak dapat mempercayai mereka dengan tingkat akses yang disyaratkan oleh root, Anda akan memerlukan konfigurasi sudo yang sangat ketat, atau untuk tidak memberikan pengguna akses root yang dipertanyakan sama sekali melalui segala cara, sudo atau lainnya.
sudo
untuk memberikan izin hanya untuk aplikasi khusus root-privilege. Dengan cara itu, pengguna tidak akan diizinkan untuk mengubah kata sandi root