Neden bir 'ile sudo ile bir kök kabuk başlatabilirim! 'gölge girişinde?


9
$cat /etc/passwd |grep -i root
root:x:0:0:root:/root:/bin/bash

$sudo cat /etc/shadow |grep -i root
root:!:17179:0:99999:7:::

Gölge dosyasının ikinci alanında, !root kullanıcısının giriş yapamayacağı anlamına gelir , ancak root kullanıcısına neden giriş yapabilirim sudo su?

Neden root kullanıcısına su rootveya ile giriş yapamıyorum su -?


1
"Gölge dosyasının ikinci alanında,!" Root kullanıcısı giriş yapamaz "anlamına gelir . Hayır. Bunu nereden duydun?
Orbit'te Hafiflik Yarışları

@LightnessRacesinOrbit, ne anlama geliyor?
George Udosen

@George: muru, cevabında kılavuzu alıntıladı ve ayrıntılı olarak açıkladı. Belgeleri okumalısınız!
Yörüngede Hafiflik Yarışları

Yanıtlar:


15

Bir !de shadowgirişin şifreli şifre alanı vasıtası şifre yok buna karşı kimliğini doğrulayabilir söyledi. Gönderen man shadow:

If the password field contains some string that is not a valid
result of crypt(3), for instance ! or *, the user will not be able
to use a unix password to log in (but the user may log in the
system by other means).

Kılavuzda belirtildiği gibi, bu root olarak giriş yapamayacağınız anlamına gelmez. Bu sadece root hesabı için bir şifre kullanarak root olarak giriş yapamayacağınız anlamına gelir. (Örneğin, daha önce yapılandırmış olsanız bile, hesap kilitli olsa bile, SSH anahtarlarını kullanarak SSH aracılığıyla kök olarak oturum açabilirsiniz.)

sudonormalde root ile değil şifrenizle kimlik doğrulaması yapar . Bu birini ayarlayarak değiştirilebilir targetpw, rootpwya da runaspwiçinde sudoers. Bu seçeneklerden birini belirlerseniz ve şifre kilitliyken bir şifre kullanmaya çalışırsanız, bu başarısız olur .


Harika, yani sudo ile herhangi bir kullanıcıya geçebilirim ya aktif kullanıcı ya da kilitli kullanıcı, değil mi?
Sinoosh

1
@Sinoosh başka kısıtlama kabul
etmiyor

4

Şimdi komutlara uygun şekilde bakalım:

  1. sudo su:

    • sudokomutu su(kullanıcı yerine) root ayrıcalıklarıyla çalıştırır /etc/shadow, root:!:17179:0:99999:7:::öyle diyor ya da sahip olsa bile yine de root ayrıcalıklarına sahip komutları çalıştırır.
  2. su -veya su root:

    • Bu aslında anahtarları için root gelen /etc/shadowdosyanın her türlü çalışma bu komutları olmaz kullanarak giriş olamaz. Çalışmasını istiyorsanız, root hesabının bir parola verilerek kilidi açılmalıdır.

Özet:

su -0r su rootkullanıcı geçer root bu olmayacak, böylece mevcut değil, fakat sudo suçalışır komutunu geçiş ile rootbulunduğunuz eğer öyleyse bu durumda gidecek, ayrıcalıkları sudogrubuna. Bu durumda aslında root olarak giriş yapmıyorsunuz, sadece root gibi davranıyorsunuz .

Kaynak: 'su -' ve 'su root' arasındaki fark nedir?


Teşekkür ederim, sudo subu gölge dosyada geçiş alanları görmüyor demektir ?
Sinoosh

1
@Sinoosh koşmanın sudo suyanlış yoludur sudo shya da sudo bash.
17'de Bakuriu
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.