सिस्टमड सेवा के साथ बूट के दौरान पासवर्ड के लिए संकेत दें


16

यह आर्क लिनक्स (और शायद अन्य वितरण का उपयोग करके systemd) के लिए प्रासंगिक है । मैं बूट पर एक TrueCrypt विभाजन माउंट करना चाहता हूं। पुराने के साथ sysvinit, यह एक स्क्रिप्ट के साथ बहुत सीधे आगे था जिसे कहा जाता है rc.local

मैं एक आर्क फोरम थ्रेड को हाईजैक करके अपने करंट में गया । एक और धागा है जहाँ इस सिस्टम-डीवल थ्रेड के बारे में बात की जाती है "समाधान होने" के रूप में, हालांकि यह मेरे लिए स्पष्ट नहीं है कि यह वास्तव में क्या है, और ओपी ने अंतिम पोस्ट बताते हुए कहा कि वह अपने लक्ष्य को पूरा करने में सक्षम नहीं था।

यह लग रहा है कि यह व्यक्ति ऐसा कर रहा है, लेकिन वह पासवर्ड टाइप करते समय लगातार बूट संदेशों को बंद करने का एक तरीका ढूंढ रहा था। मैंने अपनी वास्तविक .serviceफ़ाइल पोस्ट करने के लिए उससे पोस्ट करने के लिए कहा ।

काफी खोज में, लोगों का उल्लेख है कि वे सफल रहे हैं या यह संभव है, लेकिन वास्तव में क्या समाधान नहीं था बाहर वर्तनी।

मैं एक systemdसेवा के माध्यम से कमांड लाइन से विभाजन को अनलॉक करने में सक्षम हूं, (जो बदले में मुझे इसे शटडाउन / रिबूट पर स्वचालित रूप से हटाने की क्षमता देता है), लेकिन मुझे इसे एक बार लॉग इन करने के बाद मैन्युअल रूप से करना होगा। ' d वास्तव में बूट प्रक्रिया को रोकने और पासवर्ड के लिए मुझसे पूछें।

यहाँ मेरी वर्तमान स्क्रिप्ट है:

[Unit]
Description=Truecrypt Setup for vault
#DefaultDependencies=no
#Conflicts=umount.target
#Before=umount.target
#After=systemd-readahead-collect.service systemd-readahead-replay.service
#After=cryptsetup.target

[Service]
Type=oneshot
RemainAfterExit=yes
#StandardInput=tty-force
ExecStart=/bin/sh -c '/usr/bin/truecrypt -t --protect-hidden=no -k "" --filesystem=none --slot=1 -p `systemd-ask-password "Enter password for truecrypt volume: "` /dev/sda4'
ExecStop=/usr/bin/truecrypt --filesystem=none -d /dev/sda4

[Install]
WantedBy=multi-user.target

मैंने टिप्पणी की गई सामग्री को छोड़ दिया [Unit], जैसा कि कुछ बिंदु पर मैं सुझाव में भाग गया कि यह होना चाहिए, लेकिन मुझे इसके साथ समस्या थी। उपरोक्त बूटिंग / लॉगिंग के बाद ठीक काम करने लगता है ... बस के दौरान नहीं।


जहां तक ​​मैं समझता हूं, यदि आप संदेशों को लॉग करके बाधित नहीं होना चाहते हैं, तो आपको यूनिट फ़ाइल में एक अवरोध बनाने की आवश्यकता है - मतलब, कि इसे शुरू करने (आरंभ करने) से पहले सभी सेवाओं की आवश्यकता होगी और यह ब्लॉक हो जाएगा इसके बाद चलने वाली कोई भी सेवा। यह है कि आप क्या हासिल करने की कोशिश कर रहे हैं?
पीटर

@peterph मुझे नहीं लगता कि यह तब तक मायने रखता है जब तक कि ट्रू क्रिप्ट द्वारा जो कुछ भी आवश्यक है वह तब तक चल रहा है जब तक मुझे संकेत मिलता है। अन्य चीजें इस पर निर्भर नहीं करती हैं क्योंकि यह फ़ाइलों को संग्रहीत करने के लिए सिर्फ एक वॉल्यूम है; इस प्रकार, पासवर्ड को इनपुट करते समय अन्य चीजें पृष्ठभूमि में लोड हो सकती हैं। वर्तमान में, मैं लॉगिन करने के लिए प्रतीक्षा करता हूं, फिर मैन्युअल रूप से प्रारंभ करें sudo systemctl start truecrypt-vault, suपासवर्ड दर्ज करें, टीसी वॉल्यूम पासवर्ड दर्ज करें, फिर startx। निश्चित रूप से मैं लॉगिन के बाद अतिरिक्त चरणों से बचने के लिए बूट के दौरान मेरे पास प्रस्तुत पासवर्ड संकेत दे सकता था?
हेनडी

यह मेरा मुद्दा था और वास्तव में तुम्हारा भी (यह प्रश्न विषय में भी है) - बूट के दौरान पासवर्ड शीघ्र प्राप्त करने के लिए। यदि आप ग्राफिकल बूट का उपयोग नहीं कर रहे हैं plymouth, तो कंसोल पर किसी भी पासवर्ड प्रॉम्प्ट को समानांतर में शुरू होने वाली सेवाओं में खो जाने की संभावना है।
पेट्रफ

ओह। मुझे लगा कि आप पूछ रहे हैं कि क्या मुझे सेवाओं को बंद करने की जरूरत है या यह सुनिश्चित करने के लिए कि पिछली सभी सेवाएं शुरू हो गई थीं ... मुझे यकीन नहीं है और जितना संभव हो उतना जवाब देने की कोशिश की। मैं केवल टेक्स्ट लॉगिन और startxमैन्युअल रूप से रनवेल 3 को बूट करता हूं । कोई लॉगिन प्रबंधक नहीं। लेकिन हाँ, मैं कर जब मैं पाठ दर्ज बूट संदेशों को रोकने के लिए की जरूरत है, अन्यथा यह केवल स्क्रीन बंद गायब हो जाएगा।
हेंडी

8
खैर, systemdएक एजेंट है जो एक पासवर्ड का अनुरोध करने में सक्षम है, इसलिए आप उस दिशा में दिखते हैं।
पेट्रॉफ

जवाबों:


2
  • एक आवरण स्क्रिप्ट लिखें और इसे अंदर डालें ExecStart=
  • रैपर स्क्रिप्ट से, systemd-ask-password <PROMPT>उसके स्टैडआउट से पासवर्ड पढ़ें , उपयोग करें , और जो कुछ भी आवश्यक हो, उसे ट्रुकक्रिप्ट को खिलाएं
  • execअपनी स्क्रिप्ट के अंत से truecrypt को भूल न जाएं ताकि एक अतिरिक्त बैश प्रक्रिया को न छोड़ा जाए

यह सिस्टमड क्वेरी को तुरंत पासवर्ड बना देगा (यदि आप सिस्टमटेक का उपयोग करके अपाचे शुरू करते हैं) या तथाकथित एजेंटों में से एक का उपयोग कर (ऐसे डिफ़ॉल्ट हैं जो सिस्टम बूटअप के दौरान कंसोल पर या सीधे कंसोल का उपयोग करके पासवर्ड पूछते हैं)। यह सबसे अच्छी बात है जिसका आप अनुपालन कर सकते हैं।


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