Butang VPN berfungsi untuk pentadbir dan gagal untuk semua orang lain, jadi seseorang menambah baris pada sudoers. Baris itu biasanya hidup lebih lama daripada masalah yang sepatutnya diselesaikan, dan sering memberi lebih daripada yang diperlukan oleh butang. Sebelum mengedit dasar, semak sama ada pemilik sambungan yang disokong sudah boleh melakukan kerja itu. Tiga syarat di bawah menentukan sama ada sudo terlibat sama sekali.

Syarat 1: pemilik yang disokong boleh melakukannya tanpa sudo

Pada kebanyakan desktop Linux, pengurus rangkaian sudah memiliki sambungan VPN, dan kebenarannya melalui polkit bukan sudo. Pengguna yang dibenarkan menaikkan sambungan boleh melakukannya dari baris arahan tanpa sebarang peraturan root. Semak apa yang dibenarkan pengurus sebelum menganggap butang memerlukan keistimewaan. Jika jawapannya ya, perubahan sudoers menyelesaikan masalah yang tidak wujud.

nmcli connection show
nmcli connection up "Work VPN"

Jika pengurus menolak, baca sebabnya: peraturan polkit yang hilang, sambungan milik pengguna lain atau profil yang disimpan di tempat pengguna tidak dapat membacanya. Setiap satunya mempunyai pembetulan yang disokong dan lebih sempit daripada peraturan sudo. Peningkatan keistimewaan ialah pilihan terakhir, bukan yang pertama.

Syarat 2: peraturan menamakan satu fail boleh laku dan argumennya

Jika sudo benar-benar diperlukan, peraturan harus menamakan arahan tepat dan, jika mungkin, argumen yang boleh digunakannya. Peraturan yang membenarkan pengguna menjalankan skrip pembalut hanya selamat selagi kebenaran skrip itu, kerana pengguna boleh mengedit apa yang akan dilaksanakan oleh root. Peraturan dengan aksara kad liar selepas arahan ialah masalah yang sama dalam bentuk lebih pendek.

sudo -l -U alice
ls -l /usr/local/sbin/vpn-up

Semak setiap laluan dalam rantaian arahan: binari, skrip yang dipanggilnya, fail konfigurasi yang dibacanya dan mana-mana direktori di antaranya. Jika mana-mana satu boleh ditulis oleh pengguna, peraturan terhad itu pada praktiknya ialah root tanpa had. Argumen juga penting, kerana arahan yang menerima laluan konfigurasi boleh dihalakan ke fail yang dikawal pengguna. Tulis peraturan untuk operasi, bukan untuk butang.

Berhenti jika arahan memerlukan fail yang dikawal pengguna untuk berfungsi. Maka reka bentuknya salah, dan tiada sintaks sudoers akan menjadikannya selamat.

Syarat 3: seluruh dasar dihuraikan, bukan hanya baris anda

Sahkan dengan editor yang mengunci fail dan memeriksa sintaks, dan sahkan dasar yang dipasang dan bukan serpihan. Fail yang dihuraikan sendiri masih boleh memecahkan susunan sisipan atau menduplikasi peraturan dengan cara yang mengubah tingkah laku.manual visudo mendokumenkan editor pengunci dan mod semak sahaja yang digunakan di sini.

sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher

Semakan melaporkan fail dan baris apabila gagal, dan laporan itulah bahagian yang berguna. Betulkan perubahan yang dimaksudkan melalui editor dan jangan paksa menyimpan ralat yang diketahui, kerana dasar yang rosak boleh mengunci semua pentadbir sekali gus. Fail dalam direktori sisipan juga memerlukan pemilikan dan mod yang dikehendaki manual, jika tidak ia akan diabaikan atau ditolak. Sintaks hanyalah pintu pertama: selepas ia lulus, baca semula peraturan dan tanya apa yang sebenarnya dibenarkannya.

Berhenti jika satu-satunya cara untuk menjadikan perubahan itu berfungsi ialah mematikan semakan sintaks. Itu bukan dasar, itu gangguan yang menunggu but semula.

Pemulihan: kekalkan sesi yang masih berfungsi

Sebelum menyimpan, pastikan sesi pentadbiran yang sah sudah terbuka dan ada laluan kedua ke mesin itu. Kesilapan sudoers boleh menghilangkan keupayaan anda untuk membaikinya, dan butang desktop tidak berbaloi dengan risiko itu. Jika sudo sudah rosak, gunakan laluan pemulihan sistem yang didokumenkan dan bukan mereka-reka sendiri.

sudo -n true
id

Alternatif seperti pkexec bergantung pada pemasangan dan dasarnya sendiri, jadi ia bukan gesaan root kedua yang terjamin. Pisahkan juga kebenaran setempat daripada penyediaan rahsia VPN: peraturan sudo tidak boleh membuka agen rahsia yang tiada, dan ia tidak memenuhi MFA gerbang. Selepas pembetulan, uji akaun biasa yang hanya melakukan operasi yang dimaksudkan, kemudian gunakan kawalan biasa pengurus.

Keputusan berakhir apabila anda boleh mengatakan syarat mana yang mewajarkan sudo, apa yang dinamakan peraturan, bahawa seluruh dasar dihuraikan, dan bagaimana anda akan memulihkannya jika tidak. Pelancar istimewa yang merugikan anda akses pentadbiran ialah pertukaran buruk, dan biasanya ia boleh dielakkan.

Artikel berkaitan