क्या फिर से लॉगिन करने के लिए उपयोगकर्ता / समूह के गुणों को अपडेट करने के लिए लिनक्स में एक तरीका है?


24

जब मैं / etc / group को संपादित करता / करती हूं और मैं एक उपयोगकर्ता को उन समूहों में जोड़ देता हूं जो इसका नहीं था, तो उपयोगकर्ता तब तक इसका उपयोग नहीं कर पाएगा जब तक कि यह एक नया सत्र शुरू नहीं करता।

क्या एक चालू सत्र में उपयोगकर्ता / समूह की संपत्तियों को ताज़ा करने की आज्ञा है?


1
क्या कोई कारण है कि आप फ़ाइल को उपयोग करने के बजाय हाथ से संपादित कर रहे हैं useradd -G groupname username?
बॉबी

4
@ बॉबी: इससे कोई फर्क नहीं पड़ेगा।
niXar

आप इस जवाब को देख सकते हैं ।
पाब्लो ए

जवाबों:


16

कर्नेल स्तर पर, समूह सदस्यता प्रत्येक प्रक्रिया की एक संपत्ति है। जब तक इसकी उपयुक्त क्षमता नहीं है (CAP_SETGID अगर मैं गलत नहीं हूँ), यानी सभी इरादों और उद्देश्यों के लिए रूट विशेषाधिकार, एक प्रक्रिया एक नए समूह से संबंधित नहीं हो सकती।

उपयोगकर्ता कर्नेल स्तर पर एक वस्तु के रूप में मौजूद नहीं है; केवल प्रक्रिया (और फ़ाइलें) करते हैं। एक प्रक्रिया में एक यूआईडी (प्रभावी और व्हाट्सएप) और समूह आईडी की एक सूची होती है।

जब आप किसी उपयोगकर्ता को समूह में जोड़ रहे हैं, तो कर्नेल को पता नहीं है कि इसका क्या मतलब है। यह केवल अप्रत्यक्ष रूप से जानता है, कि अगली बार / बिन / लॉगिन या / usr / बिन / newgrp एक प्रक्रिया है, जिसके साथ उपयोगकर्ता आईडी की सूची में एक नया समूह आईडी होगा।

इसलिए, अपने प्रश्न का उत्तर देने के लिए, यदि आप एक गनोम या केडीई सत्र की बात कर रहे हैं, तो आपको इसे वास्तव में पुनः आरंभ करना होगा। या यदि आप केवल एक कमांड के परिणाम के बारे में परवाह करते हैं जहां तक ​​कि नए समूह का संबंध है, तो आप मेरे द्वारा उल्लिखित newgrp का उपयोग कर सकते हैं। यह नए जोड़े गए समूह के साथ एक नया शेल शुरू करेगा।


5

मैंने पहले पढ़ा है कि newgrp कमांड यह करता है, लेकिन केवल वर्तमान शेल के लिए। वहाँ से बाहर लॉग इन करने और फिर से वापस करने के लिए एक बेहतर विकल्प नहीं लगता है।


3
न्यूग्रैप जो करता है वह वास्तव में एक नया शेल शुरू करता है। इसलिए यदि आप ^ इसमें से D आप अपने पुराने शेल में वापस आ गए हैं। मैं आमतौर पर '
न्यूग्रेप निष्पादित करता हूं
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.