useradd
आप यह नियंत्रित कर सकते हैं कि --expiredate
विकल्प के उपयोग के माध्यम से उपयोगकर्ता का खाता कब तक वैध है useradd
।
useradd
मैन पेज से अंश
-e, --expiredate EXPIRE_DATE
The date on which the user account will be disabled. The date is
specified in the format YYYY-MM-DD.
If not specified, useradd will use the default expiry date specified
by the EXPIRE variable in /etc/default/useradd, or an empty string
(no expiry) by default.
इसलिए उपयोगकर्ता के खाते की स्थापना करते समय आप भविष्य में अब से +30 दिन की तारीख निर्दिष्ट कर सकते हैं, और useradd
उनके खातों को सेट करते समय अपने आदेश में जोड़ सकते हैं।
$ useradd -e 2013-07-30 someuser
chage
आप chage
कमांड का उपयोग करके मौजूदा खातों की तारीख भी बदल सकते हैं । खाता समाप्ति तिथि बदलने के लिए आप निम्नलिखित कार्य करेंगे:
$ chage -E 2013-08-30 someuser
अब से +30 दिन की तारीख की गणना
ऐसा करने के लिए वास्तव में date
आदेश का उपयोग कर बहुत तुच्छ है । उदाहरण के लिए:
$ date -d "30 days"
Sun Jul 28 01:03:05 EDT 2013
आप कमांड के +FORMAT
विकल्पों का उपयोग करके प्रारूपित कर सकते हैं date
, जो आपको निम्नलिखित जानकारी देता है:
$ date -d "30 days" +"%Y-%m-%d"
2013-05-28
यह सब एक साथ डालें
तो उपरोक्त टुकड़ों को जानते हुए, इसे एक साथ रखने का एक तरीका है। खाता बनाते समय सबसे पहले आप यह कमांड चलाएंगे:
$ useradd -e `date -d "30 days" +"%Y-%m-%d"` someuser
फिर जब आप अपनी समाप्ति तिथि समायोजित करना चाहते हैं तो आप समय-समय पर इस कमांड को चलाएंगे:
$ chage -E `date -d "30 days" +"%Y-%m-%d"` someuser
24h से कम की समयावधि निर्दिष्ट करना
यदि आप चाहते हैं कि कोई उपयोगकर्ता केवल कुछ मिनटों के लिए सक्रिय हो, तो आप उपरोक्त विकल्पों का उपयोग नहीं कर सकते क्योंकि उन्हें एक तिथि निर्दिष्ट करने की आवश्यकता होती है। उस स्थिति में, आप या तो crontab
निर्दिष्ट समय (उदाहरण के लिए, 10 मिनट) के बाद निर्मित उपयोगकर्ता को हटाने / लॉक करने के लिए सेट कर सकते हैं, या आप इनमें से एक कर सकते हैं:
adduser someuser && sleep 600 && usermod --lock someuser
या
$ adduser someuser
$ echo usermod --lock someuser | at now + 10 minutes
संदर्भ