"इस खाते में वर्तमान में उपलब्ध नहीं है" जब ssh करने की कोशिश कर रहा है त्रुटि


46

SSH कनेक्शन बनाने का प्रयास करते समय कोई त्रुटि उत्पन्न होती है:

$ ssh -p 22 www-data@x.x.x.x 
This account is currently not available

जवाबों:


59

आपको This account is currently not available.त्रुटि मिल रही है क्योंकि उपयोगकर्ता के लिए शेल www-dataसेट है /usr/sbin/nologin, और यह एक बहुत अच्छे कारण के लिए सेट है। आपको लॉग इन नहीं करना चाहिए www-data, यह वेब सर्वर द्वारा उपयोग किया जाने वाला एक विशेष उपयोगकर्ता / समूह है, जो नियमित शेल उपयोग के लिए नहीं है।

EDIT : यह अधिकार देने के लिए एक विशेष रूप से बुरा विचारsudo है www-data। यदि अपाचे को रूट अनुमतियों के साथ चलाने का इरादा था, तो इसका अपना समूह नहीं होगा। ऐसा करके, आप भारी सुरक्षा छेद बना रहे हैं। आपको चेतावनी दी गई है।


5
यह बहुत रचनात्मक नहीं है। आपको क्या लगता है कि इस उत्तर को बेहतर बनाने के लिए मुझे क्या जानकारी मिलानी चाहिए?
क्रैकोर

4
@kraxor सही है, लेकिन यदि आपको रूट और लॉगिन / usr / sbin / nologin in / etc / passwd to / bin / bash के रूप में लॉग इन करना होगा और यह उपयोगकर्ता शेल एक्सेस प्रदान करेगा। मैं ऐसा तब करता हूं जब सिर्फ एक स्नैप बाइनरी को मेरे वेबसर्वर के रूप में चला रहा हूं। www-data आमतौर पर ubuntu पर nginx / apache के लिए आरक्षित है इसलिए कोई लॉगिन स्थिति नहीं है।
इंजीनियरडेव

4
@RyanNerd यह आपकी पसंद है कि "चूहे को सुरक्षा बकवास के बारे में $ $ न दें"। डॉकर के अंदर भी रूट के रूप में सब कुछ चलाने की सिफारिश नहीं की गई है । आप निश्चित रूप से अपाचे को चलाने के लिए कॉन्फ़िगर कर सकते हैं root, या लॉगिन शेल को जोड़ सकते हैं www-data, लेकिन यह बोतल को तोड़कर शराब की बोतल खोलने जैसा है क्योंकि आप कॉर्क-स्क्रू का उपयोग करने के लिए बहुत आलसी और लापरवाह हैं।
क्रैकर


मेरा भी ऐसा ही मामला है। मैं लिबरऑफिस को हेडलेस मोड में चलाना चाहता हूं, जिसे दस्तावेजों को परिवर्तित करने के लिए इसे PHP स्क्रिप्ट द्वारा बुलाया जा सकता है और यह डिस्क को www-data के रूप में फाइल लिख सकता है, क्योंकि बाद में इन फाइलों को www-data (भाग का हिस्सा) से हटाना पड़ता है एक PHP स्क्रिप्ट) उन्हें साफ करने के लिए। यह (हेड www-डेटा के रूप में एक हेडलेस लिबरऑफिस को लॉन्च करना) उबंटू के पिछले संस्करणों में काम करता था, और मैं समझता हूं कि यह इन पुराने संस्करणों पर सुरक्षा सुधार है।
यार्नियर जूल

56

हालांकि मैं दूसरों से सहमत हूं कि एसएसएच के माध्यम से www-डेटा उपयोगकर्ता के माध्यम से लॉगिन की अनुमति देना आम तौर पर एक बुरा विचार है, एक बार जब आप सामान्य उपयोगकर्ता के साथ लॉग इन करते हैं तो www के अनुमतियों के साथ समवर्ती रूप से कई कमांड चलाने के लिए उपयोगी हो सकता है- डेटा उपयोगकर्ता। उस स्थिति में, कोई भी चला सकता है

sudo su -l www-data -s /bin/bash

और आप www-data उपयोगकर्ता के रूप में अपनी फ़ाइलों को एक्सेस कर पाएंगे।


2
डेमन / सेवा उपयोगकर्ता के लिए डिबगिंग अनुमतियों के लिए बहुत उपयोगी है
jmng

आपने अभी मेरा दिन बचाया धन्यवाद! मुझे पर्ल-एफसीजी सेवा प्राप्त करने में परेशानी हुई, क्योंकि स्टार्टअप स्क्रिप्ट का उपयोग नहीं कर रहा था-s /bin/bash
Couitchy

-1

पहला सवाल मुझे पूछना होगा कि आप ऐसा करके क्या हासिल करना चाहते हैं?

kraxor 100% सही है आप अपने Apache / Nginx उपयोगकर्ता का उपयोग करके कभी भी अपने सर्वर में ssh नहीं कर सकते। ऐसा करने से आपके सर्वर में आधे हैकर के साथ हर हैकर को आमंत्रित किया जाता है।

यदि आपको एक स्क्रिप्ट या कुछ प्रोग्राम चलाने की आवश्यकता है तो उस उपयोगकर्ता के रूप में जिसे आप कोशिश sudo -u www-data yourscriptकर सकते हैं या आप अस्थायी रूप chownसे लॉगिन विशेषाधिकार वाले उपयोगकर्ता को फ़ाइल पर दे सकते हैं । इस खाते को उस तरह की अनुमति देने के लिए यह केवल एक बुरा विचार है।


6
आपको पता होना चाहिए कि su -अक्षम लॉगिन वाले खातों के लिए काम नहीं करता है।
सोरिन

क्या खाता अक्षम है? यह खाते के अक्षम होने के बारे में कुछ नहीं कहता है
TheStarvingGeek

1
अच्छी तरह से पासवॉल्ड में कोलोन होने का मतलब है निष्क्रिय लॉगिन :)
sorin

1
यह एक सेवा खाता है जो एक अक्षम खाता नहीं है, आप इसके तहत कमांड चला सकते हैं
TheStarvingGeek

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