Saya telah memeriksa lebih dari setengah abad pengalaman Unix yang berharga dan baik kolega saya, maupun saya sendiri tidak pernah menetapkan kata sandi pada grup ( sg
dan gpasswd
). Apa yang akan menjadi kasus penggunaan khas untuk kata sandi grup atau apakah itu hanya ada karena alasan historis?
35
Jawaban:
Saya juga belum pernah melihat fitur ini digunakan, bahkan sekali pun. Sebagian besar SA bahkan tidak menyadari bahwa fasilitas ini ada. Dalam melihat halaman manual
gpasswd
ada catatan ini:Kenapa mereka ada
Saya pikir mereka adalah ide alami dalam menirukan model pengguna yang memiliki kata sandi, yang masuk akal untuk menduplikasi yang menggunakan model kasus ke grup juga. Tetapi dalam praktiknya mereka tidak terlalu berguna untuk apa pun.
Gagasan dengan kata sandi grup adalah bahwa jika Anda perlu mendapatkan akses ke grup tertentu (yang Anda tidak terdaftar sebagai anggota), Anda dapat melakukannya dengan menggunakan
newgrp
perintah, dan ditantang dengan kata sandi untuk mendapatkan akses untuk kelompok-kelompok alternatif ini.Masalah besar dengan mereka adalah hanya ada satu kata sandi untuk setiap grup, sehingga memaksa orang untuk membagikan kata sandi ini, ketika banyak orang memerlukan akses ke grup tertentu ini.
Grup
Sebagian besar lingkungan yang saya temui biasanya menempatkan orang dalam grup sekunder, dan kemudian memberikan grup ini akses ke file pada sistem file, dan ini telah memuaskan hampir semua penggunaan yang perlu terjadi.
sudo
Dengan munculnya
sudo
izin tambahan dapat diberikan atas dasar yang diperlukan untuk grup, lebih lanjut merongrong setiap kasus penggunaan yang mungkin diberikan kata sandi grup. Jika Anda perlu memberi izin kepada pengguna lebih banyak, akan lebih mudah untuk membuat peransudo
dan kemudian hanya mengizinkan ada nama pengguna atau grup di mana mereka berada, izin untuk meningkatkan izin di sana sehingga mereka dapat melakukan tugas tertentu.ACL
Akhirnya kemampuan untuk membuat Daftar Kontrol Akses (ACL) benar-benar memberikan sedikit fleksibilitas terakhir yang tidak dapat diberikan oleh model Pengguna / Grup / Lainnya sendirian, menurunkan kemungkinan kebutuhan kata sandi grup menjadi tidak jelas.
sumber
sudo
dan ACL. Saya kiraudev
datang dengan cerita yang serupa, tentu saja dengan fokus pada perangkat. Baca menarik.Berikut ini adalah penggunaan praktis untuk kata sandi grup, yang saya terapkan untuk diri saya sendiri di server kerja kami, karena log menunjukkan akun saya sedang dipaksa (atau bisa jadi serangan kamus).
Saya menggunakan
ssh-keygen
dan denganputtygen
penuh hormat untuk menghasilkan pasangan kunci untuk digunakan dari komputer saya dan komputer di rumah. Kunci yang saya gunakan dari rumah membutuhkan kata sandi. Saya menambahkan kedua kunci publik ke.ssh/authorized_keys
, membuat grupmarionette
dengan kata sandi dan tidak ada anggota. Sebagai root, saya biasavisudo
menambahkan baris berikut.Saya telah menonaktifkan kata sandi akun saya, Anda tidak dapat masuk dengan cara itu. Sekarang saya hanya login dengan kunci saya dan memasuki grup yang dilindungi kata sandi
newgrp marionette
memungkinkan saya untuk menjadi root menggunakansudo -i
.Tanpa
NOPASSWD:
opsi itu akan memerlukan kata sandi akun pengguna Anda . Jika dinonaktifkan dan grup ini tidak memilikiNOPASSWD
, Anda tidak akan bisasudo -i
. Ini juga akan memerlukan kata sandi akun pengguna Anda jika daftar perintah Anda tidak memiliki/bin/bash
atau apa pun shell root Anda gunakan secara default.Meskipun ini membuat jalan menuju sudoing beberapa langkah lebih lama, ini menambah lapisan keamanan yang baik. Jika Anda memilih untuk membuat semua akun Anda seperti ini, buat satu akun lokal dengan kata sandi dan hak istimewa sudo, tetapi tolak ssh dari itu
/etc/ssh/sshd_config
dengan menambahkan sesuatu seperti:Ini diperlukan untuk akses lokal jika Anda menginstal ulang dan lupa untuk membuat cadangan kunci akses Anda.
sumber
sudo
jika Anda menggunakannewgrp
perintah POSIX . tetap saja, jawaban yang sangat bagus.newgrp
) dan "baru" (sudo
) dengan nilai tambah yang jelas. Ini pantas beberapa pujian.Saya belum pernah melihat kasus penggunaan untuk kata sandi itu juga. Dan itu adalah sekitar 20 tahun pengalaman * nix.
Satu-satunya use case yang muncul di pikiran saya adalah untuk mengaturnya menjadi "!" - Terkunci, jadi tidak seorang pun, tidak menjadi anggota kelompok itu dapat mengubahnya dengan
newgrp
perintah.Jika saya melihat / etc / group pada SLES atau / etc / gshadow pada sistem berbasis RedHat, ini sepertinya case-use "tipikal". SLES bahkan tidak repot-repot membuat mekanisme bayangan untuk kata sandi itu.
sumber
newgrp ntp
, bagaimana cara -!
mengunci mengubah itu?!
man newgrp
: Pengguna akan ditolak aksesnya jika kata sandi grup kosong dan pengguna tidak terdaftar sebagai anggota.Izinkan saya menyarankan use case.
Pertama, izinkan saya mengatakan bahwa kita sudah terbiasa dengan istilah "pengguna" sehingga kita bahkan tidak memikirkannya. Tetapi "pengguna" sebenarnya bukan pengguna . Misalnya, di rumah kami memiliki tiga komputer - laptop istri saya, laptop saya, dan komputer desktop umum. Ketika saya menggunakan laptop istri saya, saya masuk dengan akun penggunanya. Ketika Dia menggunakan laptop saya, dia masuk dengan akun pengguna saya. Jika seseorang membutuhkan desktop, ia menggunakan satu akun yang sama. Kita melihat di sini bahwa hal yang oleh sistem komputer disebut "pengguna" bukanlah benar-benar pengguna melainkan alur kerja - serangkaian aktivitas.
Inilah pertanyaannya: Mengapa saya tidak dapat memiliki lebih dari satu aktivitas - satu untuk setiap pekerjaan berbeda yang saya miliki? Saya bisa. Di komputer kerja saya, saya telah membuat (secara eksperimen) banyak pengguna yang berbeda sehingga saya dapat fokus pada tugas saat ini. Saya menempatkan semua pengguna ini dalam grup yang sama sehingga saya dapat mengakses file saya tanpa melihat pengguna mana yang saat ini saya gunakan.
Jadi di mana gpasswd cocok dengan ini?
Perilaku default Ubuntu adalah membuat grup khusus untuk setiap pengguna.
Bagaimana jika kita memutuskan untuk memikirkan grup utama ini sebagai pengguna dan memikirkan pengguna sistem sebagai alur kerja ?
Daripada pengguna baru ini akan membutuhkan kata sandi untuk login, kan? Di sinilah tempat gpasswd. Saya masih perlu mencari cara untuk masuk dengan grup (hingga saat ini yang saya tahu adalah Anda dapat mengganti grup dengan gpasswd jika Anda sudah masuk).
sumber