क्या मैं / etc / group और / etc / passwd फाइलें सॉर्ट कर सकता हूं?


33

/etc/groupनए उपयोगकर्ताओं को जोड़ने के साथ-साथ मेरे अपने उपयोगकर्ता और / या समूह को जोड़ने वाले कार्यक्रमों को स्थापित करके मेरा विकास हुआ है। उसी के लिए सच है /etc/passwd। संरचना की कमी के कारण संपादन अब थोड़ा बोझिल हो गया है।

क्या मैं सिस्टम और / या पैकेज प्रबंधकों पर नकारात्मक प्रभाव के बिना इन फ़ाइलों (जैसे संख्यात्मक आईडी या नाम से वर्णानुक्रम द्वारा) को सॉर्ट कर सकता हूं ?

मुझे लगता है कि कोई फर्क नहीं पड़ता है, लेकिन सिर्फ यह सुनिश्चित करने के लिए कि मैं एक 2 राय प्राप्त करना चाहता हूं। शायद rootपहली पंक्ति या पहली 1k लाइनों या कुछ के भीतर होना चाहिए?

उसी के लिए जाता है /etc/*shadow


7
"संरचना की कमी के कारण संपादन अब थोड़ा बोझिल हो गया है" आप उन फाइलों को हाथ से क्यों संपादित कर रहे हैं?
केविन

फ़ाइल को सॉर्ट करने से संपादन में कैसे मदद मिलती है? क्या यह इसलिए है क्योंकि आप संबंधित खातों को एक साथ समूहित करना चाहते हैं, और फिर पंक्तियों की श्रेणी में समान परिवर्तन करते हैं? लेकिन यदि आप यूआईडी या नाम से संबंधित हैं, तो क्या संबंधित खाता समीप होगा?
बमर

@ बरमार ने मुख्य रूप से मदद की है क्योंकि उपयोगकर्ता खातों को श्रेणियों द्वारा वर्गीकृत किया जाता है और सिस्टम खातों से अलग किया जाता है (जब यूआईडी द्वारा छांटा जाता है)। इसलिए यह आसान है कि उदाहरण के लिए सही लाइन को जांचने या बदलने के लिए रखें vi
नेड 64

जवाबों:


50

आपको ऐसा करना ठीक होना चाहिए : वास्तव में, लेख के अनुसार और दस्तावेज़ीकरण पढ़ने के साथ , आप क्रमशः और यूआईडी / जीआईडी ​​के साथ क्रमबद्ध /etc/passwdऔर कर सकते हैं।/etc/grouppwck -sgrpck -s


3
@ मीनाशेह इस साइट के रंग उतने नहीं हैं जितने अन्य साइटों पर हैं, लेकिन इस जवाब में "ठीक है ऐसा करना" एक हाइपरलिंक है।
hvd

2
ठीक है, ठीक है, लेकिन ... सामान्य तौर पर, मैन्युअल रूप से संपादित करने के लिए वैध कारण हैं / आदि / पासवार्ड और समान फाइलें? क्या इसे उन उपकरणों के माध्यम से एक्सेस करना बेहतर नहीं है जो उन्हें बनाने और संशोधित करने के लिए डिज़ाइन किए गए हैं?
mickeyf_supports_Monica

@mickeyf मैंने लोगों को मैन्युअल रूप से संपादित /etc/passwdकरते हुए देखा है जब वे बैच परिवर्तन कर रहे हैं, जैसे कि चलती / पुनर्गठन (वैश्विक कमरा या फोन नंबर परिवर्तन, आदि) के कारण सभी उपयोगकर्ताओं के लिए GECOS फ़ील्ड को बदलना) यह अब सामान्य नहीं है, लेकिन विशिष्ट हैं समय-समय पर फसल उगाने वाले कारण।
एरिकएफ

44

हालांकि एरिकएफ सही है कि यह आम तौर पर ठीक होना चाहिए, मैं एक संभावित मुद्दे को इंगित करना चाहता हूं:

आपको एक ही UID में अलग-अलग यूज़रनेम को मैप करने की अनुमति है। यदि आप इसका उपयोग करते हैं, तो उपकरण जो एक यूआईडी वापस उपयोगकर्ता नाम के लिए मैप करते हैं, वे आमतौर पर उस यूआईडी में पाए जाने वाले पहले उपयोगकर्ता नाम को चुनेंगे /etc/passwd। छंटनी के कारण पहले प्रकट होने के लिए एक अलग उपयोगकर्ता नाम हो सकता है। प्रदर्शन के उद्देश्यों (उदाहरण के लिए ls -lआउटपुट) के लिए, या तो उपयोगकर्ता नाम काम करना चाहिए, लेकिन यह संभव है कि आपने उपयोगकर्ता नाम से अनुरोध स्वीकार करने के लिए कुछ कार्यक्रम कॉन्फ़िगर किया है, जहां यह उन अनुरोधों को अस्वीकार कर देगा यदि यह उन्हें उपयोगकर्ता नाम बी से आता है, भले ही ए और बी। एक ही उपयोगकर्ता हैं।


धन्यवाद, मुझे पता है कि आप कुछ दशक पहले सोलारिस में tcsh और uid 0 के साथ एक उपयोगकर्ता कर सकते थे। हालांकि, एक लिनक्स सिस्टम इस स्थिति को खुद से नहीं बनाएगा - आपको उस स्थिति के मुद्दों के लिए मैन्युअल रूप से ऐसे उपयोगकर्ता को बनाने की आवश्यकता होगी।
Ned64

2

पहली पंक्ति में रूट होने से वास्तव में "मानक" एक लंबा समय हो गया है और यह बहुत सुविधाजनक है यदि आपको कभी भी समस्या से निपटने या सिस्टम को ठीक करने पर उनके शेल को ठीक करना होगा या पासवर्ड को हटाना होगा।

इसी तरह मैं मध्य और मानक उपयोगकर्ताओं दोनों के अंत में डेमॉन / बर्तन उपयोगकर्ता रखना पसंद करता हूं passwdऔर shadow

hvd उत्तर उपयोगकर्ताओं के आदेश को परेशान करने के बारे में भी बहुत अच्छा है, विशेष रूप से सिस्टम में कई उपयोगकर्ता हाथ से बनाए हुए हैं।

यदि आप कुछ फ़ाइलों को प्रबंधित करने के लिए प्रबंधन करते हैं, उदाहरण के लिए, केवल मानक उपयोगकर्ताओं के लिए, तो यह सभी उपयोगकर्ताओं के क्रम को बदलने की तुलना में अधिक समझदार होगा।


1
यदि आप यूआईडी द्वारा संख्यात्मक रूप से सॉर्ट करते हैं, तो आपको अपना पसंदीदा ऑर्डर मिलना चाहिए। रूट हमेशा होता है 0, और डेमॉन के पारंपरिक रूप से 100 के तहत UID होते हैं।
बरमार

@ बरमार यदि यूआईडी द्वारा छांटा जाता है और नाम से नहीं, वास्तव में, याद रखने के लिए धन्यवाद।
रुई एफ रिबेरो

0

यहाँ कुछ हद तक बालों वाले बैश कोड को समान रूप से छाया / gshadow फ़ाइलों को सुरक्षित रूप से क्रमबद्ध (उपयोग vipw -s/ vigr -s) और कमांड लाइन से इन-प्लेस करने के लिए किया गया है:

EDITOR="/usr/bin/vi -c \"1,\\\$!awk 'BEGIN {FS = \\\":\\\"} FNR==NR {x2[\\\$1] = \\\$0; next} \\\$1 in x2 {print x2[\\\$1]}' - /etc/passwd\" -c \"wq! \" >/dev/null 2>&1" vipw -s

EDITOR="/usr/bin/vi -c \"1,\\\$!awk 'BEGIN {FS = \\\":\\\"} FNR==NR {x2[\\\$1] = \\\$0; next} \\\$1 in x2 {print x2[\\\$1]}' - /etc/group\" -c \"wq! \" >/dev/null 2>&1" vigr -s

ध्यान दें:

  1. vi -cvim एडिटर को कमांड देता है जो वैरिएबल के लिए vipw/ के लिए एडिटर नियुक्त vigrकिया जाता EDITORहै
  2. Awk कोड प्रकार shadowसे passwd(और gshadowद्वारा group)
  3. बैकस्लैश उद्धरण स्तर के अनुरूप आवश्यक पलायन के कई स्तर हैं।
  4. दूसरा कमांड (-c \ "wq! \") बल सॉर्ट की गई फ़ाइल को लिखता और बंद करता है। बल आवश्यक है क्योंकि छाया / gshadow अक्सर मोड 000 (यानी अलिखित) होते हैं। '' के बीच की जगह पर ध्यान दें! और '\' शेल के रूप में व्याख्या को रोकने के लिए आवश्यक है! '
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.