Di Linux, setiap file dikaitkan dengan pemilik dan grup dan memiliki izin yang menentukan pengguna mana yang dapat membaca, menulis, atau mengeksekusi file tersebut.
Perintah chgrp
di rancang untuk mengubah kepemilikan grup dari file yang diberikan.
Panduan ini menjelaskan tentang penggunaan perintah chgrp
, perintah chgrp
bekerja di hampir semua sistem operasi Linux dan Unix.
Sintaks Perintah chgrp
Perintah chgrp mengambil bentuk berikut:
chgrp [OPTIONS] GROUP FILE..
- GROUP, nama grup baru atau group ID (GID). GID numerik harus diawali dengan simbol
+
. - FILE.., nama satu atau lebih file.
Berbeda dengan perintah chown
yang memungkinkan Anda untuk mengubah kepemilikan user dan grup, perintah chgrp hanya mengubah kepemilikan grup.
Untuk mencari tahu suatu file tersebut berasal dari grup mana, gunakan perintah ls -l
.
Hanya root atau pengguna dengan hak sudo yang dapat mengubah kepemilikan grup atas suatu file.
Cara Mengubah Grup Kepemilikan File
Untuk mengubah kepemilikan grup dari suatu file atau direktori gunakan perintah chgrp
diikuti oleh nama grup baru dan file target sebagai argumen.
Misalnya, untuk mengubah grup index.php
ke www-data
yang akan Anda jalankan:
chgrp www-data index.php
Perintah di atas akan mengubah kepemilikan file ke dalam grup www-data
, sedangkan kepemilikan user tidak berubah.
Jika Anda menjalankan perintah dengan user yang tidak berhak, Anda akan mendapatkan kesalahan “Operation not permitted”. Untuk suppresskesalahan, jalankan perintah dengan opsi -f
. Secara default, saat sukses, chgrp
tidak menghasilkan output apa pun.
Anda juga bisa mengirimkan banyak file sebagai argumen ke perintah chgrp
:
chgrp www-data file1 file2 dir1
Gunakan opsi -v untuk mendapatkan informasi tentang file yang sedang diproses:
chgrp www-data file1 file2
changed group of 'file1' from nginx to www-data group of 'file2' retained as www-data
Untuk mencetak informasi hanya tentang file-file yang benar-benar diubah oleh grup, gunakan opsi -c
bukannya -v
.
ID grup numerik (GID) dapat digunakan sebagai ganti nama pengguna. Contoh berikut mengubah kepemilikan grup file ke grup baru dengan GID 1000:
chgrp +1000 namafile
Cara Mengubah Kepemilikan Symlinks
Ketika tidak beroperasi secara rekursif, perilaku default dari perintah chgrp adalah mengubah kepemilikan grup target symlink, bukan symbolic links itu sendiri.
Misalnya, jika Anda mencoba mengubah grup symlink1
yang menunjuk ke /opt/file1
, chgrp akan mengubah kepemilikan file atau direktori yang ditunjuk symlink :
chgrp www-data symlink1
Kemungkinannya adalah bahwa alih-alih mengubah grup target, Anda akan mendapatkan kesalahan “cannot dereference ‘symlink1’: Permission denied”
Kesalahan terjadi karena secara default pada kebanyakan distribusi Linux symlink dilindungi, dan Anda tidak dapat beroperasi pada file target. Opsi ini ditentukan di /proc/sys/fs/protected_symlink
. 1
berarti diaktifkan dan 0
dinonaktifkan. Kami menyarankan untuk tidak menonaktifkan perlindungan symlink.
Untuk mengubah kepemilikan grup dari symlink itu sendiri, gunakan opsi -h
:
chgrp -h www-data symlink1
Cara Mengubah Kepemilikan Grup secara Rekursif
Untuk secara rekursif mengubah kepemilikan grup dari semua file dan direktori di bawah direktori yang diberikan, gunakan opsi -R
.
Sebagai contoh, perintah berikut akan mengubah kepemilikan semua file dan direktori di bawah direktori /var/www
ke grup www-data
:
chgrp -R www-data /var/www
Ketika opsi rekursif ditentukan, chgrp tidak akan melintasi symbolic links dan tidak akan membuat perubahan pada symlink. Untuk mengubah kepemilikan grup atas tautan simbolik, berikan opsi -h
:
chgrp -hR www-data /var/www
Opsi lain yang dapat digunakan ketika mengubah kepemilikan grup secara rekursif adalah -H
dan -L
.
Jika argumen yang diteruskan ke perintah chgrp
adalah symbolic link, opsi -H
akan menyebabkan perintah untuk melewatinya. Opsi -L
memberitahu chgrp
untuk melintasi setiap symlink ke direktori yang ditemui. Dalam kebanyakan kasus, Anda tidak boleh menggunakan opsi ini karena Anda mungkin mengacaukan sistem Anda atau membuat risiko keamanan.
Kesimpulan
Perintah chgrp digunakan untuk mengubah kepemilikan grup atas file, direktori, dan symlink.
Meskipun Anda dapat menggunakan perintah chown
yang lebih populer untuk mengubah grup, chgrp
memiliki sintaksis sederhana yang mudah diingat.
Untuk informasi lebih lanjut tentang perintah chgrp, kunjungi halaman manual chgrp atau ketik man chgrp
di terminal Anda.