หลังจากที่ฉันแก้ไข / etc / group และฉันเพิ่มผู้ใช้ในกลุ่มที่ไม่ได้เป็นสมาชิกผู้ใช้จะไม่สามารถใช้สิทธิ์พิเศษที่ได้มาใหม่เว้นแต่จะเริ่มเซสชันใหม่
มีคำสั่งให้รีเฟรชคุณสมบัติผู้ใช้ / กลุ่มในเซสชันต่อเนื่องหรือไม่?
หลังจากที่ฉันแก้ไข / etc / group และฉันเพิ่มผู้ใช้ในกลุ่มที่ไม่ได้เป็นสมาชิกผู้ใช้จะไม่สามารถใช้สิทธิ์พิเศษที่ได้มาใหม่เว้นแต่จะเริ่มเซสชันใหม่
มีคำสั่งให้รีเฟรชคุณสมบัติผู้ใช้ / กลุ่มในเซสชันต่อเนื่องหรือไม่?
คำตอบ:
ในระดับเคอร์เนลการเป็นสมาชิกกลุ่มเป็นคุณสมบัติของแต่ละกระบวนการ ยกเว้นว่ามันมีความสามารถที่เหมาะสม (CAP_SETGID หากฉันไม่ผิดพลาด) นั่นคือสิทธิ์พิเศษสำหรับทุกเจตนาและทุกวัตถุประสงค์กระบวนการไม่สามารถอยู่ในกลุ่มใหม่ได้
ผู้ใช้ไม่มีอยู่เป็นวัตถุในระดับเคอร์เนล กระบวนการเท่านั้น (และไฟล์) ทำ กระบวนการมี uid (มีผลบังคับใช้และ whatnot) และรายการรหัสกลุ่ม
เมื่อคุณเพิ่มผู้ใช้ในกลุ่มเคอร์เนลไม่ทราบว่ามันหมายถึงอะไร มันรู้เพียงทางอ้อมว่าครั้งถัดไป / bin / เข้าสู่ระบบหรือ / usr / bin / newgrp จะเรียกใช้กระบวนการที่มี ID ผู้ใช้นั้นจะมีรหัสกลุ่มใหม่ในรายการ
ดังนั้นเพื่อตอบคำถามของคุณหากคุณกำลังพูดถึงเซสชัน Gnome หรือ KDE คุณต้องเริ่มต้นใหม่แน่นอน หรือถ้าคุณสนใจเฉพาะผลลัพธ์ของคำสั่งเดียวเท่าที่กลุ่มใหม่นั้นเกี่ยวข้องคุณสามารถใช้ newgrp ที่ฉันเพิ่งพูดถึง มันจะเริ่มเชลล์ใหม่ด้วยกลุ่มที่เพิ่งเพิ่มเข้าไป
useradd -G groupname username
ใช่ไหม