Cara mendaftarkan semua pengguna dalam grup di Linux

Fatmawati Ahmad zaenuri / Shutterstock.com

Di Linux, file memiliki tiga set izin. Satu set file. Sebelum menetapkan file ke grup, Anda harus memeriksa anggota grup.

Izin file dan direktori

File dan direktori di Linux memiliki satu set izin untuk pemiliknya, satu set berbeda untuk grup tempat file ditetapkan, dan izin untuk siapa saja yang tidak termasuk dalam salah satu dari dua kategori di atas.

Setiap grup izin menentukan apakah anggota kelas tersebut dapat membaca, menulis, atau mengeksekusi file. Dalam kasus manual, tindakan eksekusi adalah keterampilan cd ke direktori.

Grup default untuk file atau direktori adalah grup default pemilik. Biasanya ini adalah orang yang membuatnya. Izin grup digunakan untuk memberi sekelompok pengguna kontrol atas akses ke file dan direktori anggota lain dari grup itu.

Misalnya, Anda dapat memiliki tim pengembangan, tim dokumentasi, tim peneliti, dll. Anggota dari setiap tim dapat ditambahkan ke grup dengan nama yang tepat untuk mendorong kolaborasi. Pengguna dapat menjadi bagian dari beberapa grup sekaligus.

Ini adalah skema yang sederhana namun kuat. Tetapi jika file Anda bersifat rahasia, Anda mungkin akan dengan senang hati memverifikasi identitas anggota grup sebelum membagikan pekerjaan Anda dengan mereka. Ada kemungkinan yang berbeda. Tapi hati-hati. Dua metode yang paling direkomendasikan bermasalah.

terkait: Cara menggunakan perintah chgrp di Linux

File / etc / grup

File /etc/group berisi dua titik”:Daftar band dan anggota band terbatas. Setiap baris berisi empat bidang.

  • nama keluarga: Nama unik grup.
  • Kata sandi: tidak terpakai. Ini selalu berisi “x”.
  • identitas grup: Pengidentifikasi unik untuk grup.
  • pengguna: Daftar anggota grup dipisahkan dengan koma. Daftar biasanya kosong untuk akun sistem dan daemon.

Untuk melihat konten file di jendela terminal, Anda dapat menggunakan catTetapi lebih nyaman untuk dapat meneruskan isi file menggunakan less.

less /etc/group

Sebagian besar entri di bagian atas daftar tidak memiliki anggota, meskipun grup penerimaan memiliki dua dan grup CD memiliki satu.

Jika kami ingin mengetahui grup mana yang dimiliki pengguna tertentu, kami dapat menggunakan ini grep Untuk mencari entri berdasarkan nama akun pengguna mereka. Ini bukan pekerjaan kami. Kami ingin melihat semua anggota grup, bukan grup milik orang tersebut. Tapi ada baiknya kita melihatnya.

grep "dave" /etc/group

Entri yang berisi string “Dave” terdaftar untuk kami. Dan apa yang ada di antaranya adalah tanda bahwa segala sesuatunya mungkin tidak semudah yang kita pikirkan.

Saat menambahkan pengguna ke Linux, tindakan default adalah menempatkan mereka dalam grup dengan nama yang sama dengan akun pengguna mereka. dia adalah utama tape. Semua grup lain tempat mereka ditambahkan akan dipanggil sekunder kelompok.

Masalahnya adalah pengguna tidak terdaftar sebagai anggota Kelompok utama mereka. Oleh karena itu, grup “Dave” tidak menampilkan anggota, meskipun pengguna “Dave” adalah anggota grup tersebut.

Tentu saja, administrator sistem dapat mengubah grup dasar pengguna apa pun ke grup lain mana pun. Ini berarti bahwa pengguna dapat menjadi anggota grup mana pun, tetapi mereka tidak akan terdaftar seperti itu di file /etc/group. itu masalah.

Masalah kedua adalah bahwa file /etc/group bukanlah satu-satunya sumber kebenaran. Instalasi Linux modern dapat menyimpan informasi pengguna dan grup di lebih banyak lokasi daripada /etc/passwd dan /etc/group, terutama dalam situasi perusahaan di mana layanan seperti Protokol dan Direktori Akses Ringan disediakan. Jika Anda hanya melihat satu tempat, Anda mungkin tidak melihat gambaran besarnya.

Dalam kasus pengujian kami, kami membuat empat grup untuk departemen pengembangan. Kamu adalah:

  • vape lagi: tim peneliti.
  • tim pengembangan: tim pengembangan.
  • tim pvqTim pengujian produk dan kualitas.
  • dokterTim dokumentasi.

Kami telah menambahkan orang ke tim ini. Beberapa orang berada di lebih dari satu tim. Jika kita membuka file /etc/group dalam format less Menggulir ke bagian bawah file, kita melihat grup dan anggota grup baru. Setidaknya jumlah anggota yang diketahui file “/etc/group”.

Jika kami ingin mengekstrak satu grup, kami dapat mencari dengan grep. Peduli”^Mewakili awal baris.

grep "^devteam" /etc/group

Ini akan mengekstrak entri ‘devteam’ dari file dan mencantumkan semua anggota grup. dimana dia?

getent .command

ini getent Ini memeriksa beberapa database untuk informasi grup pengguna, bukan hanya /etc/group. kita akan menggunakan getent Untuk menunjukkan kepada kami grup pengguna.

getent group

menggunakan getent dengan group Opsi – pada mesin uji ini – menghasilkan hasil yang sama seperti menggunakan /etc/group. Ini karena kami tidak menggunakan LDAP atau layanan yang berpusat pada nama lainnya. Jadi tidak ada sumber lain untuk getent mendapatkan.

Jadi tidak mengherankan jika hasilnya cocok dengan /etc/group. Mungkin yang benar-benar kita lihat adalah kenyataan dari situasi tersebut. Mungkin semuanya sederhana – dan di komputer ini – apa yang Anda lihat adalah apa yang Anda dapatkan? Kami menyimpan penilaian kami dalam hal ini.

ini getent Komando dapat memantau satu kelompok dari kita. Kami menganggap grup “devteam”.

getent group devteam

Kami mendapatkan hasil yang sama persis seperti sebelumnya. Namun, ada cara untuk menggali lebih dalam.

terkait: Cara mendaftarkan pengguna di Linux

kontrol tutup

ini lid Itu bagian dari libuser seperangkat alat. Itu sudah diinstal pada mesin uji Fedora 36 kami, tetapi perlu diinstal pada mesin Ubuntu 22.04 dan Manjaro 21.

Selain itu, perintahnya disebut lid Di Fedora dan Manjaro, tetapi Anda harus menggunakan Ubuntu libuser-lid.

Untuk menginstal perintah di Ubuntu, ketik:

sudo apt install libuser

di Manjaro, libuser Itu diinstal oleh AUR, jadi Anda harus menggunakan asisten AUR favorit Anda. Kami pernah yay.

yay libuser

Kamu dapat memakai libuser-lid Menampilkan informasi tentang grup atau pengguna. Untuk melihat grup milik seseorang, berikan nama akun pengguna mereka di baris perintah. Ingatlah untuk menggunakan Fedora dan Manjaro lid dari pada libuser-lid.

sudo libuser-lib dave

Untuk melihat anggota grup, gunakan file -g (grup) Atas nama grup.

sudo libuser-lid -g devteam

Nah, seorang pengguna bernama “Francis” telah muncul sebagai anggota daftar. Ini pertama kalinya kami melihatnya. Itu tidak termasuk dalam /etc/group dan getent Saya juga tidak menemukannya.

Mari kita lihat beberapa pengguna dengan groups Memerintah.

groups abigail
groups hayden
groups francis

  • Pengguna “Abigail” termasuk dalam grup yang disebut “Abigail” dan dua grup lainnya adalah “Rustom” dan “Tim Pengembang”.
  • Pengguna “hayden” berada dalam grup yang disebut “hayden” dan dua grup lainnya, “pvqteam” dan “decteam”.
  • pengguna francis dalam satu grup, grup devteam. Sungguh luar biasa bahwa mereka Tidak Dalam kelompok yang disebut “Francis”.

Kita tahu bahwa setiap pengguna harus menjadi anggota grup utama, dan secara default grup utama memiliki ID dan nama yang cocok dengan ID pengguna dan nama akun. Dengan pengguna Francis, sesuatu tampaknya berbeda.

Mari kita gunakan id Perintah dan lihat apa yang UID dan GID katakan kepada kami.

id abigail
id francis

Untuk pengguna “Abigail” uid 1002 dan gid 1002. Ini dibagi menjadi tiga kelompok, salah satunya disebut “Abigail”. Ini memiliki 1002 GID. itu milikmu Semula kelompok utama.

Pengguna “francis” memiliki GID 1019, yang cocok dengan GID grup “devteam”. Pengguna ini diberi grup utama baru atau grup tim pengembangan ditetapkan sebagai grup utama saat pengguna ini ditambahkan ke sistem.

Yang mana saja libuser-lid Temukan mereka dan laporkan kehadiran mereka di grup “devteam”.

Kejahatan ada dalam detailnya

Jadi, penting untuk melihat detail sebenarnya.

Grup adalah cara yang bagus untuk menyiapkan kolaborasi, selama Anda tahu dengan siapa Anda membukanya.

terkait: Cara mengubah data pengguna menggunakan chfn dan usermod di Linux

Baca Juga!

Game Peringkat Unicorn •

Selamat hari minggu anakku Kutu buku pemula. Hari ini kita akan berbicara tentang risiko yang …