Sudo'lu olup olmadığımı nasıl öğrenebilirim?


32

Linux sistemi sudo olmadığım zaman nasıl davranıyor? Eğer sudo kullanmaya çalışırsam ne olur:

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

Şifremi bilmem mümkün mü yoksa bu sudo olmadığım anlamına mı geliyor? (Başka bir makinede sudo olmadığım ve olayın rapor edileceği yazılı çıktı)


Aşağıdakilerden herhangi birinden daha iyi cevap: superuser.com/questions/553932/…
barnhillec

Yanıtlar:


40

Belirli bir kullanıcının sudo erişimi olup olmadığını bilmek için birlikte -lve -Useçenekleri kullanabiliriz .

Örneğin,

Kullanıcının sudo erişimi varsa, söz konusu kullanıcı için sudo erişimi düzeyini yazdırır.

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

Kullanıcının sudo erişimi yoksa, kullanıcının localhost'ta sudo çalıştırmasına izin verilmediğini yazdıracaktır.

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

4
Bu benim için çalışmıyor. Bana bilgi vermek yerine, tekrar şifre server:/home/drasto>$ sudo -l -U drasto [sudo] password for drasto:
sormamı istiyor:

9

-lAyrıcalıklarınızı listelemek için bayrağı kullanabilirsiniz .

-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.

Dosyada değilseniz, diğer makinede gördüğünüz "sudoers dosyasında değil" hatasını almalısınız.


2
Bu da benim için çalışmıyor. Sadece şifre server:/home/drasto>$ sudo -l [sudo] password for drasto:
sormamı

1
Şifreni
Kevin

1
@Kevin @Michael Şifrem çalışmıyor. Bu sunucu için yalnızca bir şifre biliyorum ve sunucuya giriş yapmak için kullandığım şifre. Bu sadece benim sudo şifremi sorduğumda çalışmıyor (yaklaşık 100 kez denedim, capslock, numlock, vb.). Fakat bütün düşünce bir anlam ifade etmiyor! Sudo ayrıcalıklarına sahip olup olmadığımı bilmek istiyorum ama bunu bulmak için sudo ayrıcalıklarına ihtiyacım var? Çalıştırmak için sudo -lsudo şifresine ihtiyacım var? Yani ben kök olup olmadığımı bilmek için kök olmak zorunda mıyım?
Rasto

1
@drasto Bill'in dediği gibi , giriş şifrenizi sudoarıyor . Yani, bunu denediyseniz ve işe yaramadıysa, ya sudo korkunç şekilde yanlış yapılandırılmış ya da uygun dosyaları göremediği veya okuyamayacağı türden bir hapishanedesiniz. Her iki durumda da, aslında herhangi bir sudo izniniz yok.
Kevin,

1
@Kevin O zaman muhtemelen bir tür hapishanedeyim. Aslında o makinede bu sudo izinlerine sahip olmamam gerektiğini düşünüyorum. Bu yüzden ilk başta sudo şifremi benden istediğimde şaşırdım. Neyse, aynen yazdığım gibi: giriş şifrem çalışmıyor.
Rasto

-1

Komutu kullanarak sudo grubunda olup olmadığınızı kontrol edebilirsiniz.

groups

Bir kabuk betiğinde bunu kullanmak isteyebilirsiniz:

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

1
Grubu olabilir sudo, admin, wheelbelirli kurallar vasıtasıyla, tamamen başka falan, hatta bir grup üyeliğiyle, bireysel bir kullanıcı belki inkar sudo erişimi (veya tersi).
muru

Bunun amacım için çok fazla yanlış negatif var (sertleşme doğrulaması). Kevin'in cevabı daha kesin.
StockB
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.