DEV Community

Khoerunnisa
Khoerunnisa

Posted on

Managing File System Permissions from the Command Line Objectives

Mengubah Izin File dan Direktori
Perintah yang digunakan untuk mengubah perizinan dari baris perintah adalah chmod, yang berarti "ubah mode" (perizinan juga disebut mode file). Perintah chmod membutuhkan instruksi izin yang diikuti dengan daftar file atau direktori yang akan diubah. Instruksi izin dapat diberikan secara simbolik (metode simbolik) atau numerik (metode numerik).

Mengubah Izin dengan Metode Simbolik

Image description

  • Who is u, g, o, a (untuk pengguna, grup, lainnya, semua)
  • What itu +, -, = (untuk menambah, menghapus, mengatur dengan tepat)
  • Which is r, w, x (untuk membaca, menulis, menjalankan)

Metode simbolik untuk mengubah izin file menggunakan huruf untuk mewakili berbagai kelompok izin: u untuk pengguna, g untuk grup, o untuk lainnya, dan a untuk semua.

Dengan metode simbolik, Anda tidak perlu menetapkan grup izin baru yang lengkap. Sebagai gantinya, Anda dapat mengubah satu atau beberapa izin yang sudah ada. Gunakan + atau - untuk menambah atau menghapus izin, atau gunakan = untuk mengganti seluruh set untuk sekelompok izin.

Perijinan itu sendiri diwakili oleh satu huruf: r untuk read, w untuk write, dan x untuk execute. Ketika menggunakan chmod untuk mengubah perijinan dengan metode simbolik, menggunakan huruf kapital X sebagai flag perijinan akan menambahkan perijinan eksekusi hanya jika berkas tersebut adalah direktori atau telah memiliki perijinan eksekusi untuk user, grup, atau lainnya.

  • Catatan Perintah chmod mendukung opsi -R untuk mengatur perizinan secara rekursif pada berkas-berkas di seluruh pohon direktori. Ketika menggunakan opsi -R, akan sangat berguna untuk mengatur izin secara simbolis menggunakan opsi X. Hal ini memungkinkan izin eksekusi (pencarian) ditetapkan pada direktori sehingga isinya dapat diakses, tanpa mengubah izin pada sebagian besar file. Namun, berhati-hatilah dengan opsi X, karena jika sebuah file memiliki izin eksekusi yang ditetapkan, X akan menetapkan izin eksekusi yang ditentukan pada file tersebut juga. Sebagai contoh, perintah berikut ini secara rekursif mengatur akses baca dan tulis pada demodir dan semua anaknya untuk pemilik grup mereka, tetapi hanya menerapkan izin eksekusi grup untuk direktori dan berkas yang telah memiliki set eksekusi untuk pengguna, grup, atau yang lain. Image description

Contoh

  • Hapus izin baca dan tulis untuk grup dan lainnya pada file1: Image description
  • Tambahkan izin eksekusi untuk semua orang di file2: Image description

Mengubah Izin dengan Metode Numerik
Pada contoh di bawah ini, karakter # mewakili sebuah angka.
Image description

  • Setiap angka mewakili izin untuk tingkat akses: pengguna, grup, lainnya.
  • Digit dihitung dengan menjumlahkan angka untuk setiap izin yang ingin Anda tambahkan, 4 untuk baca, 2 untuk tulis, dan 1 untuk eksekusi.

Dengan menggunakan metode numerik, izin diwakili oleh angka oktal 3 digit (atau 4 digit, saat mengatur izin tingkat lanjut). Satu digit oktal dapat mewakili nilai tunggal dari 0-7.

Dalam representasi izin oktal (numerik) 3 digit, setiap digit mewakili satu tingkat akses, dari kiri ke kanan: pengguna, grup, dan lainnya. Untuk menentukan setiap digit:

  1. Mulai dengan angka 0.
  2. Jika izin baca harus ada untuk tingkat akses ini, tambahkan 4.
  3. Jika izin tulis harus ada, tambahkan 2.
  4. Jika izin eksekusi harus ada, tambahkan 1.

Periksa izin -rwxr-x---. Untuk pengguna, rwx dihitung sebagai 4+2+1=7. Untuk grup, r-x dihitung sebagai 4+0+1=5, dan untuk pengguna lain, --- diwakili dengan 0. Dengan menggabungkan ketiganya, representasi numerik dari perizinan tersebut adalah 750.

Perhitungan ini juga dapat dilakukan dengan arah yang berlawanan. Lihatlah izin 640. Untuk hak akses pengguna, 6 mewakili baca (4) dan tulis (2), yang ditampilkan sebagai rw-. Untuk bagian grup, 4 hanya mencakup read (4) dan ditampilkan sebagai r--. Angka 0 untuk lainnya tidak memberikan hak akses (---) dan set terakhir dari hak akses simbolik untuk berkas ini adalah -rw-r-----.

Administrator yang berpengalaman sering menggunakan izin numerik karena lebih singkat untuk diketik dan diucapkan, namun tetap memberikan kontrol penuh atas semua izin.

contoh

  • Atur izin baca dan tulis untuk pengguna, izin baca untuk grup dan lainnya, pada file sampel: Image description
  • Atur izin baca, tulis, dan eksekusi untuk pengguna, izin baca dan eksekusi untuk grup, dan tidak ada izin untuk yang lain pada sampledir: Image description

Mengubah Kepemilikan Pengguna atau Grup File dan Direktori
File yang baru dibuat dimiliki oleh pengguna yang membuat file tersebut. Secara default, file baru memiliki kepemilikan grup yang merupakan grup utama pengguna yang membuat file tersebut. Pada Red Hat Enterprise Linux, grup utama pengguna biasanya berupa grup privat yang hanya beranggotakan pengguna tersebut. Untuk memberikan akses ke file berdasarkan keanggotaan grup, grup yang memiliki file mungkin perlu diubah.

Hanya root yang dapat mengubah pengguna yang memiliki file. Namun, kepemilikan grup dapat diatur oleh root atau oleh pemilik file. root dapat memberikan kepemilikan file ke grup mana pun, tetapi pengguna biasa dapat menjadikan grup sebagai pemilik file hanya jika mereka adalah anggota grup tersebut.

Kepemilikan berkas dapat diubah dengan perintah chown (ubah pemilik). Sebagai contoh, untuk memberikan kepemilikan file test_file kepada user student, gunakan perintah berikut:
Image description
Perintah chown juga dapat digunakan untuk mengubah kepemilikan grup pada sebuah berkas dengan mendahului nama grup dengan tanda titik dua (:). Sebagai contoh, perintah berikut ini mengubah kepemilikan grup dari direktori test_dir menjadi admins:
Image description
Perintah chown juga dapat digunakan untuk mengubah pemilik dan grup secara bersamaan dengan menggunakan sintaks owner:group. Sebagai contoh, untuk mengubah kepemilikan test_dir menjadi visitor dan grup menjadi guest, gunakan perintah berikut:
Image description
Alih-alih menggunakan chown, beberapa pengguna mengubah kepemilikan grup dengan menggunakan perintah chgrp. Perintah ini bekerja seperti chown, kecuali bahwa perintah ini hanya digunakan untuk mengubah kepemilikan grup dan tanda titik dua (:) sebelum nama grup tidak diperlukan.

Penting
Anda mungkin menemukan contoh perintah chown yang menggunakan sintaks alternatif yang memisahkan pemilik dan grup dengan titik, bukan titik dua:
Image description
Anda sebaiknya tidak menggunakan sintaks ini. Selalu gunakan titik dua.

Titik adalah karakter yang valid dalam nama pengguna, tetapi titik dua tidak. Jika pengguna enoch.root, pengguna enoch, dan grup root ada di sistem, hasil chown enoch.root filename akan memiliki filename yang dimiliki oleh pengguna enoch.root. Anda mungkin pernah mencoba mengatur kepemilikan berkas ke enoch pengguna dan root grup. Hal ini dapat membingungkan.

Jika Anda selalu menggunakan sintaks chown saat mengatur pengguna dan grup secara bersamaan, hasilnya akan selalu mudah diprediksi.

Top comments (0)