Stasiun Kerja Online OnWorks Linux dan Windows

logo

Hosting Online Gratis untuk WorkStation

<Sebelumnya | Konten | Selanjutnya>

3.4.4. Hak Pengelolaan‌


Linux adalah sistem multi-pengguna sehingga perlu untuk menyediakan sistem izin untuk mengontrol set operasi resmi pada file dan direktori, yang mencakup semua sumber daya dan perangkat sistem (pada sistem Unix, perangkat apa pun diwakili oleh file atau direktori). Prinsip ini umum untuk semua sistem mirip Unix.

Setiap file atau direktori memiliki izin khusus untuk tiga kategori pengguna:


• Pemiliknya (dilambangkan dengan u, seperti pada pengguna)


• Kelompok pemiliknya (dilambangkan dengan g, seperti dalam grup), mewakili semua anggota grup


• Lainnya (dilambangkan dengan o, seperti yang lain) Tiga jenis hak dapat digabungkan:

• membaca (dilambangkan dengan r, seperti dalam membaca);


• menulis (atau memodifikasi, dilambangkan dengan w, seperti dalam menulis);


• mengeksekusi (dilambangkan dengan x, seperti dalam eksekusi).


Dalam hal file, hak-hak ini mudah dipahami: akses baca memungkinkan membaca konten (termasuk menyalin), akses tulis memungkinkan mengubahnya, dan akses eksekusi memungkinkan menjalankannya (yang hanya akan berfungsi jika itu adalah sebuah program).


setuid dan setgid Dua hak tertentu relevan dengan file yang dapat dieksekusi: setuid dan setgid (dilambangkan executable dengan huruf “s”). Perhatikan bahwa kita sering berbicara tentang bit, karena masing-masing nilai boolean ini dapat diwakili oleh 0 atau a 1. Kedua hak ini memungkinkan setiap pengguna untuk mengeksekusi

program dengan hak pemilik atau kelompok, masing-masing. Mekanisme ini memberikan akses ke fitur yang memerlukan izin tingkat lebih tinggi daripada yang biasanya Anda miliki.

Sejak setuid program root dijalankan secara sistematis di bawah identitas pengguna super, sangat penting untuk memastikannya aman dan dapat diandalkan. Setiap pengguna yang berhasil menumbangkan program root setuid untuk memanggil perintah pilihan mereka kemudian dapat menyamar sebagai pengguna root dan memiliki semua hak atas sistem. Penguji penetrasi secara teratur mencari jenis file ini ketika mereka mendapatkan akses ke sistem sebagai cara untuk meningkatkan hak istimewa mereka.

setuid dan setgid Dua hak tertentu relevan dengan file yang dapat dieksekusi: setuid dan setgid (dilambangkan executable dengan huruf “s”). Perhatikan bahwa kita sering berbicara tentang bit, karena masing-masing nilai boolean ini dapat diwakili oleh 0 atau a 1. Kedua hak ini memungkinkan setiap pengguna untuk mengeksekusi

program dengan hak pemilik atau kelompok, masing-masing. Mekanisme ini memberikan akses ke fitur yang memerlukan izin tingkat lebih tinggi daripada yang biasanya Anda miliki.

Sejak setuid program root dijalankan secara sistematis di bawah identitas pengguna super, sangat penting untuk memastikannya aman dan dapat diandalkan. Setiap pengguna yang berhasil menumbangkan program root setuid untuk memanggil perintah pilihan mereka kemudian dapat menyamar sebagai pengguna root dan memiliki semua hak atas sistem. Penguji penetrasi secara teratur mencari jenis file ini ketika mereka mendapatkan akses ke sistem sebagai cara untuk meningkatkan hak istimewa mereka.


gambar

Direktori ditangani secara berbeda dari file. Akses baca memberikan hak untuk melihat daftar isinya (file dan direktori); akses tulis memungkinkan membuat atau menghapus file; dan akses eksekusi memungkinkan melintasi direktori untuk mengakses isinya (misalnya, dengan cd memerintah). Mampu melintasi direktori tanpa dapat membacanya memberikan izin kepada pengguna untuk mengakses entri di dalamnya yang diketahui namanya, tetapi tidak menemukannya tanpa mengetahui nama persisnya.



KEAMANAN Grafik setgid bit juga berlaku untuk direktori. Setiap item yang baru dibuat di direktori tersebut

KEAMANAN Grafik setgid bit juga berlaku untuk direktori. Setiap item yang baru dibuat di direktori tersebut


setgid direktori dan lengket

sedikit

secara otomatis diberikan grup pemilik direktori induk, alih-alih mewarisi-

ing grup utama pencipta seperti biasa. Karena itu, Anda tidak perlu mengubah grup utama Anda (dengan baru command) saat bekerja di pohon file yang dibagikan di antara beberapa pengguna dari grup khusus yang sama.

Grafik sedikit lengket (dilambangkan dengan huruf "t") adalah izin yang hanya berguna di direktori. Ini terutama digunakan untuk direktori sementara di mana setiap orang memiliki akses tulis (seperti / tmp /): ini membatasi penghapusan file sehingga hanya pemiliknya atau pemilik direktori induk yang dapat menghapusnya. Karena kekurangan ini, semua orang dapat menghapus file pengguna lain di / tmp /.

setgid direktori dan lengket

sedikit


Tiga perintah mengontrol izin yang terkait dengan file:

gambar

chown file pengguna mengubah pemilik file


TIP Sering kali Anda ingin mengubah grup file pada saat yang sama dengan Anda

TIP Sering kali Anda ingin mengubah grup file pada saat yang sama dengan Anda


Mengubah pengguna dan

kelompok

ganti pemiliknya. NS chown perintah memiliki sintaks khusus untuk itu: chown

pemakai:berkas grup

Mengubah pengguna dan

kelompok

chgrp berkas grup mengubah grup pemilik

chmod berkas hak mengubah izin untuk file

Ada dua cara untuk merepresentasikan hak. Di antara mereka, representasi simbolis mungkin yang paling mudah dipahami dan diingat. Ini melibatkan simbol huruf yang disebutkan di atas. Anda dapat menentukan hak untuk setiap kategori pengguna (u/g/o), dengan mengaturnya secara eksplisit (dengan =), dengan menambahkan

(+), atau pengurangan (-). Demikianlah u=rwx,g+rw,atau formula memberi pemilik hak baca, tulis, dan eksekusi, tambahkan hak baca dan tulis untuk grup pemilik, dan hapus hak baca untuk pengguna lain. Hak yang tidak diubah dengan penambahan atau pengurangan dalam perintah tersebut tetap tidak dimodifikasi. Surat a, untuk semua, mencakup ketiga kategori pengguna, sehingga a = rx memberikan ketiga kategori hak yang sama (membaca dan mengeksekusi, tetapi tidak menulis).

Representasi numerik (oktal) mengasosiasikan setiap hak dengan nilai: 4 untuk membaca, 2 untuk menulis, dan 1 untuk mengeksekusi. Kami mengasosiasikan setiap kombinasi hak dengan jumlah tiga angka, dan nilai diberikan ke setiap kategori pengguna, dalam urutan biasa (pemilik, grup, lainnya).

Misalnya, chmod 754 fillet perintah akan mengatur hak-hak berikut: membaca, menulis, dan mengeksekusi untuk pemilik (sejak 7 = 4 + 2 + 1); membaca dan mengeksekusi untuk grup (karena 5 = 4 + 1); hanya-baca untuk orang lain. NS 0 berarti tidak ada hak; dengan demikian chmod 600 fillet memungkinkan untuk membaca dan menulis izin untuk pemiliknya, dan tidak ada hak untuk orang lain. Kombinasi kanan yang paling sering adalah 755 untuk file dan direktori yang dapat dieksekusi, dan 644 untuk file data.

Untuk mewakili hak khusus, Anda dapat memberi awalan digit keempat ke nomor ini sesuai dengan prinsip yang sama, di mana: setuid, setgid, dan lengket bit adalah 4, 2, dan 1, masing-masing. Perintah chmod 4754 akan mengasosiasikan setuid bit dengan hak yang dijelaskan sebelumnya.

Perhatikan bahwa penggunaan notasi oktal hanya memungkinkan Anda untuk mengatur semua hak sekaligus pada file; Anda tidak dapat menggunakannya untuk menambahkan hak baru, seperti akses baca untuk pemilik grup, karena Anda harus memperhitungkan hak yang ada dan menghitung nilai numerik baru yang sesuai.

Representasi oktal juga digunakan dengan umask perintah, yang digunakan untuk membatasi izin pada file yang baru dibuat. Saat aplikasi membuat file, itu memberikan izin indikatif, mengetahui bahwa sistem secara otomatis menghapus hak yang ditentukan dengan umask. Memasukkan umask dalam cangkang; Anda akan melihat topeng seperti 0022. Ini hanyalah representasi oktal dari hak untuk dihapus secara sistematis (dalam hal ini, hak tulis untuk grup dan pengguna lain).

gambar

Jika Anda memberikan nilai oktal baru, umask perintah memodifikasi topeng. Digunakan dalam file inisialisasi shell (misalnya, ~ / .bash_profile), itu akan secara efektif mengubah topeng default untuk sesi kerja Anda.


TIP Terkadang kita harus mengubah hak untuk seluruh pohon file. Semua perintah di atas

TIP Terkadang kita harus mengubah hak untuk seluruh pohon file. Semua perintah di atas


Operasi rekursif

memiliki -R opsi untuk beroperasi secara rekursif di sub-direktori.

Perbedaan antara direktori dan file terkadang menyebabkan masalah dengan operasi rekursif. Itulah sebabnya huruf “X” diperkenalkan dalam representasi simbolis hak. Ini mewakili hak untuk mengeksekusi yang hanya berlaku untuk direktori (dan bukan untuk file yang tidak memiliki hak ini). Dengan demikian, chmod -R a+X direktori hanya akan menambahkan hak eksekusi untuk semua kategori pengguna (a) untuk semua sub-direktori dan file yang setidaknya satu kategori pengguna (bahkan jika pemilik tunggalnya) sudah memiliki hak eksekusi.

Operasi rekursif

Komputasi Awan OS Teratas di OnWorks: