กรณีการใช้งานทั่วไปสำหรับรหัสผ่านกลุ่ม


35

ฉันตรวจสอบประสบการณ์ Unix ที่มีค่ามากกว่าครึ่งศตวรรษและไม่มีเพื่อนร่วมงานของฉันและตัวฉันเองก็ไม่เคยตั้งรหัสผ่านให้กับกลุ่ม ( sgและgpasswd) สิ่งที่จะเป็นกรณีการใช้งานทั่วไปสำหรับรหัสผ่านกลุ่มหรือมันสวยมากเพียงเพราะเหตุผลในอดีต?


4
บางทีฉันควรส่งอีเมลถึงKenเพื่อขอการพิจารณาในช่วงการออกแบบ o)
jippie

คำตอบ:


26

ฉันไม่เคยเห็นคุณลักษณะนี้ใช้เลยแม้แต่ครั้งเดียว SA ส่วนใหญ่ไม่ทราบด้วยซ้ำว่าโรงงานนี้มีอยู่จริง ในการดูหน้า man สำหรับgpasswdมีหมายเหตุนี้:

หมายเหตุเกี่ยวกับรหัสผ่านกลุ่ม

  Group passwords are an inherent security problem since more than one 
  person is permitted to know the password. However, groups are a useful 
  tool for permitting co-operation between different users.

ทำไมพวกเขามีอยู่

ฉันคิดว่าพวกเขาเป็นความคิดตามธรรมชาติในการเลียนแบบรูปแบบของผู้ใช้ที่มีรหัสผ่านซึ่งทำให้รู้สึกถึงการทำซ้ำที่ใช้โมเดลเคสกับกลุ่มเช่นกัน แต่ในทางปฏิบัติพวกมันไม่ได้มีประโยชน์อะไรเลย

แนวคิดด้วยรหัสผ่านกลุ่มคือหากคุณต้องการเข้าถึงกลุ่มเฉพาะ (สิ่งที่คุณไม่ได้อยู่ในรายการในฐานะสมาชิก) คุณสามารถทำได้โดยใช้newgrpคำสั่งและถูกท้าทายด้วยรหัสผ่านเพื่อเข้าถึง ถึงกลุ่มทางเลือกเหล่านี้

ปัญหาใหญ่ของพวกเขาคือมีเพียงรหัสผ่านเดียวสำหรับแต่ละกลุ่มดังนั้นบังคับให้ผู้คนแบ่งปันรหัสผ่านเดียวนี้เมื่อหลายคนต้องการเข้าถึงกลุ่มนี้โดยเฉพาะ

กลุ่ม

สภาพแวดล้อมส่วนใหญ่ที่ฉันเจอมักจะทำให้คนอยู่ในกลุ่มรองจากนั้นให้กลุ่มเหล่านี้สามารถเข้าถึงไฟล์บนระบบไฟล์และสิ่งนี้ก็มีความพึงพอใจต่อการใช้งานทั้งหมดที่เกิดขึ้น

sudo

เมื่อมีการsudoให้สิทธิ์เพิ่มเติมสามารถส่งมอบตามความจำเป็นให้กับกลุ่มได้โดยไม่ จำกัด กรณีการใช้งานใด ๆ ที่อาจมีการให้รหัสผ่านกลุ่ม หากคุณต้องการอนุญาตให้ผู้ใช้มีสิทธิ์มากขึ้นมันจะง่ายกว่ามากในการสร้างบทบาทsudoและจากนั้นอนุญาตให้มีชื่อผู้ใช้หรือกลุ่มที่พวกเขาอยู่ในสิทธิ์ในการยกระดับสิทธิ์ที่มีเพื่อให้พวกเขาสามารถทำงานบางอย่าง

ACL ของ

ในที่สุดความสามารถในการสร้างรายการควบคุมการเข้าถึง (ACLs) ให้ความยืดหยุ่นเล็กน้อยสุดท้ายที่โมเดลสิทธิ์ผู้ใช้ / กลุ่ม / อื่น ๆ ไม่สามารถให้คนเดียวได้ซึ่งจะช่วยลดความต้องการใด ๆ ที่เป็นไปได้สำหรับรหัสผ่านกลุ่ม


คุณพูดถึงsudoและ ACL แล้ว ฉันเดาว่าudevมาพร้อมกับเนื้อเรื่องที่คล้ายกันแน่นอนโดยเน้นไปที่อุปกรณ์ อ่านน่าสนใจ
jippie

11

นี่คือการใช้งานจริงสำหรับรหัสผ่านกลุ่มที่ฉันใช้กับตัวเองในเซิร์ฟเวอร์การทำงานของเราเนื่องจากบันทึกระบุว่าบัญชีของฉันถูกบังคับโดยไม่ใช้ความรุนแรง (หรืออาจเป็นการโจมตีด้วยพจนานุกรม)
ฉันใช้ssh-keygenและputtygenสร้างคู่คีย์เพื่อใช้จากเวิร์กสเตชันและคอมพิวเตอร์ที่บ้าน รหัสที่ใช้จากบ้านต้องใช้รหัสผ่าน ฉันเพิ่มกุญแจสาธารณะทั้งสองไปที่.ssh/authorized_keysสร้างกลุ่มmarionetteด้วยรหัสผ่านและไม่มีสมาชิก ในฐานะที่เป็น root ฉันใช้visudoในการเพิ่มบรรทัดต่อไปนี้

Cmnd_Alias      SUDOING = /bin/bash, /usr/bin/sudo -i
%marionette     ALL=NOPASSWD:SUDOING

ฉันได้ปิดการใช้งานรหัสผ่านบัญชีของฉันคุณไม่มีใครสามารถเข้าสู่ระบบได้ ตอนนี้ฉันเข้าสู่ระบบด้วยกุญแจของฉันและเข้าสู่กลุ่มที่มีการป้องกันด้วยรหัสผ่านเท่านั้นnewgrp marionetteทำให้ฉันสามารถใช้รูตsudo -iได้
โดยไม่ต้องNOPASSWD:ตัวเลือกที่จะต้องของบัญชีผู้ใช้รหัสผ่าน ถ้ามันเป็นความพิการและคนกลุ่มนี้ไม่ได้คุณจะไม่สามารถที่จะNOPASSWD sudo -iนอกจากนี้ยังจะต้องใช้รหัสผ่านบัญชีผู้ใช้ของคุณหากรายการคำสั่งของคุณไม่มี/bin/bashหรืออะไรก็ตามที่รูทของคุณใช้โดยค่าเริ่มต้น

ขณะนี้จะทำให้เส้นทางไป sudoing อีกไม่กี่ก้าวก็เพิ่มความปลอดภัยที่ดี หากคุณเลือกที่จะสร้างบัญชีทั้งหมดของคุณแบบนี้ให้สร้างบัญชี Local หนึ่งบัญชีด้วยรหัสผ่านและสิทธิ์ sudo แต่ปฏิเสธรายการ ssh จาก/etc/ssh/sshd_configโดยเพิ่มสิ่งต่อไปนี้:

DenyUsers root caan
DenyGroups root daleks

นี่เป็นสิ่งจำเป็นสำหรับการเข้าถึงในพื้นที่ในกรณีที่คุณติดตั้งและลืมสำรองข้อมูลคีย์การเข้าถึงของคุณ


คุณสามารถทำได้ดีกว่านี้โดยไม่ต้องsudoใช้newgrpคำสั่งPOSIX แทน ยังคงเป็นคำตอบที่ยอดเยี่ยม
mikeserv

ไม่ใช่คำตอบสำหรับคำถาม แต่เป็นข้อเสนอที่ยอดเยี่ยมสำหรับการใช้งานและการรวมกันของ "เก่า" ( newgrp) และ "ใหม่" ( sudo) ด้วยมูลค่าเพิ่มที่ชัดเจน นี่สมควรได้รับความชื่นชม
เดิร์ค

1

ฉันไม่เคยเห็นกรณีใช้งานสำหรับรหัสผ่านนั้นด้วย และนั่นคือประมาณ 20 ปีของประสบการณ์ * ระวัง

กรณีใช้งานเดียวที่อยู่ในใจของฉันคือตั้งค่าเป็น "!" - ถูกล็อคดังนั้นไม่มีใครที่ไม่ได้เป็นสมาชิกของกลุ่มนั้นสามารถเปลี่ยนได้ด้วยnewgrpคำสั่ง

ถ้าฉันดู / etc / group บน SLES หรือ / etc / gshadow บนระบบที่ใช้ RedHat สิ่งนี้น่าจะเป็นกรณีการใช้งาน "ทั่วไป" SLES ไม่ได้สนใจที่จะสร้างกลไกเงาสำหรับรหัสผ่านนั้น


ไม่แน่ใจคุณหมายถึงอะไร. เช่น. ฉันทำไม่ได้newgrp ntpอยู่แล้วการ!ล็อคการเปลี่ยนแปลงทำได้อย่างไร
jippie

@jippie - ฟิลด์รหัสผ่านสำหรับ ntp บนระบบของคุณคืออะไร? หากเป็นรหัสผ่านที่เดาง่ายคุณจะสามารถทำ newgrp ntp ได้ ด้วย! คุณไม่สามารถ
นิลส์

นั่นเป็นเพียงตัวอย่างมันมี 'x' และไม่มีสมาชิกกลุ่มอื่นนอกจากผู้ใช้ ntp เอง ฉันไม่ได้รับปัญหาใด ๆ ที่คุณกำลังแก้ไขโดยการตั้งค่าฟิลด์รหัสผ่านเป็น!
jippie

2
จากman newgrp: ผู้ใช้จะถูกปฏิเสธการเข้าถึงหากรหัสผ่านกลุ่มว่างเปล่าและผู้ใช้ไม่อยู่ในรายการในฐานะสมาชิก
user2387

0

ฉันขอแนะนำกรณีการใช้งาน

ก่อนอื่นให้ฉันบอกว่าเราคุ้นเคยกับคำว่า "ผู้ใช้" จนเราไม่ได้คิดถึงมัน แต่ "ผู้ใช้" ไม่ได้จริงๆใช้ ตัวอย่างเช่นที่บ้านเรามีคอมพิวเตอร์สามเครื่อง - แล็ปท็อปของภรรยาของฉันแล็ปท็อปของฉันและคอมพิวเตอร์ตั้งโต๊ะทั่วไป เมื่อฉันใช้แล็ปท็อปของภรรยาของฉันฉันเข้าสู่ระบบด้วยบัญชีผู้ใช้ของเธอ เมื่อเธอใช้แล็ปท็อปของฉันเธอลงชื่อเข้าใช้ด้วยบัญชีผู้ใช้ของฉัน หากใครต้องการเดสก์ท็อปเขาหรือเธอจะใช้บัญชีทั่วไปหนึ่งบัญชี เราเห็นที่นี่ว่าสิ่งที่ระบบคอมพิวเตอร์เรียกว่า "ผู้ใช้" ไม่ใช่ผู้ใช้จริงๆแต่เป็นเวิร์กโฟลว์ - ชุดของกิจกรรม

นี่คือคำถาม: ทำไมฉันไม่สามารถมีมากกว่าหนึ่งกิจกรรม - กิจกรรมหนึ่งสำหรับงานที่แตกต่างกันทุกอย่างที่ฉันมี ฉันสามารถ. ที่คอมพิวเตอร์ในที่ทำงานของฉันฉันได้สร้าง (ทดลอง) ผู้ใช้หลายคนเพื่อให้ฉันสามารถมุ่งเน้นไปที่งานปัจจุบัน ฉันกำหนดให้ผู้ใช้เหล่านี้ทั้งหมดอยู่ในกลุ่มเดียวกันดังนั้นฉันจึงสามารถเข้าถึงไฟล์ของฉันได้ไม่ว่าจะเป็นผู้ใช้ที่ฉันกำลังใช้อยู่

ดังนั้น gpasswd ตรงไหนในนี้

พฤติกรรมเริ่มต้นของ Ubuntu คือการสร้างกลุ่มพิเศษสำหรับผู้ใช้ทุกคน

เกิดอะไรขึ้นถ้าเราตัดสินใจที่จะคิดเกี่ยวกับกลุ่มหลักเหล่านี้เป็นผู้ใช้และคิดเกี่ยวกับผู้ใช้ระบบเป็นขั้นตอนการทำงาน ?

ผู้ใช้ใหม่เหล่านี้จะต้องใช้รหัสผ่านในการเข้าสู่ระบบใช่ไหม นี่คือสถานที่ของ gpasswd ฉันยังต้องคิดหาวิธีการเข้าสู่ระบบกับกลุ่ม (จนถึงจุดนี้สิ่งที่ฉันรู้คือคุณสามารถสลับกลุ่มด้วย gpasswd หากคุณเข้าสู่ระบบแล้ว)


รหัสผ่านกลุ่มเป็นจุดรวมของคำถามนี้ซึ่งคุณยังไม่ได้ตอบ
Jeff Schaller

จากมุมมองด้านความปลอดภัยและความรับผิดชอบซึ่งเป็นเรื่องธรรมดาในไอทีการใช้บัญชีผู้ใช้ของผู้อื่นนั้นไม่สามารถยอมรับได้ แม้ว่ามันอาจใช้งานได้กับสถานการณ์ที่บ้านของคุณ แต่มันก็เป็นวิธีปฏิบัติที่ไม่ดีสำหรับสภาพแวดล้อมขององค์กร
jippie
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.