Perintah Chmod di Linux/Unix dengan Contoh

Perintah chmod di Linux digunakan untuk mengubah izin akses file dan direktori. Chmod adalah singkatan dari “change mode”. Perintah ini tidak dapat mengubah izin tautan simbolik. Bahkan, ia mengabaikan tautan simbolik yang ditemukan dalam penjelajahan direktori rekursif.

Dalam sistem file Linux, setiap file terkait dengan pemilik tertentu dan memiliki izin akses untuk pengguna yang berbeda. Kelas pengguna mungkin meliputi:

  • Pemilik
  • Anggota grup
  • Lainnya (Semua orang)

Jenis izin file di Linux adalah sebagai berikut:

  • Read (r)
  • Write (w)
  • Execute (x)

Sejarah Singkat Chmod

Pertama kali, perintah chmod diwakili dalam AT&T UNIX versi 1 dengan panggilan sistem chmod. Daftar kontrol akses dimasukkan dalam beberapa sistem file sebagai tambahan untuk mode yang paling umum untuk meningkatkan fleksibilitas karena sistem tumbuh dalam jenis dan jumlah pengguna.

Versi chmod yang diatur dalam GNU coreutils ditentukan oleh Jim Meyering dan David MacKenzie. Perintah ini hadir sebagai paket terpisah untuk Microsoft Windows sebagai bagian dari koleksi port native Win32 dari utilitas dasar GNU Unix-like. Juga, perintah chmod telah dikirim ke IBM i OS.

Mari kita lihat bagaimana cara mengubah izin file menggunakan perintah chmod.

Sintaks:

Sintaks dasar dari perintah chmod adalah sebagai berikut:

phpSalin kodechmod <options> <permissions> <file name>

Opsi yang umumnya diterapkan adalah:

  • -R: Untuk rekursif, yaitu, menambahkan objek ke subdirektori.
  • -V: Untuk verbose, menampilkan objek yang dimodifikasi (objek yang tidak dimodifikasi tidak ditampilkan).

Objek target dipengaruhi jika tautan simbolik disebutkan. Mode file terkait dengan tautan simbolik itu sendiri biasanya tidak digunakan.

Komponen Utama dari Izin Chmod:

Misalnya, rwxr-x---

Semua kelompok tiga karakter menentukan izin untuk semua kelas:

  • rwx: Tiga karakter paling kiri menentukan izin untuk pemilik file (yaitu, kelas User).
  • r-x: Tiga karakter tengah menentukan izin untuk grup yang memiliki file (yaitu, kelas Group).
  • ---: Tiga karakter paling kanan menentukan izin untuk kelas Other. Pengguna yang bukan pemilik file dan anggota grup tidak dapat mengakses file.

Opsi:

Perintah chmod mendukung opsi baris perintah berikut:

  • -c, --changes: Mirip dengan opsi verbose, tetapi bedanya dilaporkan jika ada perubahan yang dibuat.
  • -f, --silent, --quiet: Digunakan untuk menyembunyikan pesan kesalahan.
  • -v, --verbose: Digunakan untuk menampilkan diagnostik untuk setiap file yang diproses.
  • --no-preserve-root: Digunakan untuk tidak memperlakukan simbol backslash (‘/’), terutama (default).
  • --preserve-root: Jika opsi ini digunakan, ia akan gagal beroperasi secara rekursif pada backslash (‘/’).
  • --reference=RFILE: Digunakan untuk menentukan mode RFILE sebagai alternatif nilai MODE.
  • -R, --recursive: Digunakan untuk mengubah file dan direktori secara rekursif.
  • --help: Digunakan untuk menampilkan manual bantuan yang berisi deskripsi singkat tentang penggunaan dan opsi dukungan.
  • --version: Digunakan untuk menampilkan informasi versi.

Sintaks Izin File

Jika Anda adalah pengguna baru, Anda mungkin bingung dengan berbagai jenis huruf yang digunakan untuk mengatur izin file. Jadi, sebelum melanjutkan lebih jauh dengan perintah chmod, mari kita pahami sintaks izin file.

Untuk mengatur izin file atau direktori, kita harus menentukan hal-hal berikut:

  • Siapa: Siapa kita. (user)
  • Apa: Perubahan apa yang akan kita lakukan (seperti menambahkan atau menghapus izin)?
  • Yang mana: Izin yang mana?

Pernyataan izin diwakili dalam indikator seperti u+x, u-x. Di mana ‘u’ berarti ‘user,’ ‘+’ berarti menambahkan, ‘-‘ berarti menghapus, ‘x’ berarti dapat dieksekusi (which).

Nilai pengguna dapat berupa:

  • u: pemilik file
  • g: anggota grup
  • o: lain-lain
  • a: semua

Jenis izin dapat berupa r, w, dan x.

Mengatur dan Memperbarui Izin

Untuk mengatur izin file, jalankan pernyataan izin dengan perintah chmod. Misalnya, kita ingin mengatur izin baca dan tulis untuk semua pengguna dan grup dari file Demo.txt. Kita harus mengirimkan pernyataan izin “u=rw,go=rw Demo.txt” dengan perintah chmod. Untuk menampilkan izin file, jalankan perintah di bawah ini:

bashSalin kodels -l Demo.txt

Perintah di atas akan menampilkan izin file saat ini dari file Demo.txt.

Untuk mengubah izin, jalankan perintah di bawah ini:

bashSalin kodechmod u=rw,go=rw Demo.txt

Pertimbangkan output di bawah ini:

Perintah chmod telah mengubah izin akses file Demo.txt.

Mengatur Izin untuk Beberapa File

Kita dapat mengatur izin untuk beberapa file sekaligus menggunakan perintah chmod. Untuk mengubah izin file beberapa file, tentukan pola file dengan perintah chmod. Misalnya, jika kita ingin mengatur izin baca dan tulis untuk semua file teks, tentukan pola *.txt dengan perintah chmod.

Untuk melihat izin semua file teks dari direktori kerja saat ini, jalankan perintah di bawah ini:

bashSalin kodels -l *.txt

Ini akan menampilkan semua file teks dengan mode izin mereka. Pertimbangkan output di bawah ini:

Dari output di atas, banyak file hanya memiliki izin baca untuk pengguna lain.

Untuk mengatur izin baca dan tulis untuk pengguna lain, jalankan perintah di bawah ini:

bashSalin kodechmod o+w *.txt

Ini akan mengatur izin baca dan tulis untuk pengguna lain dari file teks. Pertimbangkan output di bawah ini:

Shorthand Numerik

Kita dapat menggunakan nilai numerik sebagai pengganti huruf untuk menentukan izin. Nilai tiga digit digunakan untuk menentukan izin. Digit paling kiri mewakili pemilik (u), dan digit tengah mewakili anggota grup (g). Digit paling kanan mewakili orang lain (o).

Tabel berikut mewakili digit dan izin mereka:

DigitIzin
000Tidak ada izin
001Izin eksekusi
010Izin tulis
011Izin tulis dan eksekusi
100Izin baca
101Izin baca dan eksekusi
110Izin baca dan tulis
111Izin baca, tulis, dan eksekusi

Mode Simbolik

Perintah chmod juga menerima notasi simbolik yang lebih halus, yang memungkinkan mengubah mode spesifik. Mode simbolik terdiri dari tiga elemen, yang digabungkan untuk membentuk string teks tunggal:

cssSalin kode$ chmod [references] [operator] [modes] file...

Program chmod menerapkan operator untuk menentukan bagaimana mode file harus diatur. Operator berikut disetujui:

OperatorDeskripsi
+Menambahkan mode yang dijelaskan ke kelas yang dijelaskan.
Menghapus mode yang dijelaskan dari kelas yang dijelaskan.
=Menyatakan bahwa mode yang dijelaskan harus menjadi mode yang sama untuk kelas yang dijelaskan.

Mode mewakili izin yang akan dihapus atau diberikan dari kelas yang dijelaskan. Ada tiga mode umum yang terkait dengan izin umum:

NamaModeDeskripsi
readrMembaca file atau daftar isi direktori.
writewMenulis ke direktori atau file.
executexMelintasi pohon direktori atau mengeksekusi file.
special executeXBukan izin tetapi bisa digunakan sebagai pengganti x. Menggunakan izin eksekusi untuk direktori terlepas dari izin saat ini dan menggunakan izin eksekusi untuk file yang setidaknya memiliki satu bit izin eksekusi. Ini berguna jika digunakan dengan operator “+” dan tanpa menetapkan izin eksekusi yang akan terjadi jika kita hanya menggunakan chmod -R a+rx ., sedangkan kita dapat menerapkan chmod -R a+rx . dengan x juga.

Modifikasi ganda dapat dijelaskan dengan memisahkan beberapa mode simbolik bersama dengan koma. Perintah chmod akan memeriksa umask jika pengguna tidak ditentukan.

Mode Khusus

Perintah chmod juga dapat mengubah mode khusus dan izin tambahan dari direktori atau file. Mode simbolik menerapkan ‘s’ untuk menunjukkan mode setgid dan setuid dan ‘t’ untuk menunjukkan mode sticky. Mode hanya digunakan untuk kelas yang benar, terlepas dari apakah kelas lain disebutkan atau tidak.

Hampir semua sistem operasi secara numerik mendukung spesifikasi mode khusus, terutama dalam oktal, tetapi beberapa tidak. Hanya mode simbolik yang dapat diterapkan ke sistem ini.

Beberapa Contoh Baris Perintah:

PerintahDeskripsi
chmod a+r publicComments.txtMenambahkan izin baca untuk setiap kelas (yaitu, Grup, Pemilik, dan Lainnya).
chmod a-x publicComments.txtMenghapus izin eksekusi untuk setiap kelas.
chmod a+rx viewer.shMenambahkan izin eksekusi dan baca untuk setiap kelas.
chmod u=rw, g=r, o=internalPlan.txtMenetapkan izin tulis dan baca untuk pengguna, izin baca untuk Grup, dan menolak akses untuk Lainnya.
chmod -R u+w, go-w docsMenambahkan izin tulis ke direktori docs dan semua isinya untuk pemilik dan menghapus izin tulis untuk orang lain dan grup.
chmod ug=rw groupAgreements.txtMenetapkan izin tulis dan baca untuk Grup dan pengguna.
chmod 664 global.txtMenetapkan izin tulis dan baca untuk Grup dan pengguna dan memberikan izin baca kepada Lainnya.
chmod 744 Show_myCV.shMenetapkan izin eksekusi, tulis, dan baca untuk pengguna dan memberikan izin baca untuk Grup dan Lainnya.

ref: [1]

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *