Periksa sama ada skrip berjalan sebagai pengguna root di linux
- 3017
- 606
- Dave Kreiger V
Kadang -kadang skrip shell diperlukan untuk dijalankan sebagai pengguna root untuk melaksanakan beberapa tugas dengan keistimewaan pentadbir. Umumnya, tugas -tugas itu dapat dicapai dengan arahan sudo. Sekiranya dalam beberapa kes, anda masih perlu memaksa pengguna untuk menjalankan skrip sebagai pengguna root, anda boleh menambah kod ke skrip anda untuk memeriksa sama ada skrip berjalan dengan pengguna root atau tidak.
Periksa sama ada skrip shell berjalan sebagai pengguna root
Tambahkan kod berikut pada permulaan skrip shell untuk memeriksa sama ada skrip berjalan sebagai pengguna root. Sekiranya skrip dilaksanakan sebagai akaun bukan akar, ia akan keluar dengan kod status 1.
#!/usr/bin/env bash if ["$ euid" -ne 0]; kemudian echo "sila jalankan skrip ini sebagai pengguna root" keluar 1 fi123456 | #!/usr/bin/env bash if ["$ euid" -ne 0]; kemudian echo "sila jalankan skrip ini sebagai pengguna root" keluar 1fi |
Di sini Euid adalah pemboleh ubah sistem yang menyimpan ID Pengguna (UID) pengguna yang sedang log masuk. Uid pengguna "root" selalu 0
mengenai sistem linux.
Daripada menggunakan UID, anda juga boleh memadankan nama pengguna log masuk. The siapakah saya
Perintah menyediakan nama pengguna yang sedang dilog masuk. Skrip di bawah akan memeriksa sama ada skrip berjalan sebagai pengguna root atau tidak.
123456 | #!/usr/bin/env bash jika ['whoami' != 'root']; kemudian echo "sila jalankan skrip ini sebagai pengguna root" keluar 1fi |
Periksa sama ada skrip shell berjalan sebagai pengguna bukan akar
Kadang-kadang skrip diperlukan untuk dijalankan sebagai akaun bukan akar. Dalam hal ini, anda boleh menambah coretan berikut untuk memeriksa akaun pengguna dan teruskan hanya jika skrip berjalan sebagai pengguna biasa.
#!/usr/bin/env bash if ["$ euid" -eq 0]; kemudian echo "Sila jalankan skrip ini sebagai pengguna bukan akar" keluar 1 fi123456 | #!/usr/bin/env bash if ["$ euid" -eq 0]; kemudian echo "sila jalankan skrip ini sebagai pengguna bukan akar" keluar 1fi |
Kesimpulan
Dalam panduan cara yang cepat ini, anda telah belajar tentang menambahkan sekatan dalam skrip shell untuk dijalankan sebagai pengguna akar atau pengguna bukan akar. Sekiranya ia menjalankan pengguna yang berbeza, skrip akan keluar dengan segera.