Perintah Linux untuk mengubah hak akses pada sebuah file atau direktori adalah chmod, yang biasa kita baca sebagai change file mode. chmod memiliki dua mode operasi:
- mode simbolik
- mode numerik/oktal
Untuk mengubah izin menggunakan perintah chmod Linux kita harus mengikuti beberapa sintaks dan aturan. Seperti yang sudah kita bahas diatas kita bisa merubah permission menggunakan cara Numerical dan Alphabetical, disini saya sudah menjelaskan kedua cara tersebut dengan segala triknya.
Cara Abjad
Untuk menggunakan metode ini, Anda harus mengingat aturan dan huruf di bawah ini untuk penggunaan yang benar. Untuk mengubah izin pengguna, Anda harus menggunakan alfabet “u “. Seperti itu untuk Grup “g ” dan untuk yang lainnya adalah “o “.
Seperti Pengguna, Grup, dan Lainnya, kita harus mengingat beberapa alfabet untuk memberikan izin Baca, Tulis, dan Jalankan. Seperti untuk izin Baca, Anda harus menggunakan alfabet “r “, untuk Tulis “w ” dan untuk Jalankan adalah “x “.
Jadi rumus untuk memberikan izin menggunakan perintah chmod ditunjukkan di bawah ini :
- u – Pengguna
- g – Grup
- o – Lainnya
- r – Baca
- w – Tulis
- x – Jalankan
Misalnya jika Anda ingin memberikan izin Baca &Tulis kepada Pengguna/Pemilik dan izin Baca ke Grup &Lainnya menggunakan cara Abjad maka perintahnya adalah:
# chmod u+rw,g+r,o+r file_name
Cara Numerik
Untuk menggunakan metode ini, Anda harus mengingat Aturan dan Angka di bawah ini untuk penggunaan yang benar.
- 4 – Memberi Izin Baca
- 2 – Untuk memberikan Izin Menulis
- 1 – Untuk memberikan Izin Jalankan
Misalnya, jika Anda ingin memberikan izin Baca &Tulis kepada Pengguna/Pemilik dan izin Baca ke Grup &Lainnya menggunakan cara Numerik maka perhitungan perintahnya adalah:
4+2 =6 :Ini akan menambahkan izin Baca &Tulis ke Pengguna/Pemilik.
4 :Ini akan menambahkan izin Baca ke Grup.
4 :Ini akan menambahkan izin Baca ke Lainnya.
Jadi perintahnya akan seperti:
# chmod 644 filename
Anda dapat memeriksa izin file apa pun menggunakan perintah di bawah ini:
# ls -l file.txt -rw-rw-r-- 1 geeklab geeklab 0 Feb 20 06:16 file.txt
Dan gunakan perintah di bawah ini untuk memeriksa izin direktori:
# ls -ld data/ drwxrwxr-x 2 geeklab geeklab 4096 Feb 20 06:18 data/
Sekarang di sini pertanyaannya adalah - bagaimana Mengidentifikasi izin apa yang telah diberikan ke file atau direktori. Ini cukup sederhana. Di atas saya telah memberikan dua contoh. Sekarang mari kita identifikasi izin file.txt. Jika Anda melihat properti file dimulai dengan “-rw-rw-r–“. Di sini kita dapat mengidentifikasi izin apa yang diberikan ke file.txt.
Bagian izin dibagi menjadi 10 bit di antaranya
“– ” :Bit pertama bertanggung jawab untuk mengidentifikasi apakah itu file, direktori, atau Symbolic Link. Lihat simbol di bawah ini:
Simbol penting:
- – :Izin diberikan ke File
- d :Izin ditetapkan ke Direktori
- l :Izin diberikan ke Tautan Simbolik
- Bit ke-2, ke-3, ke-4 untuk izin Pemilik.
- Bit ke-5, ke-6, ke-7 adalah untuk izin Grup.
- Bit ke-8, ke-9, ke-10 adalah untuk izin Orang Lain.
Untuk memberikan izin ke file/direktori apa pun, Anda harus menggunakan “+ " Simbol. Untuk menghapus izin dari file/direktori apa pun, Anda harus menggunakan “– ” Simbol.
Contoh Menggunakan perintah chmod
Menetapkan izin ke File
Di sini saya memiliki file bernama file.txt. Mari beri izin Baca dan Tulis kepada Pengguna/Pemilik menggunakan perintah chmod.
$ chmod u+rw file.txt
$ ls -l file.txt -rw------- 1 geeklab geeklab 0 Feb 20 06:16 file.txt
Dengan Cara Numerik gunakan perintah di bawah ini :
$ chmod 600 file.txt
Menetapkan Izin ke Direktori
Perintah di bawah ini dapat digunakan untuk memberikan izin ke direktori. Di sini saya memiliki direktori bernama data. Jadi mari kita beri Izin Penuh (Baca, Tulis, Jalankan) kepada Pengguna/Pemilik. Lihat perintah di bawah ini.
$ chmod u+rwx data/
$ ls -ld data/ drwx------ 2 geeklab geeklab 4096 Feb 20 06:18 data/
Cara Numerik:
$ chmod 700 data/
Hapus izin dari file/direktori
Hapus izin dari file/direktori menggunakan perintah chmod Linux di bawah ini. Di sini saya menghapus izin Baca dan Tulis dari Pengguna/Pemilik.
$ chmod u-rw file.txt
$ ls -l file.txt ----rw-r-- 1 geeklab geeklab 0 Feb 20 07:18 file.txt
Beri izin kepada Semua Orang
Anda dapat menggunakan perintah di bawah ini untuk memberikan izin kepada semua orang. Di sini saya memberikan Izin Penuh kepada semua orang untuk mengakses file.txt. Ada dua metode untuk melakukan hal yang sama.
Metode 1
$ chmod a+rwx file.txt
$ ls -l file.txt -rwxrwxrwx 1 geeklab geeklab 0 Feb 20 06:44 file.txt
Metode 2
Anda juga dapat menggunakan perintah chmod Linux di bawah ini untuk melakukan hal yang sama.
$ chmod ugo+rwx file.txt
$ ls -l file.txt -rwxrwxrwx 1 geeklab geeklab 0 Feb 20 06:44 file.txt
Cara Numerik :
$ chmod 777 file.txt
Tetapkan izin yang berbeda untuk Pengguna, Grup &Lainnya dengan menggunakan Perintah chmod Linux Tunggal
Di sini saya Menghapus izin Execute dari Pengguna/Pemilik dan Menambahkan izin Execute ke Grup &Lainnya dengan menggunakan satu perintah.
$ chmod u-x,g+x,o+x file.txt
$ ls -l file.txt -rw-rwxrwx 1 geeklab geeklab 0 Feb 20 09:40 file.txt
Menetapkan izin ke file dengan mengambil referensi dari file lain
Anda dapat menyalin izin dari satu file ke file lainnya. Di sini saya memiliki file bernama a1.txt yang izinnya seperti “-rw-r–r– “.
$ ls -l a1.txt -rw-r--r-- 1 geeklab geeklab 0 Feb 20 07:21 a1.txt
Sekarang saya ingin memberikan izin yang sama untuk file saya yang lain bernama a2.txt. Anda dapat melakukannya menggunakan perintah chmod Linux dengan argumen –referensi. Lihat perintah di bawah ini.
$ chmod --reference=a1.txt a2.txt
$ ls -l a2.txt -rw-r--r-- 1 geeklab geeklab 0 Feb 20 07:22 a2.txt
Tetapkan Izin Secara Rekursif
Saya memiliki direktori bernama data, di mana saya memiliki begitu banyak file dan saya ingin memberikan izin kepada semuanya sekaligus alih-alih secara manual satu per satu. Untuk itu Anda dapat menggunakan perintah chmod Linux dengan argumen -R. Ini akan membantu Anda memberikan izin secara Rekursif.
$ chmod -R ugo+rwx data/
Cara Numerik :
$ chmod -R 777 data/
Tetapkan izin dengan keluaran Verbose
Anda bisa mendapatkan output setelah memberikan izin ke file/direktori apa pun dengan menggunakan perintah chmod Linux dengan argumen -v. Lihat perintah di bawah ini.
$ chmod -v 777 file.txt mode of 'file.txt' changed from 0664 (rw-rw-r--) to 0777 (rwxrwxrwx)
Tetapkan izin dengan output (Perintah ini hanya akan memberikan output jika ada perubahan)
perintah chmod dengan argumen -c juga melakukan hal yang sama seperti keluaran Verbose (yaitu -v). Tapi itu akan menampilkan output hanya jika ada perubahan izin. Jika Anda memberikan izin yang sama maka itu tidak akan menampilkan output apa pun.
$ chmod -c 755 file.txt mode of 'file.txt' changed from 0777 (rwxrwxrwx) to 0755 (rwxr-xr-x)
Menetapkan Izin dengan mengabaikan/menyelesaikan kesalahan
Untuk menghindari kesalahan atau untuk memperbaiki kesalahan selama memberikan izin, Anda dapat menggunakan perintah chmod Linux dengan argumen -f. Lihat perintah di bawah ini.
$ chmod -f 755 file.txt
Untuk bantuan perintah chmod
Untuk perintah chmod lebih banyak opsi dan argumen, Anda dapat menggunakan perintah di bawah ini.
$ chmod --help Usage: chmod [OPTION]... MODE[,MODE]... FILE... or: chmod [OPTION]... OCTAL-MODE FILE... or: chmod [OPTION]... --reference=RFILE FILE... Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' --reference=RFILE use RFILE's mode instead of MODE values -R, --recursive change files and directories recursively --help display this help and exit --version output version information and exit Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'. GNU coreutils online help: [http://www.gnu.org/software/coreutils/] Full documentation at: [http://www.gnu.org/software/coreutils/chmod] or available locally via: info '(coreutils) chmod invocation'
Periksa versi perintah chmod
Anda dapat menggunakan perintah chmod Linux dengan argumen –version untuk memeriksa versi versi perintah chmod yang diinstal.
$ chmod --version chmod (GNU coreutils) 8.25 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later [http://gnu.org/licenses/gpl.html]. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by David MacKenzie and Jim Meyering.