मेल स्पूल बनाए बिना useradd के साथ linux अकाउंट कैसे बनाएं


11

सारांश

क्या मैं मेल स्पूल बनाए बिना और संशोधन के बिना एक नया उपयोगकर्ता बना सकता हूं /etc/default/useradd?

explaination

मैं एक उपयोगकर्ता बनाना चाहता हूं जिसमें एक होम डायरेक्टरी और कंकाल है, लेकिन मैं नहीं चाहता कि useraddस्क्रिप्ट यूनिक्स सिस्टम में एक मेल स्पूल फ़ाइल जोड़ें।

मेरी /etc/default/useraddफाइल बताती है कि

CREATE_MAIL_SPOOL=yes

लेकिन मैं डिफ़ॉल्ट व्यवहार को संशोधित नहीं करना चाहता।

अभी के लिए मैं उपयोग कर रहा हूँ

useradd nomailuser
rm /var/spool/mail/nomailuser

इसके अलावा मुझे भी पता है -dलेकिन ऐसा लगता है कि मुझे मेल स्पूल नहीं बनाने का विकल्प नहीं मिल रहा है ।

मैं सोच रहा हूँ कि कस्टम /etc/default/useraddफ़ाइल का उपयोग करने का एक विकल्प है ।

जवाबों:


9

man useradd

   -K, --key KEY=VALUE
       Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and others).

       Example: -K PASS_MAX_DAYS=-1 can be used when creating system account to turn off password ageing, even though
       system account has no password at all. Multiple -K options can be specified, e.g.: -K UID_MIN=100 -K UID_MAX=499

तो, यह प्रयास करें:

# useradd -K MAIL_DIR=/dev/null nomailuser

एक चेतावनी दिखाई देगी ( मेलबॉक्स फ़ाइल बनाना: निर्देशिका नहीं ), लेकिन आप अनदेखा कर सकते हैं।


धन्यवाद, एक आकर्षण के रूप में काम करता है। क्या कोई विशिष्ट कारण है जो -K CREATE_MAIL_SPOOL=noबिल्कुल भी काम नहीं करता है?
दिनेशेव ११'११

1
क्योंकि यह नहीं है /etc/login.defs
क्वांटा

@quanta, क्योंकि -K MAIL_DIR=/dev/nullमुझे एक त्रुटि मिली:Creating mailbox file: Not a directory
किर्बी

@drinchev, क्योंकि -K CREATE_MAIL_SPOOL=noमुझे एक त्रुटि मिली है configuration error - unknown item 'CREATE_MAIL_SPOOL' (notify administrator)
किर्बी

मुझे किर्बी के समान परिणाम मिला ... मैं इसे एक अल्पाइन echo "CREATE_MAIL_SPOOL no" >> /etc/default/useradd
डॉकटर

5

मैं अल्पाइन और छाया पैकेज के साथ एक डॉकर छवि स्थापित कर रहा हूं और वही त्रुटि मिली।

इस "मेलबॉक्स फ़ाइल बनाना: ऐसी कोई फ़ाइल या निर्देशिका नहीं" से बचने के लिए, मुझे उपयोगकर्ता को जोड़ने का प्रयास करने से पहले निम्न इनलाइन प्रतिस्थापन जोड़ना पड़ा:

RUN sed -i 's/^CREATE_MAIL_SPOOL=yes/CREATE_MAIL_SPOOL=no/' /etc/default/useradd

यह एक डॉकरीफाइल निर्देश है । यदि आप पहले से ही चल रहे होस्ट के साथ संघर्ष कर रहे हैं, तो बस / etc / default / useradd फ़ाइल को संपादित करें और तदनुसार सेटिंग बदलें। यह परिवर्तन किसी भी अन्य उपयोगकर्ता निर्माण को अपना मेलबॉक्स बनाने से रोक देगा।
यह वांछित व्यवहार नहीं है, आप केवल / var / मेल फ़ोल्डर के साथ बना सकते हैं

[ -d /var/mail ] || mkdir /var/mail

या डॉकरफाइल में:

RUN mkdir /var/mail 

आशा है कि इससे मदद मिली।


3

अजीब तरह से पर्याप्त है, जवाब नहीं है। मैं सिर्फ सोर्सकोड पढ़ता हूं और इसके लिए कोई विकल्प नहीं है, हालांकि वर्कअराउंड (क्रमबद्ध) है: सिस्टम खातों के लिए मेलडायर नहीं मिलते हैं।

तो आप कर सकते हैं useradd -r -m। आपको UID / GID को मैन्युअल रूप से निर्दिष्ट करना होगा, यद्यपि वे विभिन्न श्रेणियों से चुने गए हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.