बिना पासवर्ड के यूजर बनाना


66

मैं इस तरह पासवर्ड के बिना उपयोगकर्ता बनाने की कोशिश कर रहा हूँ:

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos ‘User for managing of git version control’ \
   --group \
   --disabled-password \
   --home /home/git \
   git

यह ठीक बनाया गया है। लेकिन जब मैं git उपयोगकर्ता के तहत लॉगिन करने का प्रयास करता हूं तो मुझे पासवर्ड दर्ज करने की आवश्यकता होती है:

su git
Password:...

जब मैं इसे खाली छोड़ता हूं तो मुझे एक त्रुटि मिलती है:

su: Authentication failed

क्या गलत है?


1
कुछ भी गलत नहीं है, प्रमाणीकरण उम्मीद के मुताबिक विफल रहा। आपको "कोई पासवर्ड नहीं है, आप लॉगिन नहीं कर सकते" त्रुटि संदेश नहीं मिलेगा।
स्काइ

लेकिन मुझे git यूजर के अंतर्गत .ssh फोल्डर बनाने की आवश्यकता है, मुझे यह कैसे करना चाहिए?
एरिक

1
या तो इसे रूट के रूप में बनाएं और सही अनुमतियां सेट करें, या su gitरूट के रूप में निष्पादित करें जहां आपको पासवर्ड प्रदान करने की आवश्यकता नहीं है।
स्काइ

4
का उपयोग करके chmodऔर chown
13

1
विषय से बाहर, लेकिन यह "एक उपयोगकर्ता" है "उपयोगकर्ता नहीं"। राइटर्सडिस्टस्ट.ऑनलाइन- ईडिटर /
डेविड

जवाबों:


31

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

ऐसे "सिस्टम" उपयोगकर्ताओं के रूप में कमांड निष्पादित करने के लिए जो सामान्य रूप से लॉग इन नहीं करते हैं, आपको रूट खाते के माध्यम से हॉप करने की आवश्यकता है:

su -c 'su git -c "git init"'

या

sudo -u git git init

यदि आप चाहते हैं कि कुछ उपयोगकर्ता gitकमांड को रूट के रूप में चलाने के बिना उपयोगकर्ता के रूप में कमांड चलाने में सक्षम हों , तो sudo सेट करें ( visudoरूट के रूप में चलाएँ और जैसी लाइन जोड़ें %gitters ALL = (git) ALL)।


@ जुलियनरिकार्ड एर, हां, और? "पासवर्ड के बिना उपयोगकर्ता" को समझने के कई तरीके हैं, और मैं प्रश्न में दिए गए उपयोग के मामले का जवाब देता हूं। उदाहरण के लिए, एक प्रश्न के बारे में एक अतिथि उपयोगकर्ता बनाना एक अलग प्रश्न होगा।
गाइल्स

41

--disabled-passwordविकल्प के लिए एक पासवर्ड सेट नहीं होगा, कोई पासवर्ड अर्थ कानूनी है, लेकिन अभी भी संभव लॉगिन (SSH आरएसए कुंजी के साथ उदाहरण के लिए) है।

पासवर्ड के बिना एक passwd -d $usernameउपयोगकर्ता बनाने के लिए, पासवर्ड खाली करने के लिए उपयोगकर्ता द्वारा बनाए जाने के बाद उपयोग करें। ध्यान दें कि सभी सिस्टम खाली पासवर्ड वाले उपयोगकर्ताओं को लॉग इन करने की अनुमति नहीं देते हैं।


3
यह संस्करण 16 में काम करने के लिए प्रतीत नहीं होता है
डैनियल टेट

@DanielTate को इसके साथ काम करने का मौका मिला: unix.stackexchange.com/a/472968/32558
Ciro Santilli ate ate ate ate 事件

9

यदि आप git उपयोगकर्ता के तहत सिस्टम का उपयोग करना चाहते हैं तो आपको sudo का उपयोग करना चाहिए:

sudo -s -u git

या

sudo su - git

4

खाली पासवर्ड वाला उपयोगकर्ता बनाएं

sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0

पासवर्ड प्रॉम्प्ट अभी भी दुर्भाग्य से दिखाता है।

लेकिन अगर आप बस कुछ भी टाइप किए बिना दर्ज करते हैं, और यह उपयोगकर्ता के रूप में लॉगिन करता है test-user-0

-eझंडे बताता है chpasswdकि पासवर्ड पहले से ही एन्क्रिप्टेड है, और U6aMy0wojrahoखाली स्ट्रिंग के हैश है।

उबुन्टु 18.04 पर परीक्षण किया गया।

टर्मिनल ऑटोलॉगिन के साथ getty -a

कम से कम टर्मिनल पर, आपको पासवर्ड के बिना उपयोगकर्ता बनाने की आवश्यकता नहीं होती है ताकि कोई व्यक्ति हर बार अपना पासवर्ड टाइप न कर सके।

मैं मॉडिफाई करके बिजीबॉक्स पर यह करने में सक्षम था inittab: बिल्डरॉट बिजीबॉक्स इनिट में रूट उपयोगकर्ता नाम या पासवर्ड टाइप किए बिना अपने आप लॉगिन कैसे करें?

इसलिए मेरा मानना ​​है कि getty -a <user>उस उत्तर में उल्लिखित टर्मिनल को सेटअप करने के लिए उबंटू 18.04 के सिस्टम इनिट सिस्टम स्क्रिप्ट को संशोधित करके उस तकनीक को अनुकूलित करना बहुत कठिन नहीं होना चाहिए , हालांकि मैंने खुद ऐसा करने की कोशिश नहीं की है।


2

मुझे लगता है कि यह वही है जो आप चाहते हैं:

adduser --disabled-password --shell /bin/bash --gecos "User" $username

तुम कर सकोगे

su $username

उस उपयोगकर्ता के रूप में कमांड चलाने के लिए, बिन / बैश या जो भी शेल आप निर्दिष्ट करते हैं। --gecos "उपयोगकर्ता" सिर्फ "उपयोगकर्ता" टिप्पणी क्षेत्र में डाल दिया ताकि आप उस जानकारी के लिए संकेत नहीं कर रहे हैं। आप जो चाहें उस फील्ड में लगा सकते हैं।

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