उबंटू <= 11.10 उपयोगकर्ता उबंटू के इस गाइड का अनुसरण करते हैं> = 11.10 नीचे पृष्ठ की सूचना पढ़ें:
हाँ, वे सभी कार्यक्रम पुराने हैं और आपके सभी प्रश्नों का उत्तर यहाँ दिया गया है और आपके माता-पिता के नियंत्रण के साथ अच्छे लग रहे हैं ....।
जब हम एक उपयोगकर्ता को लॉग ऑफ करने के लिए मजबूर करने के बारे में बात करते हैं, तो हम वास्तव में जिस चीज के बारे में बात कर रहे हैं, वह सिस्टम एक्सेस या सेवाओं के लिए खाते पर समय प्रतिबंधों को लागू कर रहा है। समय के प्रतिबंधों को लागू करने का सबसे आसान तरीका है कि मैं लिनक्स-पीएएम नामक प्लग-इन मॉड्यूल का उपयोग कर रहा हूं ।
प्लग करने योग्य प्रमाणीकरण मॉड्यूल (PAM) उपयोगकर्ताओं को प्रमाणित करने के लिए एक तंत्र है। विशेष रूप से, हम pam_time
सेवाओं के लिए उपयोगकर्ताओं के लिए समयबद्ध पहुंच को नियंत्रित करने के लिए मॉड्यूल का उपयोग करने जा रहे हैं ।
pam_time
मॉड्यूल का उपयोग करते हुए , हम दिन के विभिन्न समयों के साथ-साथ विशिष्ट दिनों या विभिन्न टर्मिनल लाइनों पर एक सिस्टम और / या विशिष्ट अनुप्रयोगों तक पहुंच प्रतिबंध लगा सकते हैं। कॉन्फ़िगरेशन के आधार पर, आप इस मॉड्यूल का उपयोग अपने नाम, दिन के समय, सप्ताह के दिन, जिस सेवा के लिए आवेदन कर रहे हैं, उसके आधार पर व्यक्तिगत उपयोगकर्ताओं तक पहुँच को अस्वीकार करने के लिए कर सकते हैं और उनके टर्मिनल जहाँ से वे अनुरोध कर रहे हैं। ।
उपयोग करते समय pam_time
, आपको /etc/security/time.conf
नई पंक्ति के साथ फ़ाइल में प्रत्येक पंक्ति (या नियम) के वाक्यविन्यास को समाप्त करना होगा । आप पाउंड साइन [#] के साथ प्रत्येक लाइन पर टिप्पणी कर सकते हैं, और सिस्टम उस टेक्स्ट को न्यूलाइन तक अनदेखा कर देगा।
यहाँ एक नियम के लिए वाक्यविन्यास है:
सेवाओं, ttys; उपयोगकर्ताओं; बार
The first field — services — is a logic list of PAM service names.
The second field — tty — is a logic list of terminal names.
The third field — users — is a logic list of users or a netgroup of users.
The fourth field — times — indicates the applicable times.
यहाँ नियमों के एक विशिष्ट सेट का एक उदाहरण दिया गया है:
login ; * ; !bobby ; MoTuWeThFr0800-2000
login ; * ; !root ; !Al0000-2400
http ; * ; !bobby ; MoTuWeThFr0800-2000
http ; * ; !root; !Al0000-2400
ये नियम 0800 और 2000 के घंटों के बीच उपयोगकर्ता की लॉबी को लॉग इन करने से प्रतिबंधित करते हैं, और वे इन घंटों के दौरान इंटरनेट का उपयोग भी प्रतिबंधित करते हैं। रूट किसी भी समय लॉगऑन करने में सक्षम होगा और साथ ही साथ हर समय इंटरनेट ब्राउज़ करेगा।
नोट: प्रणाली इन नियमों के साथ त्रुटियों को लॉग इन करती है (3)।
उबंटू लिनक्स के साथ, आपके कंप्यूटर समय प्रतिबंधों को असाइन करना संभव है, आपके सिस्टम में एक या अधिक उपयोगकर्ताओं के कनेक्शन को रोकने के लिए। समय के प्रतिबंध के साथ, आप, उदाहरण के लिए, अपने बच्चों के लिए कंप्यूटर तक पहुंच सीमित कर सकते हैं (एक प्रकार का अभिभावक नियंत्रण, संक्षेप में) , या यहां तक कि कुछ घंटों के दौरान अपने सर्वर से कनेक्शन की रक्षा करें।
मैनुअल कॉन्फ़िगरेशन
समझें कि आप क्या करेंगे
इस ट्यूटोरियल के दौरान, हम PAM (प्लगगेज ऑथेंटिकेशन मॉड्यूल्स, इंग्लिश प्लगएबल ऑथेंटिकेशन मॉड्यूल्स) का उपयोग करेंगे। यह आपको कनेक्ट होने पर उपयोगकर्ता प्रमाणीकरण को नियंत्रित करने की अनुमति देता है। फिर, हम लॉगऑन घंटे की अनुमति देने के लिए सुरक्षा कॉन्फ़िगरेशन फ़ाइलों का उपयोग करेंगे। इन जोड़तोड़ों को उबंटू के किसी भी संस्करण पर किया जा सकता है, और इसके लिए केवल एक साधारण पाठ संपादक (vim, emacs, nano, gedit, kate, कुछ नाम रखने की आवश्यकता होती है) की आवश्यकता होती है। PAM मॉड्यूल के माध्यम से प्रतिबंध घंटे सक्षम करें
सबसे पहले, सबसे पहले जाएं /etc/pam.d/
, जहां सभी कॉन्फ़िगर करने योग्य सेवाएं हैं:
$ Ls /etc/pam.d/
atd common-account common-session gdm login ppp sudo
chfn common-auth cron gdm-autologin Other samba
chsh common-cupsys gnome-screensaver password passwd su
अगर हम कंप्यूटर से कनेक्शन ब्लॉक करना चाहते हैं, तो हमें जीडीएम सेवा को बदलना होगा। फ़ाइल को इतना gdm संपादित करें और कोड की इस पंक्ति को जोड़ें (फ़ाइल के अंत में):
account required pam_time.so
GDM लॉगिन स्क्रीन वितरण उबंटू, एडुबंटू और जुबांटु है। कुबंटु के लिए, जो केडीई का उपयोग करता है, केडीएम सेवा को कहा जाता है, यह वह फ़ाइल होगी जो इसे खोलेगी। और आप PAM को कॉन्फ़िगर करने के लिए कर रहे हैं! यह इस सेवा पर घंटों का नियंत्रण सक्षम करेगा।
यदि आपके पास सर्वर है, तो आपके पास कोई GUI नहीं है। इस स्थिति में, जीडीएम / केडीएम स्थापित नहीं है और कनेक्शन अवरुद्ध नहीं होगा। TTY से कनेक्शन को रोकने के लिए, आपको उसी फ़ाइल के लॉगिन को संशोधित करना होगा, और पहले से स्वीकार किए गए कोड की समान पंक्ति को जोड़ना होगा। यह क्रिया उन लोगों पर भी लागू होती है जिन्होंने एक GUI स्थापित किया है और लॉगिन स्क्रीन और टर्मिनलों तक पहुंच को अवरुद्ध करना चाहते हैं।
एक्सेस घंटे कॉन्फ़िगर करें
अब जब PAM सेवा सक्रिय हो गई है, तो हमें केवल एक्सेस समय कॉन्फ़िगर करना होगा। खोलें /etc/security
। कई विन्यास फाइल उपलब्ध हैं:
$ Ls /etc/security/
access.conf namespace.conf pam_env.conf
group.conf namespace.init time.conf
limits.conf opasswd time.conf.bak
फ़ाइल को संपादित करें time.conf
। कुछ व्याख्याएं और उदाहरण (अंग्रेजी)। एक्सेस शेड्यूल सेट करने के लिए, कोड की निम्न पंक्ति को कॉपी और पेस्ट करें (फ़ाइल के अंत में, हमेशा की तरह):
*;*;user;scheduler
उपयोगकर्ता फ़ील्ड के बजाय, लॉगिन खाता दर्ज करें जिसे आप ब्लॉक करना चाहते हैं।
यदि आप कई उपयोगकर्ताओं को ब्लॉक करना चाहते हैं, तो उनके लॉगिन को एक पंक्ति में दर्ज करें, जिसे अलग किया गया है | ऑपरेटर। उदाहरण के लिए, अगर मैं पैट्रिक, जॉन और एमिली के खातों को फ्रीज करना चाहता हूं:
*;*;Patrick|jean|emilie;scheduler
यदि आप सभी उपयोगकर्ताओं के लिए सिस्टम तक पहुँच को रोकना चाहते हैं, तो विशेष रूप से उपयोग करें! संबंधित व्यक्ति से पहले। उदाहरण के लिए, यदि मैं चाहता हूं कि निकोलस और जेवियर को छोड़कर सभी उपयोगकर्ताओं के लिए कंप्यूटर तक पहुंच से इनकार कर दिया जाए:
Nicolas *;*;!|xavier;scheduler
अब फील्ड जोन में बदल रहे हैं। इस क्षेत्र में कि दिन और घंटों का चयन कनेक्शन को संभव करने की अनुमति देगा। आपको निम्नलिखित संक्षिप्ताक्षरों का उपयोग करते हुए पहले सप्ताह के दिन को निर्दिष्ट करना होगा:
Mo : Monday Fr : Friday Wd : Sa/Su
Tu : Tuesday Sa : Saturday wk : Mo/Tu/We/Th/Fr
We : Wenesday Su : Sunday
Th : Thursday Al : All Days
Wk और Wd भ्रामक हैं संक्षिप्ताक्षर भ्रमित न करें! विशेष रूप से इंटरनेट पर खराब पहचान: आप आसानी से परस्पर विरोधी जानकारी पा सकते हैं!
फिर, हम समय सीमा निर्दिष्ट करते हैं। इन्हें 24H स्वरूपित किया जाना चाहिए, जिसमें 4 अंक होंगे। उदाहरण के लिए, 3:17 बजे से शाम 6:34 तक प्रतिबंधित करने के लिए, हम लिखते हैं: 1517-1834। मैरी को केवल मंगलवार को शाम 3:17 बजे से शाम 6:34 बजे तक कनेक्ट करने की अनुमति देने के लिए, हम परिणाम प्राप्त करते हैं:
*;*;marie;Tu1517-1834
इन घंटों के बाहर कनेक्शन पर प्रतिबंध लगा दिया जाएगा। उपयोगकर्ताओं के लिए, ऑपरेटरों का उपयोग करना संभव है तथा! कई बार संकेत करने के लिए (तब इंगित करें कि सभी लॉगऑन घंटों की अनुमति है, सिवाय उन लोगों को दिखाए जाने के)।
कोड की लाइन की शुरुआत में दो सितारे (वाइल्डकार्ड) क्रमशः, और टटी सेवा क्षेत्र हैं। चूंकि आप सिस्टम तक सभी पहुंच को अवरुद्ध करना चाहते हैं, इसलिए यह निर्दिष्ट करना अनावश्यक है कि आप किस सेवा या किस tty को ब्लॉक करना चाहते हैं। हालाँकि, यदि आप किसी विशेष सेवा के उपयोग को रोकना चाहते हैं, तो बस इसे निम्न उदाहरण के रूप में निर्दिष्ट करें:
login;tty1|tty4|tty5;marie;!Wd0000-2400
इस प्रकार, उपयोगकर्ता विवाह सप्ताहांत के दौरान एक टीटीवाई, 4 और 5 से नहीं जुड़ सकता है।
प्रतिबंध के कुछ उदाहरण अनुसूची
मैथिल्ड को हर दिन दोपहर 1:20 बजे से 3:20 बजे तक और शाम 4:00 बजे से 8:30 बजे तक कनेक्ट करने की अनुमति है:
*;*;mathilde;Al1320-1520|Al1600-2030
सप्ताह के दिनों में स्टोन, फ्रैंक और फ्लोरियन को 2:00 बजे से शाम 6:45 बजे तक और सप्ताहांत में 2:00 बजे से 10:15 बजे तक कनेक्ट करने की अनुमति है:
*;*;Stone|franck|florian;Wk1400-1845|Wd1400-2215
जैतून को कभी भी कनेक्ट करने की अनुमति नहीं है। जसिका बुधवार को दोपहर 1:00 बजे से शाम 4:00 बजे तक लॉग इन कर सकती है:
*;*;olivier;!Al0000-2400
*;*;jessica;We1300-1600
प्रत्येक उपयोगकर्ता के लिए एक सत्र की समाप्ति के लिए दो अलग-अलग समय के लिए 2 अलग-अलग लाइनें
जब एक सत्र समाप्त हो जाता है (यह समय से अधिक है जब उपयोगकर्ता पहले से जुड़ा हुआ है), पीएएम उपयोगकर्ता तक पहुंच सकता है। जबकि मैथिल्डे अनुमति के समय के दौरान जोड़ता है, यह इन घंटों से अधिक होने के लिए पूरी तरह से स्वतंत्र है! इसके लिए, हम एक नए प्रोग्राम का उपयोग करेंगे: usecron use। यह एप्लिकेशन समय के अंतराल पर कमांड निष्पादित करता है। हमारे मामले में, हम सत्र समाप्त होने पर उपयोगकर्ता को डिस्कनेक्ट करने के लिए कमांड -skill-KILL-u disc का उपयोग करेंगे। हैंडलिंग बहुत सरल है। बस फ़ाइल edit / etc / crontab´ संपादित करें। फिर कोड की निम्नलिखित पंक्ति जोड़ें:
Minute Hour Day * * (s) root skill -KILL -u User
पहले की तरह, मिनट फ़ील्ड शेड्यूल और वांछित समय की जगह। फिर दिन (नों) द्वारा दिन (नों) को प्रतिबंधित (ओं) को भरें, या सप्ताह के सभी दिनों को इंगित करने के लिए एक तारांकन चिह्न (*) लिखें। अंत में, लॉगिन अकाउंट द्वारा ब्लॉक किए गए फ़ील्ड को बदलें, और वॉइला!
दिन के साथ उसी तरह की सूचना नहीं cron
नौकरियों! इस कार्यक्रम के साथ उपयोग किए जाने वाले संक्षिप्त विवरणों की सूची इस प्रकार है:
mon : monday fri : friday
tue : tuesday sat : saturday
wed : wednesady sun : sunday
thu : thursday * : all hours
cron
नौकरियों के कुछ उदाहरण (पिछले अनुभाग में समय के उदाहरणों के साथ)
जसिका बुधवार को दोपहर 1:00 बजे से शाम 4:00 बजे तक लॉग इन कर सकती है
-> डिस्कनेक्ट: मंगलवार शाम 4:00 बजे।
00 16 * root * wed skill -KILL -u jessica
मैथिल्ड को हर दिन दोपहर 1:20 बजे से 3:20 बजे और शाम 4:00 बजे से 8:30 बजे तक कनेक्ट करने की अनुमति है।
-> डिस्कनेक्टिंग: दैनिक, 8:30 बजे से 3:20 बजे ईटी।
20 15 * * * root skill -KILL -u mathilde
30 20 * * * root skill -KILL -u mathilde
सप्ताह के दिनों में स्टोन, फ्रैंक और फ्लोरियन को 2:00 अपराह्न से 6:45 बजे और सप्ताहांत में दोपहर 2:00 से 10:15 बजे तक जुड़ने की अनुमति है
-> डिस्कनेक्ट (1): सोमवार, मंगलवार, बुधवार, गुरुवार और शुक्रवार, 18:45 पर। -> डिस्कनेक्ट (2): शनिवार और रविवार को रात 10:15 बजे।
45 18 * * mon,tue,wed,thu,fri root skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian
15 22 * * sat,sun root skill -KILL -u stone && skill -KILL -u franck && skill -KILL -u florian
कमांड स्किल-KILL-u यूजर को GUI, साथ ही TTY से डिस्कनेक्ट करता है। यह सर्वर प्रशासकों के लिए पूरी तरह से प्रयोग करने योग्य है। हालांकि, यह कमांड तत्काल है और वियोग नोटिस के बिना बनाया जाएगा। इसलिए यह प्रश्न में कंप्यूटर या नेटवर्क के इस डिवाइस उपयोगकर्ताओं की स्थापना को रोकने के लिए बेहतर होगा!
समय-सीमा समाप्त होने wall
से cron
कुछ मिनट पहले शुरू की गई कमांड के साथ उपयोगकर्ताओं को रोकना संभव है , यह सभी उपयोगकर्ताओं के टर्मिनलों में प्रदर्शित किया जाएगा।
40 18 * * Mon,Tue,wed,thu,fri root echo "end of session in 5 minutes" | wall
GUI से उपयोगकर्ताओं को रोकने के लिए दीवार कमांड के स्थान पर उपयोग किया जा सकता notify-send
है पैकेज libnotify-bin में है
40 18 * * Mon,Tue,wed,thu,fri stone DISPLAY=:0 notify-send "end of session in 5 minutes"
Ubuntu 11.10 उपयोगकर्ता
मैंने पाम के साथ समस्या वाले उपयोगकर्ता के आसपास देखा है और मैंने बग के बारे में देखा है कि ऐसा क्यों है? इतना सरल उबंटू 11.10 है GDM का समर्थन नहीं करता है अब नया डिस्प्ले मैनेजर lightGDM है समस्या यह है कि इस निर्देश को स्टोर करें जहां account required pam_time.so
मुझे लगता है कि यह स्टोर है /etc/pam.d/lightdm
या /etc/pam.d/lightdm-autologin
बग कैसे है ???
तो बस आप अपने आस-पास इस 2 लाइटगैम लॉग फाइलों की जांच कर सकते हैं:
- /var/log/lightdm/lightdm.log
- /var/log/lightdm/x-0.log
या LightGdm को डिबग मोड में चलाएं:
लाइटडीएम - डिडबग
या बग की रिपोर्ट करें:
उबंटु-बग लाइटमाड
मैं रिपोर्ट बग है यहाँ तो अपनी उंगली पार और इंतजार ....