अगर मैं सुडोल हूं तो मुझे कैसे पता चलेगा?


32

जब मैं सुडोल नहीं हूं तो लिनक्स सिस्टम कैसे व्यवहार करता है? यहाँ है अगर मैं sudo का उपयोग करने की कोशिश करूँ तो क्या होगा:

server:/tmp>$ sudo cal
[sudo] password for user:
Sorry, try again.

क्या यह संभव है कि मैं सिर्फ अपना पासवर्ड नहीं जानता हूं या इसका मतलब यह नहीं है कि मैं सुडोल नहीं हूं? (एक अन्य मशीन प्रणाली पर छपी कि मैं कोई सूदखोर नहीं हूँ और घटना की सूचना दी जाएगी)


निम्न में से किसी से भी बेहतर उत्तर: superuser.com/questions/553932/…
barnhillec

जवाबों:


40

यह जानने के लिए कि किसी विशेष उपयोगकर्ता के पास sudo एक्सेस है या नहीं, हम एक साथ विकल्प -lऔर -Uविकल्प का उपयोग कर सकते हैं।

उदाहरण के लिए,

यदि उपयोगकर्ता के पास sudo एक्सेस है, तो यह उस विशेष उपयोगकर्ता के लिए sudo एक्सेस के स्तर को प्रिंट करेगा।

   $ sudo -l -U pradeep
     User pradeep may run the following commands on this host:
     (ALL : ALL) ALL

यदि उपयोगकर्ता के पास sudo एक्सेस नहीं है, तो यह प्रिंट करेगा कि उपयोगकर्ता को localhost पर sudo चलाने की अनुमति नहीं है।

   $ sudo -l -U pradeep.c
     User pradeep.c is not allowed to run sudo on localhost.

4
यह मेरे लिए काम नहीं करता है। मुझे जानकारी देने के बजाय यह मुझसे फिर से पासवर्ड मांगता है: server:/home/drasto>$ sudo -l -U drasto [sudo] password for drasto:उस सर्वर पर Red Hat distro है अगर वह मदद करता है
Rasto

9

आप -lअपने विशेषाधिकारों की सूची के लिए ध्वज का उपयोग कर सकते हैं ।

-l[l] [command]
   If no command is specified, the -l (list) option will list the allowed (and forbidden)
   commands for the invoking user (or the user specified by the -U option) on the current
   host.  If a command is specified and is permitted by sudoers, the fully-qualified path
   to the command is displayed along with any command line arguments.  If command is
   specified but not allowed, sudo will exit with a status value of 1.  If the -l option
   is specified with an l argument (i.e. -ll), or if -l is specified multiple times, a
   longer list format is used.

यदि आप फ़ाइल में नहीं हैं, तो आपको "सुडोर्स फाइल में नहीं" त्रुटि मिलनी चाहिए जो आपने दूसरी मशीन पर देखी थी।


2
यह भी मेरे लिए काम नहीं करता है। यह मुझसे केवल पासवर्ड मांगता है:server:/home/drasto>$ sudo -l [sudo] password for drasto:
रास्तो

1
अपने पासवर्ड में डालें
केविन

1
@ केविन @ मिचेल मेरा पासवर्ड काम नहीं करता है। मैं केवल उस सर्वर के लिए एक पासवर्ड के बारे में जानता हूं और वह वह है जिसका उपयोग मैं सर्वर में लॉग इन करने के लिए करता हूं। जब मैं अपने sudo पासवर्ड के लिए पूछ रहा हूँ तो यह काम नहीं करता है (मैंने इसे लगभग 100 बार, कैप्सलॉक, अंक, आदि) आज़माया है। लेकिन पूरे विचार का कोई मतलब नहीं है! मैं जानना चाहता हूं कि क्या मेरे पास sudo विशेषाधिकार हैं लेकिन यह पता लगाने के लिए कि मुझे sudo विशेषाधिकार की आवश्यकता है ?! चलाने के लिए sudo -lमुझे sudo पासवर्ड चाहिए? तो मुझे पता होना चाहिए कि क्या मैं जड़ हूँ?
रास्तो

1
@drasto बिल के रूप में कहा, sudoकी तलाश में है अपने लॉगिन पासवर्ड। तो अगर आपने कोशिश की है और यह काम नहीं करता है, तो या तो sudo बुरी तरह से गलत है या आप किसी प्रकार की जेल में हैं जहाँ यह उचित फ़ाइलों को नहीं देख या पढ़ सकता है। किसी भी तरह से, आप प्रभाव में कोई सूडो अनुमति नहीं है।
केविन

1
@ केविन तब मैं शायद किसी तरह के जेल में हूं। वास्तव में मुझे लगता है कि मुझे उस मशीन पर उन सूडो अनुमति नहीं होनी चाहिए। इसलिए मुझे आश्चर्य हुआ, जब इसने मुझसे पहली बार अपने सुडोल पासवर्ड के लिए पूछा। वैसे भी यह जैसा मैंने लिखा है: मेरा लॉगिन पासवर्ड काम नहीं करता है।
रास्तो

-1

यदि आप sudo समूह में हैं, तो आप कमांड का उपयोग करके देख सकते हैं

groups

एक शेल-स्क्रिप्ट में आप इसका उपयोग करना चाह सकते हैं:

if groups | grep "\<sudo\>" &> /dev/null; then
   echo yes
else
   echo no
fi

1
समूह हो सकता है sudo, admin, wheelविशिष्ट नियमों के माध्यम से, या पूरी तरह कुछ और, और यहां तक कि एक दल की सदस्यता के साथ, एक व्यक्ति उपयोगकर्ता शायद इनकार किया sudo एक्सेस (या दूसरी तरह के आसपास)।
मुरु

यह मेरे उद्देश्य के लिए बहुत सारे झूठे नकारात्मक हैं (सत्यापन को सख्त करना)। केविन का जवाब अधिक निश्चित है।
StockB
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.