‘हे बॅकग्राउंडमध्ये चालवा’ या वाक्यात दोन प्रश्न दडलेले आहेत। पहिला हा की हा वापरकर्ता विशेषाधिकारित प्रक्रिया सुरू करू शकतो का; दुसरा हा की कोणीही टर्मिनलमध्ये टाइप न करता सत्र सुरू राहू शकते का। शेलचा अँपरसँड यापैकी कोणत्याही उत्तर देत नाही, आणि sudo पासवर्ड व्हेरिएबलमध्ये ठेवणारी स्क्रिप्ट पहिल्याला वाईट उत्तर देते आणि दुसऱ्याला अस्पर्श ठेवते। त्यांना वेगळे करा म्हणजे पर्यायांची तुलना सोपी होते।

तीनही उमेदवारांची तुलना मालकीवर करा, सुविधेवर नाही।

टर्मिनल सोडण्याचे तीन मार्ग, तीन वेगवेगळे मालक

आदेशाला अँपरसँड जोडल्यास शेल तो बॅकग्राउंड जॉब म्हणून चालवते, आणि जॉब अजूनही त्या शेलचाच असतो। कार्यक्रम सुरू होण्यापूर्वीच sudo विचारू शकते, आणि OpenVPN नंतर की पासफ्रेझ किंवा लॉगिनबद्दल विचारू शकते। इनपुटची अपेक्षा करणारा आदेश बॅकग्राउंडमध्ये ठेवल्यास कोणीही न पाहणाऱ्या टर्मिनलची वाट पाहणारी प्रक्रिया तयार होते। टर्मिनल मुक्त होते; परस्परसंवाद नाही।

हा सर्वात स्वस्त पर्याय आहे आणि सर्वात गोंधळात टाकणारा अपयश आहे, कारण प्रॉम्प्ट ऑपरेटरने आधीच सोडलेल्या ठिकाणी दिसतो।

sudo -b हा क्रेडेन्शियल हँडलर नाही

sudo -b sudoच्याच दृष्टिकोनातून आदेश बॅकग्राउंडमध्ये चालवतो, जे गहाळ वैशिष्ट्यासारखे वाटते पण तसे नाही। sudo मॅन्युअलनुसार, त्या मोडमध्ये इंटरॅक्टिव्ह आदेश सामान्यतः चुकीचे वागतात, आणि शेल जॉब नियंत्रण त्याने तयार केलेल्या प्रक्रिया सांभाळू शकत नाही। तो प्रक्रियेला प्रश्नांची उत्तरे देण्याचा मार्ग न देता हलवतो। त्यात खाजगी की पासफ्रेझ किंवा गेटवे लॉगिन देणारे काहीही नाही।

कनेक्शनला परस्परसंवाद हवा असेल, तर उपाय समर्थित गैर-इंटरॅक्टिव्ह प्रमाणीकरण व्यवस्था आहे, तोच प्रॉम्प्ट सुरू करण्याचा दुसरा मार्ग नाही।

--daemon कार्यक्रम बदलतो, लॉगिन नाही

--daemon इनिशियलायझेशननंतर वेगळे होण्यासाठी OpenVPNलाच सांगतो। 2.6 मॅन्युअल नमूद करते की syslog रीडायरेक्शन पर्याय पार्स होतानाच होते, जरी वेगळे होणे नंतर होते, त्यामुळे संदेश अपेक्षेपेक्षा लवकर टर्मिनलमध्ये दिसणे थांबू शकतात। त्या टप्प्यानंतरचे मौन बोगद्याबद्दल काहीही सिद्ध करत नाही। स्पष्ट --log किंवा --log-append जोडा जेणेकरून आउटपुट तुम्ही वाचू शकता अशा ठिकाणी पोहोचेल।

डेमन मोड कन्सोलही कायमचे काढून टाकतो। संरक्षित खाजगी कीला त्या मोडमध्ये askpass लागते, आणि कन्सोलवरून दिलेली क्रेडेन्शियल्स कॅशिंग पर्यायांसह मिळून पुढील पुनर्प्रमाणीकरणाला विचारण्याची जागा न देता सोडू शकतात। बॅकग्राउंड सुरुवात आपली पहिली की नूतनीकरण टिकेल असे गृहीत धरण्यापूर्वी स्थापित आवृत्तीशी प्रमाणीकरण मॉडेल तपासा।

sudo पडताळणी काय देते आणि काय देत नाही

sudo -v कॅश केलेली स्थानिक क्रेडेन्शियल पडताळते किंवा ताजी करते, धोरण आवश्यक असल्यास प्रमाणीकरण करते। ते OpenVPN सुरू करत नाही, गेटवेशी प्रमाणीकरण करत नाही, आणि स्क्रिप्टमधील पुढील आदेशाला परवानगी मिळेल याची हमी देत नाही। sudo -n याचा उलटा अर्थ आहे: विचारू नका, अपयशी व्हा। यामुळे स्थानिक अधिकृतता अपयश स्पष्ट होते, जे उपयुक्त आहे, आणि OpenVPN नंतर काय मागेल याबद्दल काहीही सांगत नाही।

दोन्हीपैकी कोणताही पर्याय सर्वांना पासवर्डविरहित आदेश देण्याचे किंवा प्रशासकाचा पासवर्ड स्क्रिप्टमध्ये टाकण्याचे कारण नाही।

निरीक्षण करता येणाऱ्या मालकाला प्राधान्य द्या

मशीनच्या मालकीच्या बोगद्यासाठी, वितरण समर्थित सेवा इन्स्टन्स वापरा। असा मालक सुरुवात, थांबवणे, स्थिती आणि लॉग देतो, आणि तुमचे सत्र संपल्यानंतरही टिकतो। शेल बॅकग्राउंडिंग, डेमोनायझेशन आणि रीस्टार्ट लूप एकमेकांभोवती जोडल्यास एका बोगद्यासाठी तीन मालक तयार होतात आणि कोणता चालू आहे याचे स्पष्ट उत्तर मिळत नाही।

तुम्ही काहीही निवडा, बोगदा ज्या संसाधनासाठी अस्तित्वात आहे ते पडताळा। यशस्वी सुरुवात विनंती ही प्रक्रिया घटना आहे, कार्यरत कनेक्शनचा पुरावा नाही।

संबंधित लेख