8 Cara untuk Tweak dan Konfigurasi Sudo di Ubuntu
Seperti kebanyakan perkara di Linux, perintah sudo sangat boleh dikonfigurasikan. Anda boleh menggunakan sudo menjalankan perintah tertentu tanpa meminta kata laluan, menyekat pengguna tertentu untuk hanya perintah yang diluluskan, arahan log dijalankan dengan sudo, dan banyak lagi.
Tingkah laku perintah sudo dikendalikan oleh fail / etc / sudoers pada sistem anda. Perintah ini mesti disunting dengan arahan visudo, yang melakukan pemeriksaan sintaks untuk memastikan anda tidak sengaja memecahkan fail.
Tentukan Pengguna Dengan Kebenaran Sudo
Akaun pengguna yang anda buat semasa memasang Ubuntu ditandakan sebagai akaun Administrator, yang bermaksud ia boleh menggunakan sudo. Apa-apa akaun pengguna tambahan yang anda buat selepas pemasangan boleh sama ada Pentadbir atau akaun pengguna Standard - Akaun pengguna standard tidak mempunyai kebenaran sudo.
Anda boleh mengawal jenis akaun pengguna secara grafik dari alat Akaun Pengguna Ubuntu. Untuk membukanya, klik nama pengguna anda di panel dan pilih Akaun Pengguna atau cari Akaun Pengguna di dash.
Buat Sudo Lupakan Kata Laluan Anda
Secara lalai, sudo mengingati kata laluan anda selama 15 minit selepas anda menaipnya. Inilah sebabnya mengapa anda hanya perlu mengetik kata laluan anda sekali apabila melaksanakan beberapa perintah dengan sudo secara berturut-turut. Jika anda hendak membiarkan orang lain menggunakan komputer anda dan anda mahu sudo untuk meminta kata laluan apabila ia berjalan seterusnya, jalankan perintah berikut dan sudo akan melupakan kata laluan anda:
sudo -k
Sentiasa Tanya Kata Laluan
Jika anda lebih suka diminta setiap kali anda menggunakan sudo - contohnya, jika orang lain kerap mempunyai akses ke komputer anda - anda boleh melumpuhkan tingkah laku mengingat kata laluan sepenuhnya.
Tetapan ini, seperti tetapan sudo lain, terkandung dalam fail / etc / sudoers. Jalankan arahan visudo di terminal untuk membuka fail untuk mengedit:
sudo visudo
Walaupun namanya, arahan ini menjadi lalai kepada editor nano yang mesra pengguna dan bukannya editor vi tradisional di Ubuntu.
Tambahkan baris berikut di bawah baris Lalai lain dalam fail:
Lalai timestamp_timeout = 0
Tekan Ctrl + O untuk menyimpan fail, kemudian tekan Ctrl + X untuk menutup Nano. Sudo sekarang akan selalu meminta anda untuk kata laluan.
Tukar Timeout Kata Laluan
Untuk menetapkan tamat kata laluan yang berbeza - sama ada yang lebih lama seperti 30 minit atau yang lebih singkat seperti 5 minit - ikut langkah di atas tetapi gunakan nilai yang berbeza untuk timestamp_timeout. Nombor sepadan dengan bilangan minit sudo akan mengingati kata laluan anda. Untuk mempunyai sudo ingat kata laluan anda selama 5 minit, tambahkan baris berikut:
Lalai timestamp_timeout = 5
Jangan Tanya Kata Laluan
Anda juga boleh memiliki sudo tidak pernah meminta kata laluan - selama anda login, setiap perintah awalan Anda dengan sudo akan berjalan dengan izin root. Untuk melakukan ini, tambahkan baris berikut ke fail sudoer anda, di mana nama pengguna adalah nama pengguna anda:
nama pengguna SEMUA = (SEMUA) NOPASSWD: SEMUA
Anda juga boleh menukar baris% sudo - iaitu garis yang membolehkan semua pengguna dalam kumpulan sudo (juga dikenali sebagai pengguna Administrator) untuk menggunakan sudo - untuk semua pengguna Administrator tidak memerlukan kata laluan:
% sudo ALL = (SEMUA: SEMUA) NOPASSWD: SEMUA
Jalankan Perintah Tertentu Tanpa Kata Laluan
Anda juga boleh menentukan arahan tertentu yang tidak akan memerlukan kata laluan apabila dijalankan dengan sudo. Daripada menggunakan "SEMUA" selepas NOPASSWD di atas, nyatakan lokasi arahan. Contohnya, baris berikut akan membolehkan akaun pengguna anda menjalankan perintah apt-get dan shutdown tanpa kata laluan.
nama pengguna SEMUA = (SEMUA) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
Ini berguna terutamanya apabila menjalankan arahan tertentu dengan sudo dalam skrip.
Benarkan Pengguna Menjalankan Hanya Perintah Khusus
Walaupun anda boleh menyenaraihitamkan arahan tertentu dan menghalang pengguna daripada menjalankannya dengan sudo, ini tidak berkesan. Sebagai contoh, anda boleh menentukan bahawa akaun pengguna tidak dapat menjalankan perintah penutupan dengan sudo. Tetapi akaun pengguna itu boleh menjalankan perintah cp dengan sudo, membuat salinan arahan shutdown, dan menutup sistem menggunakan salinan.
Cara yang lebih berkesan ialah arahan khusus putih senarai putih. Sebagai contoh, anda boleh memberi kebenaran pengguna pengguna Standard untuk menggunakan perintah apt-get dan shutdown, tetapi tidak lebih. Untuk melakukannya, tambah baris berikut, di mana standarduser adalah nama pengguna pengguna:
standarduser ALL = / usr / bin / apt-get, / sbin / shutdown
Perintah berikut akan memberitahu kami arahan yang boleh dijalankan oleh pengguna dengan sudo:
sudo -U standarduser -l
Akses Masuk Sudo
Anda boleh log semua akses sudo dengan menambah baris berikut. / var / log / sudo hanyalah contoh; anda boleh menggunakan mana-mana lokasi fail log yang anda suka.
Defaults logfile = / var / log / sudo
Lihat kandungan fail log dengan arahan seperti ini:
sudo kucing / var / log / sudo
Perlu diingat bahawa, jika pengguna mempunyai akses sudo tanpa had, pengguna tersebut mempunyai keupayaan untuk memadam atau mengubah suai kandungan fail ini. Seorang pengguna juga boleh mengakses root prompt dengan sudo dan menjalankan perintah yang tidak akan dilogkan. Ciri pembalakan adalah paling berguna apabila digabungkan dengan akaun pengguna yang mempunyai akses terhad kepada subset arahan sistem.