GNU/Linux >> Belajar Linux >  >> Linux

9 Contoh Perintah chmod Cepat di Linux

Perintah Chmod di Linux digunakan untuk mengubah atau menetapkan izin pada file dan direktori. Di sistem Linux / Unix, aksesibilitas ke file dan direktori ditentukan oleh kepemilikan dan izin file. Pada artikel sebelumnya, kita melihat bagaimana mengelola kepemilikan file &direktori menggunakan perintah chown. Dalam tutorial ini, kita melihat perintah chmod.

Perintah chmod, kependekan dari change mode digunakan untuk mengatur hak akses file dan direktori dan menentukan siapa yang dapat mengaksesnya. Sekarang mari selami dan jelajahi sifat izin file &direktori dan bagaimana mereka dapat dimodifikasi.

Izin Linux

Untuk lebih memahami cara kerja perintah chmod, sebaiknya kita mempelajari model izin file Linux.

Di Linux, kami memiliki 3 jenis izin file:izin baca (r), tulis (w), dan eksekusi (x). Izin ini menentukan pengguna mana yang dapat membaca, menulis, atau mengeksekusi file. Anda dapat menetapkan izin ini menggunakan teks atau notasi oktal (numerik) seperti yang akan kita bahas nanti dalam tutorial ini.

File dan direktori dapat dimiliki oleh pemilik file (u), grup (g) atau orang lain (o)

  • u   –  Pemilik file
  • g   –  Grup
  • o   –  Lainnya

Izin file terdaftar menggunakan perintah ls -l. Bendera -l mencantumkan izin file. Izin diatur dalam tiga set:pengguna, grup, dan lainnya masing-masing

Untuk mendapatkan pemahaman yang lebih baik tentang izin file, kami akan membuat daftar isi direktori kami seperti yang ditunjukkan:

$ ls -l

Mulai dari paling kiri, karakter/simbol pertama menunjukkan jenis file. Tanda hubung (-) menunjukkan bahwa file tersebut adalah file biasa. Simbol d menunjukkan bahwa itu adalah direktori. Simbol l menunjukkan bahwa itu adalah tautan simbolis.

Sembilan karakter yang tersisa tersegmentasi menjadi 3 triplet masing-masing membawa tiga simbol r(baca), w(tulis) dan x(eksekusi). Seperti yang ditunjukkan sebelumnya, segmen pertama menunjukkan izin pemilik, segmen kedua menunjukkan izin grup, dan bagian terakhir menentukan izin yang dimiliki pengguna lain pada file atau direktori.

Dari output, kita dapat melihat bahwa kita memiliki 2 file (hello.txt &report.zip) dan satu direktori.

Mari kita periksa file pertama

-rw-rw-r-- 1 linuxtechi linuxtechi   35 Aug 17 15:42 hello.txt

Untuk file pertama, izin -rw-rw-r– menyiratkan bahwa pemilik file memiliki izin baca dan tulis, grup juga memiliki izin baca &tulis, sementara pengguna lain hanya memiliki izin baca. Izin yang sama juga berlaku untuk file terkompresi report.zip.

Mari kita lihat izin direktori:

drwxrwxr-x 2 linuxtechi linuxtechi 4096 Aug 17 15:43 sales

Kita dapat melihat bahwa pemilik direktori dan grup memiliki semua izin (baca, tulis, dan eksekusi) sementara pengguna lain hanya memiliki izin membaca dan mengeksekusi.

Simbol tanda hubung tiga — menunjukkan tidak ada izin yang diberikan untuk pemilik file, grup, atau pengguna lain.

Menggunakan perintah chmod untuk mengatur izin file &direktori

Setelah melihat izin file dan cara melihatnya, mari kita fokus pada cara mengubah izin ini.

Perintah chmod di Linux digunakan untuk mengubah izin file dan direktori menggunakan notasi teks (simbolik) atau numerik (oktal). Dibutuhkan sintaks berikut:

$ chmod [OPTIONS] nama file MODE

Hanya pengguna root atau pengguna biasa dengan hak sudo yang dapat mengubah izin file atau direktori. Anda dapat melewatkan lebih dari satu file atau direktori yang dipisahkan oleh spasi dalam sintaks perintah.

Sekarang mari kita mempelajari dan melihat berbagai contoh perintah chmod.

Contoh 1) Tetapkan izin menggunakan notasi numerik

Saat menyetel izin menggunakan gaya/notasi numerik, gunakan sintaks yang ditunjukkan di bawah ini:

$ sudo chmod [OPTIONS] nama file numerik_nilai

Nilai numerik dapat mengambil 3 atau 4 angka. Namun, dalam kebanyakan kasus, 3 angka digunakan. Izin baca, tulis, dan eksekusi memiliki nilai berikut:

  • izin baca => 4
  • izin menulis => 2
  • jalankan izin => 1

Jumlah total nilai izin yaitu membaca, menulis, dan mengeksekusi di masing-masing dari tiga segmen memperhitungkan izin lengkap dari file atau direktori yang diberikan.

Apa yang kami maksud dengan ini?

Mari kita asumsikan pemilik telah membaca, menulis, dan mengeksekusi izin, grup memiliki izin membaca dan mengeksekusi dan pengguna lain hanya memiliki izin baca, ini dapat dipecah sebagai berikut:

  • u :   rwx  =7
  • g :   r-x  =5
  • o :   r–  =4

Oleh karena itu, kami sampai pada nilai 754 sebagai nilai numerik untuk izin file dari file yang diberikan.

Untuk menetapkan izin baca, tulis, dan eksekusi kepada pemilik,  dan izin baca hanya untuk grup dan pengguna lain, jalankan perintah:

$ chmod 744 devops.txt

Untuk menetapkan semua izin ke pemilik file, baca dan jalankan izin ke grup dan tidak ada izin sama sekali ke pengguna lain, jalankan:

$ chmod 750 coders.txt

Untuk menetapkan semua izin ke pemilik file, izin baca dan tulis ke grup dan pengguna lain jalankan perintah:

$ chmod 755 sysadmin.txt

Contoh 2) Menetapkan izin secara rekursif ke direktori

Saat menetapkan izin ke direktori, gunakan tanda -R untuk menetapkan izin secara rekursif ke file dan subfoldernya. Misalnya:

$ chmod 755 -R directory_name

$ chmod 755 -R /home/linuxtechi/data

Contoh 3) Tetapkan izin menggunakan notasi teks

Cara lain untuk menetapkan izin adalah dengan menggunakan notasi teks. Dalam metode ini, perintah chmod mengambil flag atau simbol yang mewakili pemilik, grup, orang lain atau semua pengguna ( u, g , dan o) dalam sintaks.

Metode ini tidak semudah metode sebelumnya dan harus berhati-hati untuk menghindari pemberian izin yang salah.

Begini tampilan sintaksnya

$ chmod [OPTIONS] [ u g o a ]  [ – + =] [ r, w, x ] file

Mari kita pecahkan ini.

Grup parameter pertama [ u g o a]  menentukan kategori pengguna yang izinnya akan berubah

  • u :pengguna
  • g :grup
  • o :lainnya
  • a :semua ( Ini termasuk semua yang di atas )

Jika kumpulan ini dihilangkan, maka opsi defaultnya adalah  opsi.

Kumpulan opsi kedua – opsi operator [ – + =] – menentukan apakah izin akan ditambahkan atau dihapus dari kategori pengguna. Opsi hapus

  • –    :Bendera menghapus izin file dari pengguna tertentu.
  • +   :Ini menambahkan/menambahkan izin ke pengguna tertentu.
  • =   :Tindakan ini memberikan izin berbeda kepada pengguna tertentu dan menghapus izin sebelumnya dari segmen pengguna.

Mari kita lihat beberapa contohnya:

Contoh 4) Tetapkan izin baca ke file

$ chmod o=r nama file

Perintah di atas menetapkan pengguna lain yang dilambangkan dengan simbol 'o' izin baca hanya ke file dan menghapus izin sebelumnya yang ditetapkan ke segmen 'lainnya'. Ambil file1.txt yang memiliki izin berikut

Untuk menetapkan izin baca segmen 'lainnya ( o )', jalankan saja

$ sudo chmod o=r file1.txt

Dari output, kita dapat melihat bahwa segmen 'lainnya' telah diberikan izin baca sementara pada saat yang sama telah kehilangan izin eksekusi. Ini menyiratkan bahwa =operator memberikan izin baru sementara pada saat yang sama menghapus izin sebelumnya.

Contoh 5) Tetapkan Izin Eksekusi ke Pemilik File dan Grup

$ sudo chmod ug+x nama file

Perintah di atas menambahkan izin eksekusi ke pemilik dan grup file. Menggunakan file kami, ini menjadi:

$ sudo chmod ug+x file1.txt

Contoh 6) Tetapkan izin yang berbeda untuk file, grup, dan lainnya

$ sudo chmod u=rwx,g=rw,o=r nama file

Perintah di atas memberikan semua izin kepada pemilik file, izin baca dan tulis ke grup, dan hanya izin baca ke pengguna lain.

CATATAN: Jika tidak ada izin yang ditentukan setelah operator =, maka semua izin dari segmen pengguna akan dihapus.

Contoh 7) Hapus semua izin untuk pengguna lain

$ sudo chmod o=nama file

Perintah di atas menghapus semua izin dari segmen pengguna 'lainnya' untuk file yang ditentukan.

Perintah tersebut memiliki efek yang sama dengan perintah di bawah ini:

$ sudo chmod o-rwx nama file

Contoh 8) Tetapkan izin menggunakan file referensi

Cara lain yang praktis dan nyaman untuk menetapkan izin file adalah menggunakan file referensi. Dalam metode ini, Anda menggunakan opsi –reference=ref_file untuk mengatur izin file agar sama dengan file referensi lainnya. Gunakan sintaks di bawah ini

$ sudo chmod –reference=ref_file nama file

Misalnya, untuk mengatur hak akses file file2.txt agar sama dengan file1.txt jalankan perintah:

$ sudo chmod --reference=file1.txt file2.txt

File referensi adalah file1.txt sedangkan file2.txt adalah file yang akan mengambil izin file untuk file referensi.

Contoh 9) Tetapkan izin eksekusi hanya untuk direktori

Mari kita asumsikan kita memiliki direktori yang memiliki file dan sub-direktori dan kita ingin menetapkan izin eksekusi hanya pada direktori tanpa menyentuh file. Jadi, ini dapat dicapai dengan menggunakan perintah chmod berikut,

$ chmod a+X *

Jika Anda perhatikan baik-baik, kami telah menggunakan huruf kapital X untuk izin eksekusi, perintah di atas akan menetapkan izin eksekusi pada semua direktori  direktori kerja kami saat ini.

Kesimpulan

Ini menarik tirai pada topik kita. Kami melihat perintah chmod dan melihat berbagai contoh di mana perintah tersebut dapat digunakan untuk mengubah hak akses file.


Linux
  1. 8 Contoh Perintah Tanggal Cepat di Linux

  2. Contoh Perintah ekor Linux

  3. ln Contoh Perintah di Linux

  1. Izin Linux:Pengantar chmod

  2. Perintah mv di Linux:7 Contoh Penting

  3. Contoh Perintah Dasar "chmod" di Linux

  1. 10 Perintah Cepat Linux Tail dengan Contoh

  2. 8 Contoh Perintah Kepala di Linux

  3. File Contoh Perintah di Linux