Jika Anda telah menggunakan Linux untuk beberapa waktu (dan bahkan OS X), Anda mungkin akan menemukan kesalahan "izin". Tapi apa sebenarnya mereka, dan mengapa mereka perlu atau berguna? Mari kita lihat ke dalam.
Kembali pada hari itu, komputer adalah mesin besar yang sangat mahal. Untuk memaksimalkannya, beberapa terminal komputer terhubung sehingga memungkinkan banyak pengguna untuk pergi tentang bisnis mereka secara bersamaan. Pengolahan dan penyimpanan data dilakukan pada mesin, sementara terminal sendiri sedikit lebih dari sekadar sarana melihat dan memasukkan data. Jika Anda memikirkannya, cukup banyak cara kami mengakses data pada "cloud"; lihatlah sistem Cloud MP3 Amazon, Gmail, dan Dropbox, dan Anda akan melihat bahwa sementara perubahan dapat dilakukan secara lokal, semuanya disimpan dari jarak jauh.
(Gambar: Zenith Z-19 "dumb" terminal; kredit: ajmexico)
Agar ini berfungsi, pengguna individu harus memiliki akun. Mereka harus memiliki bagian dari area penyimpanan yang diberikan kepada mereka, dan mereka harus diizinkan untuk menjalankan perintah dan program. Setiap orang mendapat "izin pengguna" tertentu, yang menentukan apa yang dapat dan tidak dapat mereka lakukan, di mana pada sistem yang mereka lakukan dan tidak memiliki akses, dan file siapa yang dapat dan tidak dapat mereka modifikasi. Setiap pengguna juga ditempatkan ke dalam berbagai kelompok, yang memberikan atau membatasi akses lebih lanjut.
Di dunia multi-pengguna yang aneh ini, kami telah menetapkan batas-batas seperti apa yang dapat dilakukan pengguna. Tetapi bagaimana dengan apa yang mereka akses? Nah, setiap file memiliki seperangkat izin dan pemilik. Penetapan pemilik, biasanya terikat ketika file dibuat, menyatakan milik pengguna itu, dan hanya pengguna itu yang dapat mengubah izin aksesnya.
Di dunia Linux, izin dibagi menjadi tiga kategori: baca, tulis, dan eksekusi. Akses "Baca" memungkinkan seseorang untuk melihat isi file, "tulis" akses memungkinkan seseorang untuk memodifikasi isi file, dan "mengeksekusi" memungkinkan seseorang untuk menjalankan serangkaian instruksi, seperti skrip atau program. Masing-masing kategori ini diterapkan ke berbagai kelas: pengguna, grup, dan dunia. “Pengguna” berarti pemilik, “grup” berarti setiap pengguna yang berada dalam grup yang sama dengan pemilik, dan “dunia” berarti siapa pun dan semua orang.
Folder juga dapat dibatasi dengan izin ini. Anda dapat, misalnya, mengizinkan orang lain di grup Anda untuk melihat direktori dan file di folder rumah Anda, tetapi tidak siapa pun di luar grup Anda. Anda mungkin ingin membatasi "menulis" akses hanya untuk diri Anda sendiri, kecuali Anda sedang mengerjakan proyek bersama. Anda juga dapat membuat direktori bersama yang memungkinkan siapa pun untuk melihat dan memodifikasi file di folder itu.
GUI
Untuk mengubah izin dari file yang Anda miliki di Ubuntu, cukup klik kanan file dan pergi ke “Properties.”
Anda dapat mengubah apakah Pemilik, Grup, atau Orang Lain dapat membaca dan menulis, hanya membaca, atau tidak melakukan apa pun. Anda juga dapat mencentang kotak untuk memungkinkan eksekusi file, dan ini akan memungkinkannya untuk Pemilik, Grup, dan Orang Lain secara bersamaan.
Garis komando
Anda juga dapat melakukannya melalui baris perintah. Buka direktori yang memiliki file di dalamnya dan ketik perintah berikut untuk melihat semua file dalam daftar:
ls -al
Di samping setiap file dan direktori, Anda akan melihat bagian khusus yang menguraikan izin yang dimilikinya. Terlihat seperti ini:
-rwxrw-r-
Itu r singkatan dari "baca," w singkatan "menulis," dan x adalah singkatan dari "execute." Direktori akan dimulai dengan "d" dan bukan "-". Anda juga akan melihat bahwa ada 10 spasi yang menyimpan nilai. Anda dapat mengabaikan yang pertama, dan kemudian ada 3 set 3. Set pertama adalah untuk pemilik, set kedua untuk grup, dan set terakhir untuk dunia.
Untuk mengubah izin file atau direktori, mari kita lihat bentuk dasar dari perintah chmod.
chmod [class] [operator] [izin] file
chmod [ugoa] [+ atau -] [rwx] file
Ini mungkin tampak rumit pada awalnya, tetapi percayalah, itu cukup mudah. Pertama, mari kita lihat kelas-kelas:
Selanjutnya, operator:
Masih dengan saya? Dan bagian terakhir sama dengan saat kami memeriksa izin file:
Sekarang, mari kita satukan bersama. Katakanlah kita memiliki file bernama "todo.txt" yang memiliki izin berikut:
-rw-rw-r-
Artinya, pemilik dan kelompok dapat membaca dan menulis, dan dunia hanya bisa membaca. Kami ingin mengubah izin untuk ini:
-rwxr-
Artinya, pemilik memiliki izin penuh, dan grup dapat membaca. Kami dapat melakukan ini dalam 3 langkah. Pertama, kami akan menambahkan izin eksekusi untuk pengguna.
chmod u + x todo.txt
Kemudian, kami akan menghapus izin tulis untuk grup.
chmod g-w todo.txt
Terakhir, kami akan menghapus izin baca untuk semua pengguna lain.
chmod o-r todo.txt
Kita juga bisa menggabungkan ini menjadi satu perintah, seperti:
chmod u + x, g-w, o-r todo.txt
Anda dapat melihat bahwa setiap bagian dipisahkan oleh koma dan tidak ada spasi.
Berikut beberapa izin yang berguna:
Ada beberapa hal lain yang dapat Anda lakukan dengan chmod - seperti setuid dan setgid - tetapi mereka sedikit mendalam dan sebagian besar pengguna tidak akan benar-benar perlu menggunakannya.
Saat ini, kami tidak selalu menjalankan sistem yang memiliki banyak pengguna. Mengapa kita masih khawatir tentang perizinan?
Nah, Unix dan turunannya - Linux, OS X, antara lain - juga membedakan antara hal-hal yang dijalankan oleh pengguna, hal-hal yang dijalankan oleh administrator atau dengan hak istimewa admin, dan hal-hal yang dijalankan oleh sistem itu sendiri. Dengan demikian, hal-hal yang integral untuk sistem membutuhkan hak admin untuk diubah atau diakses. Dengan cara ini, Anda tidak mengacaukan apa pun secara tidak sengaja.
Di Ubuntu, untuk membuat perubahan pada file sistem yang Anda gunakan ‚Äúsudo‚Äù atau‚ Äúgksudo‚Äù untuk mendapatkan hak istimewa Administrator yang setara. Di distro lain, Anda beralih ke ‚Äúroot‚Äù atau‚ Äúsuper-user‚Äù yang secara efektif melakukan hal yang sama sampai Anda logout.
Ketahuilah bahwa dalam kedua situasi ini, mengubah izin file dapat menyebabkan program tidak berfungsi, tidak sengaja mengubah kepemilikan file ke pengguna root (bukan pemiliknya), dan membuat sistem kurang aman (dengan memberikan lebih banyak izin). Karena itu, sebaiknya Anda tidak mengubah izin untuk file - terutama file sistem - kecuali jika perlu atau Anda tahu apa yang Anda lakukan.
Izin file tersedia untuk menyediakan sistem keamanan dasar di antara pengguna. Mempelajari cara kerjanya dapat membantu Anda mengatur pembagian dasar dalam lingkungan multi-pengguna, melindungi file “public”, dan memberi Anda petunjuk tentang kapan sesuatu yang salah dengan kepemilikan file sistem.
Pikirkan Anda bisa menjelaskan dengan lebih mudah? Apakah ada koreksi? Ingin bernostalgia tentang masa lalu? Beristirahatlah dan taruh pikiran Anda dalam komentar.