GNU/Linux >> Belajar Linux >  >> Linux

Contoh Perintah Dasar "chmod" di Linux

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:

  1. mode simbolik
  2. 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.


Linux
  1. ln Contoh Perintah di Linux

  2. Contoh Perintah gzip di Linux

  3. lebih banyak Contoh Perintah di Linux

  1. Perintah mv di Linux:7 Contoh Penting

  2. Contoh Perintah ekor Linux

  3. contoh Perintah kepala di Linux

  1. 8 Contoh Perintah Kepala di Linux

  2. 8 Contoh Perintah Stat di Linux

  3. File Contoh Perintah di Linux