GNU/Linux >> Belajar Linux >  >> Linux

Pengantar perintah Linux chgrp dan newgrp

Dalam artikel baru-baru ini, saya memperkenalkan chown perintah, yang digunakan untuk memodifikasi kepemilikan file pada sistem. Ingatlah bahwa kepemilikan adalah kombinasi dari pengguna dan grup yang ditetapkan ke suatu objek. chgrp dan newgrp perintah memberikan bantuan tambahan untuk mengelola file yang perlu mempertahankan kepemilikan grup.

Menggunakan chgrp

chgrp perintah hanya mengubah kepemilikan grup file. Ini sama dengan chown : memerintah. Anda dapat menggunakan:

$chown :alan mynotes

atau:

$chgrp alan mynotes

Rekursif

Beberapa argumen tambahan untuk chgrp dapat berguna baik di baris perintah maupun dalam skrip. Sama seperti banyak perintah Linux lainnya, chgrp memiliki argumen rekursif, -R . Anda akan membutuhkan ini untuk beroperasi pada direktori dan isinya secara rekursif, seperti yang akan saya tunjukkan di bawah ini. Saya menambahkan -v (verbose ) argumen jadi chgrp memberi tahu saya apa yang dilakukannya:

$ ls -l . conf
.:
drwxrwxr-x 2 alan alan 4096 Aug  5 15:33 conf

conf:
-rw-rw-r-- 1 alan alan 0 Aug  5 15:33 conf.xml
# chgrp -vR delta conf
changed group of 'conf/conf.xml' from alan to delta
changed group of 'conf' from alan to delta

Referensi

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

File referensi (--reference=RFILE ) dapat digunakan saat mengubah grup pada file agar sesuai dengan konfigurasi tertentu atau saat Anda tidak mengetahui grup tersebut, seperti yang mungkin terjadi saat menjalankan skrip. Anda dapat menduplikasi grup file lain (RFILE ), disebut sebagai file referensi. Misalnya, untuk membatalkan perubahan yang dibuat di atas (ingat bahwa titik [. ] mengacu pada direktori kerja saat ini):

$ chgrp -vR --reference=. conf

Laporkan perubahan

Sebagian besar perintah memiliki argumen untuk mengontrol outputnya. Yang paling umum adalah -v untuk mengaktifkan verbose, dan perintah chgrp memiliki mode verbose. Ia juga memiliki -c (--perubahan ) argumen, yang menginstruksikan chgrp untuk melaporkan hanya jika ada perubahan. Chgrp masih akan melaporkan hal-hal lain, seperti jika suatu operasi tidak diizinkan.

Argumen -f (--diam , --tenang ) digunakan untuk menekan sebagian besar pesan kesalahan. Saya akan menggunakan argumen ini dan -c di bagian berikutnya sehingga hanya akan menampilkan perubahan yang sebenarnya.

Pertahankan root

Akar (/ ) dari sistem file Linux harus diperlakukan dengan sangat hormat. Jika kesalahan perintah dibuat pada level ini, konsekuensinya bisa mengerikan dan membuat sistem tidak berguna sama sekali. Terutama ketika Anda menjalankan perintah rekursif yang akan membuat segala jenis perubahan—atau lebih buruk lagi, penghapusan. Perintah chgrp memiliki argumen yang dapat digunakan untuk melindungi dan melestarikan root. Argumennya adalah --preserve-root . Jika argumen ini digunakan dengan perintah chgrp rekursif di root, tidak akan terjadi apa-apa dan sebuah pesan akan muncul sebagai gantinya:

[root@localhost /]# chgrp -cfR --preserve-root a+w /
chgrp: it is dangerous to operate recursively on '/'
chgrp: use --no-preserve-root to override this failsafe

Opsi tidak berpengaruh jika tidak digunakan bersama dengan rekursif. Namun, jika perintah dijalankan oleh pengguna root, izin / akan berubah, tetapi bukan file atau direktori lain di dalamnya:

[alan@localhost /]$ chgrp -c --preserve-root alan /
chgrp: changing group of '/': Operation not permitted
[root@localhost /]# chgrp -c --preserve-root alan /
changed group of '/' from root to alan

Anehnya, tampaknya, ini bukan argumen default. Opsi --no-preserve-root adalah default. Jika Anda menjalankan perintah di atas tanpa opsi "pertahankan", itu akan default ke mode "tidak ada pemeliharaan" dan mungkin mengubah izin pada file yang tidak boleh diubah:

[alan@localhost /]$ chgrp -cfR alan /
changed group of '/dev/pts/0' from tty to alan
changed group of '/dev/tty2' from tty to alan
changed group of '/var/spool/mail/alan' from mail to alan

Tentang newgrp

newgrp perintah memungkinkan pengguna untuk menimpa grup utama saat ini. newgrp dapat berguna ketika Anda bekerja di direktori di mana semua file harus memiliki kepemilikan grup yang sama. Misalkan Anda memiliki direktori bernama share di server intranet Anda tempat tim yang berbeda menyimpan foto pemasaran. Grup ini berbagi . Saat pengguna yang berbeda menempatkan file ke dalam direktori, grup utama file mungkin menjadi campur aduk. Setiap kali file baru ditambahkan, Anda dapat menjalankan chgrp untuk memperbaiki kesalahan apa pun dengan menyetel grup ke berbagi :

$ cd share
ls -l
-rw-r--r--. 1 alan share 0 Aug  7 15:35 pic13
-rw-r--r--. 1 alan alan 0 Aug  7 15:35 pic1
-rw-r--r--. 1 susan delta 0 Aug  7 15:35 pic2
-rw-r--r--. 1 james gamma 0 Aug  7 15:35 pic3
-rw-rw-r--. 1 bill contract  0 Aug  7 15:36 pic4

Saya membahas setgid mode dalam artikel saya di chmod memerintah. Ini akan menjadi salah satu cara untuk memecahkan masalah ini. Tapi, anggaplah bit setgid tidak disetel karena suatu alasan. Perintah newgrp berguna dalam situasi ini. Sebelum pengguna memasukkan file ke bagikan direktori, mereka dapat menjalankan perintah newgrp share . Tindakan ini akan mengalihkan grup utama mereka ke berbagi jadi semua file yang mereka masukkan ke dalam direktori akan secara otomatis memiliki grup berbagi , bukan grup utama pengguna. Setelah selesai, pengguna dapat beralih kembali ke grup utama reguler mereka dengan (misalnya):

newgrp alan

Kesimpulan

Penting untuk memahami cara mengelola pengguna, grup, dan izin. Sebaiknya Anda juga mengetahui beberapa cara alternatif untuk mengatasi masalah yang mungkin Anda temui karena tidak semua lingkungan disiapkan dengan cara yang sama.


Linux
  1. Tonton perintah dan tugas dengan perintah jam tangan Linux

  2. Pengantar perintah useradd Linux

  3. Pengantar perintah chown Linux

  1. Pengantar perintah alternatif di Linux

  2. Memahami perintah kontrol pekerjaan di Linux – bg, fg dan CTRL+Z

  3. Cara (Benar) Mengubah UID dan GID pengguna/grup di Linux

  1. Inode dan sistem file Linux

  2. Perintah Linux:pekerjaan, bg, dan fg

  3. Contoh Perintah chgrp di Linux