Cara menggunakan izin khusus setuid, setgid, dan bit lengket

Cara menggunakan izin khusus setuid, setgid, dan bit lengket

Objektif

Mengetahui cara kerja izin khusus, cara mengidentifikasi dan mengaturnya.

Persyaratan

  • Pengetahuan tentang sistem izin unix/linux standar

Kesulitan

MUDAH

Konvensi

  • # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root
    langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
  • $ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Perkenalan

Biasanya, pada sistem operasi seperti Unix, kepemilikan file dan direktori didasarkan pada default uid (pengguna-id) dan gid (grup-id) dari pengguna yang membuatnya. Hal yang sama terjadi ketika suatu proses diluncurkan: Ini berjalan dengan pengguna-ID yang efektif dan grup-ID dari pengguna yang memulainya, dan dengan hak istimewa yang sesuai. Perilaku ini dapat dimodifikasi dengan menggunakan izin khusus.

Bit setuid

Ketika setuid Bit digunakan, perilaku yang dijelaskan di atas dimodifikasi sehingga ketika executable diluncurkan, ia tidak berjalan dengan hak istimewa pengguna yang meluncurkannya, tetapi dengan pemilik file sebagai gantinya. Jadi, misalnya, jika executable memiliki setuid bit diatur di atasnya, dan dimiliki oleh root, ketika diluncurkan oleh pengguna normal, itu akan berjalan dengan hak istimewa root. Seharusnya jelas mengapa ini mewakili risiko keamanan potensial, jika tidak digunakan dengan benar.

Contoh yang dapat dieksekusi dengan set izin setuid adalah passwd, utilitas yang dapat kita gunakan untuk mengubah kata sandi login kita. Kita dapat memverifikasi itu dengan menggunakan ls memerintah:

ls -l /bin /passwd -rwsr -xr -x. 1 root root 27768 Feb 11 2017 /bin /passwd 

Bagaimana mengidentifikasi setuid sedikit? Seperti yang pasti Anda perhatikan melihat output perintah di atas, setuid Bit diwakili oleh S di tempat X dari bit yang dapat dieksekusi. Itu S menyiratkan bahwa bit yang dapat dieksekusi ditetapkan, jika tidak Anda akan melihat modal S. Ini terjadi saat setuid atau setgid Bit diatur, tetapi bit yang dapat dieksekusi tidak, menunjukkan kepada pengguna ketidakkonsistenan: setuid Dan setgit Bit tidak berpengaruh jika bit yang dapat dieksekusi tidak diatur. Bit setuid tidak berpengaruh pada direktori.



Bit setgid

tidak seperti setuid Bit, the setgid Bit memiliki efek pada kedua file dan direktori. Dalam kasus pertama, file yang memiliki setgid bit set, saat dieksekusi, alih -alih berjalan dengan hak istimewa kelompok pengguna yang memulainya, berjalan dengan kelompok yang memiliki file: dengan kata lain, ID grup dari proses akan sama dengan yang dari itu berkas.

Saat digunakan pada direktori, sebagai gantinya, setgid Bit mengubah perilaku standar sehingga kelompok file yang dibuat di dalam direktori tersebut, tidak akan menjadi pengguna yang membuatnya, tetapi dari direktori induk itu sendiri. Ini sering digunakan untuk memudahkan berbagi file (file akan dapat dimodifikasi oleh semua pengguna yang merupakan bagian dari grup tersebut). Sama seperti setuid, bit setgid dapat dengan mudah terlihat (dalam hal ini pada direktori tes):

LS -LD TEST DRWXRWSR -X. 2 EGDOC EGDOC 4096 Tes 1 November 

Kali ini S hadir di tempat bit yang dapat dieksekusi di sektor grup.

Bit lengket

Bit lengket berfungsi dengan cara yang berbeda: Meskipun tidak berpengaruh pada file, saat digunakan pada direktori, semua file dalam direktori tersebut hanya akan dimodifikasi oleh pemiliknya. Kasus khas yang digunakan, melibatkan /tmp direktori. Biasanya direktori ini dapat ditulis oleh semua pengguna pada sistem, jadi untuk membuat tidak mungkin bagi satu pengguna untuk menghapus file yang lain, bit lengket diatur:

$ ls -ld /tmp drwxrwxrwt. 14 root root 300 1 Nov 16:48 /tmp 

Dalam hal ini pemilik, grup, dan semua pengguna lain, memiliki izin lengkap pada direktori (baca, tulis dan jalankan). Bit lengket dapat diidentifikasi dengan a T yang dilaporkan jika biasanya dapat dieksekusi X Bit ditampilkan, di bagian "Lainnya". Sekali lagi, huruf kecil T menyiratkan bahwa bit yang dapat dieksekusi juga ada, jika tidak Anda akan melihat modal T.

Cara mengatur bit khusus

Sama seperti izin normal, bit khusus dapat ditugaskan dengan Chmod perintah, menggunakan numerik atau UGO/RWX format. Dalam kasus sebelumnya setuid, setgid, Dan lengket Bit diwakili masing -masing dengan nilai 4, 2 dan 1. Jadi misalnya jika kita ingin mengatur setgid sedikit di direktori yang akan kami jalankan:

$ chmod 2775 tes

Dengan perintah ini kami mengatur setgid sedikit pada direktori, (diidentifikasi oleh yang pertama dari empat angka), dan memberikan hak istimewa penuh kepada pemiliknya dan kepada pengguna yang merupakan anggota grup yang dimiliki direktori, ditambah membaca dan menjalankan izin untuk semua pengguna lain lainnya (Ingat bit eksekusi pada direktori berarti bahwa pengguna dapat CD ke dalamnya atau gunakan ls Untuk mendaftar kontennya).

Cara lain kita dapat mengatur bit izin khusus adalah dengan menggunakan sintaks UGO/RWX:

$ chmod g+s tes

Untuk menerapkan setuid Bit ke sebuah file, kami akan menjalankan:

$ chmod u+s file

Sedangkan untuk menerapkan bit lengket:

$ chmod o+t uji

Penggunaan izin khusus bisa sangat berguna dalam beberapa situasi, tetapi jika tidak digunakan dengan benar, dapat memperkenalkan kerentanan yang serius, jadi pikirkan dua kali sebelum menggunakannya.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Buat dan konfigurasikan direktori setGid untuk kolaborasi -…
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Cara membuat Modifikasi dan Hapus Akun Pengguna di Linux
  • File Konfigurasi Linux: 30 Teratas Paling Penting
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Can Linux mendapatkan virus? Menjelajahi kerentanan Linux…
  • Unduh Linux
  • Cara Dual Boot Kali Linux dan Windows 10