SUID
The bit lengket diterapkan untuk program-program executable lesu sistem untuk menjaga citra program di memori setelah program selesai dijalankan.
Tapi saya tidak tahu apa yang tersimpan di memori. Dan bagaimana saya bisa melihatnya, dalam hal ini?
filesystems
permissions
kebetulan-ng
sumber
sumber
Jawaban:
Ini mungkin salah satu hal saya yang paling menjengkelkan yang selalu dikacaukan orang. Bit SUID / GUID dan sticky-bit adalah 2 hal yang sangat berbeda.
Jika Anda melakukannya,
man chmod
Anda dapat membaca tentang SUID dan bit-lengket. The man page tersedia di sini juga.Latar Belakang
kutipan
SUID / GUID
Apa halaman manual di atas coba katakan adalah bahwa posisi bit x mengambil rwxrwxrwx untuk oktal pengguna (grup 1 rwx) dan grup oktal (grup 2 rwx) dapat mengambil status tambahan di mana x menjadi sebuah s. Ketika ini terjadi file ini ketika dieksekusi (jika itu sebuah program dan bukan hanya skrip shell) akan berjalan dengan izin dari pemilik atau grup file.
Jadi jika file tersebut dimiliki oleh root dan bit SUID dihidupkan, program akan berjalan sebagai root. Bahkan jika Anda menjalankannya sebagai pengguna biasa. Hal yang sama berlaku untuk bit GUID.
kutipan
Contoh SUID / GUID
no suid / guid - hanya bit rwxr-xr-x yang ditetapkan.
suid & bit yang dapat dieksekusi pengguna diaktifkan (huruf kecil) - bit rwsr-xrx diatur.
suid diaktifkan & bit yang dapat dieksekusi dinonaktifkan (huruf besar S) - bit rwSr-xr-x diatur.
bit executable guid & group diaktifkan (huruf kecil) - bit rwxr-sr-x diatur.
panduan diaktifkan & bit yang dapat dieksekusi dinonaktifkan (huruf besar S) - bit rwxr-Sr-x diatur.
sedikit lengket
Bit sticky di sisi lain dilambangkan sebagai
t
, seperti dengan/tmp
direktori:Bit ini seharusnya selalu disebut "bit penghapusan terbatas" mengingat itulah yang benar-benar berkonotasi. Ketika bit mode ini diaktifkan, ia membuat direktori sehingga pengguna hanya dapat menghapus file & direktori di dalamnya yang menjadi pemiliknya.
kutipan
sumber
ls
. Jelas, hanya pengguna super yang dapat mengatur bit lengket pada file. Itu menjadi kurang penting setelah memori virtual dan perpustakaan bersama diperkenalkan, dan terutama ketika pager menjadi lebih pintar dan secara dinamis dapat memutuskan halaman mana yang akan tetap ada.ed
lengket.Saya pikir itu info yang cukup usang, hari ini sebagian besar Unix modern mengabaikannya. Di Linux, bit lengket hanya relevan untuk direktori. Lihat di sini dan artikel Wikipedia yang cukup informatif .
Lagi pula, dalam perilaku lama itu gambar (hanya "kode", bukan data) hanya disimpan dalam memori virtual - secara normal ditukar, bukan dalam memori nyata, sehingga dapat dijalankan lebih cepat di waktu berikutnya.
sumber
Bit sticky adalah bit izin yang ditetapkan pada direktori yang memungkinkan hanya pemilik file di dalam direktori itu atau pengguna root untuk menghapus atau mengganti nama file. Tidak ada pengguna lain yang memiliki hak yang diperlukan untuk menghapus file yang dibuat oleh beberapa pengguna lain.
Ini adalah langkah keamanan untuk menghindari penghapusan folder penting dan kontennya (sub-direktori dan file), meskipun pengguna lain memiliki izin penuh.
sumber