Bagaimana Kebenaran Fail Linux berfungsi?
Jika anda telah menggunakan Linux untuk beberapa waktu (dan juga OS X), anda mungkin akan menemui ralat "kebenaran". Tetapi apakah sebenarnya mereka, dan mengapa mereka perlu atau berguna? Mari kita lihat dalam.
Kebenaran Pengguna
Kembali pada hari itu, komputer adalah mesin besar yang sangat mahal. Untuk memanfaatkan mereka, beberapa terminal komputer telah disambungkan yang membolehkan banyak pengguna untuk menjalankan perniagaan mereka secara serentak. Pemprosesan dan penyimpanan data dilakukan pada mesin, sementara terminal sendiri tidak banyak cara melihat dan memasukkan data. Jika anda berfikir tentang hal itu, ia cukup banyak bagaimana kita mengakses data pada "awan"; lihat sistem MP3 Awan Amazon, Gmail, dan Dropbox, dan anda akan melihat bahawa walaupun perubahan boleh dibuat secara tempatan, semuanya disimpan dari jauh.
(Imej: Zenith Z-19 "bisu" terminal; kredit: ajmexico)
Agar ini berfungsi, pengguna individu perlu mempunyai akaun. Mereka perlu mempunyai seksyen kawasan penyimpanan yang diberikan kepada mereka, dan mereka perlu dibenarkan menjalankan perintah dan program. Semua orang mendapat "kebenaran pengguna tertentu" yang menentukan apa yang mereka boleh dan tidak boleh lakukan, di mana sistem mereka lakukan dan tidak mempunyai akses, dan fail mereka boleh dan tidak dapat diubah suai. Setiap pengguna juga diletakkan dalam pelbagai kumpulan, yang memberikan atau mengehadkan akses lanjut.
Akses Fail
Dalam dunia berbilang pengguna yang aneh ini, kami telah menetapkan sempadan mengenai apa yang pengguna boleh lakukan. Tetapi bagaimana dengan apa yang mereka akses? Nah, setiap fail mempunyai satu set kebenaran dan pemilik. Penamaan pemilik, biasanya terikat ketika file dibuat, menyatakan pengguna mana yang dimilikinya, dan hanya pengguna yang dapat mengubah izin aksesnya.
Di dunia Linux, keizinan dipecahkan kepada tiga kategori: baca, tulis dan laksanakan. Akses "baca" membolehkan seseorang melihat kandungan fail, "menulis" akses membolehkan seseorang mengubah suai kandungan fail, dan "melaksanakan" membolehkan seseorang menjalankan satu set arahan, seperti skrip atau program. Setiap kategori ini digunakan untuk kelas yang berlainan: pengguna, kumpulan, dan dunia. "Pengguna" bermaksud pemilik, "kumpulan" bermaksud mana-mana pengguna yang berada dalam kumpulan yang sama dengan pemilik, dan "dunia" bermaksud sesiapa dan semua orang.
Folder juga boleh dihadkan dengan kebenaran ini. Anda boleh, sebagai contoh, membenarkan orang lain dalam kumpulan anda untuk melihat direktori dan fail dalam folder rumah anda, tetapi tidak sesiapa di luar kumpulan anda. Anda mungkin mahu mengehadkan akses "menulis" kepada diri anda sendiri, melainkan jika anda sedang menjalankan projek yang dikongsi dalam beberapa jenis. Anda juga boleh membuat direktori kongsi yang membolehkan sesiapa sahaja untuk melihat dan mengubah suai fail dalam folder itu.
Mengubah Kebenaran di Ubuntu
GUI
Untuk menukar keizinan fail yang anda miliki di Ubuntu, cuma klik kanan pada fail dan pergi ke "Properties."
Anda boleh menukar sama ada Pemilik, Kumpulan, atau Lain-lain boleh membaca dan menulis, membaca sahaja, atau tidak melakukan apa-apa. Anda juga boleh menyemak kotak untuk membolehkan pelaksanaan fail, dan ini akan membolehkannya untuk Pemilik, Kumpulan, dan Lain-lain secara serentak.
Command-Line
Anda juga boleh melakukan ini melalui baris arahan. Pergi ke direktori yang mempunyai fail di dalamnya dan ketik perintah berikut untuk melihat semua fail dalam senarai:
ls -al
Di sebelah setiap fail dan direktori, anda akan melihat bahagian khas yang menggariskan keizinannya. Ia kelihatan seperti ini:
-rwxrw-r-
The r bermaksud "membaca," yang w bermaksud "menulis," dan x bermaksud "jalankan." Direktori akan bermula dengan "d" dan bukan "-". Anda juga akan melihat bahawa terdapat 10 ruang yang memegang nilai. Anda boleh mengabaikan yang pertama, dan kemudian terdapat 3 set 3. Set pertama adalah untuk pemilik, set kedua adalah untuk kumpulan, dan set terakhir adalah untuk dunia.
Untuk menukar keizinan fail atau direktori, mari kita lihat bentuk dasar perintah chmod.
chmod [class] [operator] [kebenaran] fail
chmod [ugoa] [+ atau -] [rwx] fail
Ini mungkin kelihatan rumit pada mulanya, tapi percayalah, itu cukup mudah. Pertama, mari lihat kelas:
- u: Ini untuk pemiliknya.
- g: Ini untuk kumpulan.
- o: Ini untuk semua orang lain.
- a: Ini akan mengubah keizinan untuk semua di atas.
Seterusnya, pengendali:
- +: Tanda tambah akan menambah kebenaran yang mengikuti.
- -: Tanda minus akan menghapuskan kebenaran yang mengikuti.
Masih dengan saya? Dan bahagian terakhir adalah sama seperti ketika kami menyemak keizinan fail:
- r: Membenarkan akses baca.
- w: Membenarkan akses tulis.
- x: Membenarkan pelaksanaan.
Sekarang, mari letaknya bersama. Katakan kita mempunyai fail bernama "todo.txt" yang mempunyai keizinan berikut:
-rw-rw-r-
Iaitu, pemilik dan kumpulan boleh membaca dan menulis, dan dunia hanya boleh membaca. Kami mahu mengubah keizinan ini:
-rwxr-
Maksudnya, pemilik mempunyai keizinan penuh, dan kumpulan itu boleh membaca. Kita boleh melakukan ini dalam 3 langkah. Pertama, kami akan menambah kebenaran pelaksanaan untuk pengguna.
chmod u + x todo.txt
Kemudian, kami akan mengalih keluar kebenaran tulis untuk kumpulan itu.
chmod g-w todo.txt
Terakhir, kami akan mengalih keluar kebenaran baca untuk semua pengguna lain.
chmod o-r todo.txt
Kita juga boleh menggabungkannya ke dalam satu perintah, seperti:
chmod u + x, g-w, o-r todo.txt
Anda dapat melihat bahawa setiap bahagian dipisahkan oleh koma dan tiada ruang.
Berikut adalah beberapa kebenaran berguna:
- -rwxr-xr-x: Pemilik mempunyai keizinan penuh, kumpulan dan pengguna lain boleh membaca kandungan fail dan laksanakan.
- -rwxr-r-: Pemilik mempunyai keizinan penuh, kumpulan dan pengguna lain hanya boleh membaca fail (berguna jika anda tidak keberatan orang melihat fail anda.
- -rwx-: Pemilik mempunyai keizinan penuh, semua yang lain tidak mempunyai (berguna untuk skrip peribadi).
- -rw-rw--: Pemilik dan kumpulan boleh membaca dan menulis (berguna untuk kerjasama dengan ahli kumpulan).
- -rw-r-r-: Pemilik boleh membaca dan menulis, kumpulan dan pengguna lain hanya boleh membaca fail (berguna untuk menyimpan fail peribadi pada rangkaian yang dikongsi).
- -rw--: Pemilik boleh membaca dan menulis, semua yang lain tidak mempunyai (berguna untuk menyimpan fail peribadi).
Terdapat beberapa perkara lain yang boleh anda lakukan dengan chmod - seperti setuid dan setgid - tetapi mereka sedikit mendalam dan kebanyakan pengguna tidak akan benar-benar perlu menggunakannya lagi.
Fail Root atau Super User dan Sistem
Pada masa kini, kami tidak selalu menjalankan sistem yang mempunyai banyak pengguna. Kenapa kita masih perlu bimbang tentang kebenaran?
Nah, Unix dan derivatifnya - Linux, OS X, antara lain - juga membezakan antara perkara yang dijalankan oleh pengguna, perkara yang dijalankan oleh pentadbir atau dengan keistimewaan admin, dan perkara yang dijalankan oleh sistem itu sendiri. Oleh itu, perkara yang penting untuk sistem memerlukan keistimewaan admin untuk diubah atau diakses. Dengan cara ini, anda tidak merosakkan apa-apa secara tidak sengaja.
Di Ubuntu, untuk membuat perubahan kepada fail sistem anda menggunakan "sudo" atau "gksudo" untuk mendapatkan keistimewaan Pentadbir yang sama. Dalam distro lain, anda beralih kepada "root" atau "pengguna super" yang berkesan melakukan hal yang sama sehingga anda log keluar.
Perlu diingat bahawa dalam kedua-dua keadaan ini, menukar kebenaran fail boleh menyebabkan program tidak berfungsi, tidak sengaja mengubah pemilikan fail kepada pengguna root (bukan pemilik), dan membuat sistem kurang selamat (dengan memberikan lebih banyak kebenaran). Oleh itu, disyorkan bahawa anda tidak mengubah kebenaran untuk fail - terutamanya fail sistem - melainkan jika perlu atau anda tahu apa yang anda lakukan.
Kebenaran fail disediakan untuk menyediakan sistem keselamatan asas di kalangan pengguna. Belajar bagaimana mereka berfungsi dapat membantu anda menyediakan perkongsian asas dalam persekitaran multi-pengguna, melindungi fail "awam", dan memberi anda petunjuk tentang bila ada masalah dengan pemilikan fail sistem.
Fikirkan anda boleh menerangkan perkara lebih mudah? Mempunyai pembetulan? Ingin mengenang masa lalu? Ambil rehat dan letakkan pendapat anda di dalam komen.