Sudo'dan root şifresini nasıl isteyebilirim?


25

sudoNormal bir ayrıcalıklı kullanıcı olarak çalıştırdığımda root şifresini değil şifremi ister. Bu genellikle uygundur, ancak komutları root olarak çalıştırmak için birisinin sahip olması gereken bilgi miktarını azaltır. Öyleyse sudo, çağıran kullanıcının şifresi yerine kök şifresini nasıl sorabilirim?

İçinde bir satır olacaktı biliyorum /etc/sudoers, ama tam olarak ne yazacağımı bulmak için man sayfasındaki BNF dilbilgisi düzgün düzgün ayrıştırmak gibi görünmüyor.


Kök olmayan kullanıcı olarak izin verilen komutları kısıtlamanızı öneririm, böylece keyfi komutları göstermek konusunda endişelenmenize gerek kalmaz.
Slartibartfast

@slartibartfast: peki önceden onaylanmış listede olmayan bir root komutunu çalıştırmam gerektiğinde ne olur?
David Z,

Yanıtlar:


25

Tamam, işte yine burada, onay işaretini ayarlayabilirsiniz.

Olarak /etc/sudoers, bu satırı ekleyin:

Defaults rootpw

rootpw bayrağını açmak için, sudo'nun root şifresini sormasını sağlayın.


7
Dosyayı visudoelle düzenlemek yerine her zaman komutu kullanmanız gerekir /etc/sudoers. visudoEğer sudo dışarı ulaşamama böylece bir yazım hatası yaparsanız, emin kaydetmeden önce doğru olduğundan olmak için dosyayı doğrular ... askubuntu.com/a/81054/166411
Colin D Bennett

5

rootpwBayrağı açman gerek .


Söylediğim gibi, man sayfasındaki BNF notasyonu üzerinden çalışamadım - /etc/sudoersbu bayrağını etkinleştirmek için hangi satırı ekleyeceğim ?
David Z,

2
Rootpw Varsayılanları
Florian Diesch

@ Florian: whaddya biliyor, bu kadar kolay :-) Eğer cevap olarak yazarsanız onay işaretini alırsınız.
David Z,

3

Bu sorunun eski olduğunu biliyorum, ancak bu kullanım için bulduğum en özlü soru (bu küçük bir yüzde, doğru, ancak yine de meşru ve doğru senaryoda yardımcı).

Tüm adımları çeşitli kaynaklardan bir araya getirdikten sonra - bu soruya verilen cevaplar da dahil olmak üzere, bu adımlar Ubuntu-Gnome 16.04 LTS üzerinde çalışır:

  1. Kök için bir şifre belirle
    • Bu İLK yapmak için KRİTİK ! (Standart güvenlik yapılandırması nedeniyle Ubuntu’nun ROOT kullanıcısı için otomatik olarak şifresi yoktur.
    • Önce bunu yapmazsanız, kök ayrıcalıklara erişmekten kendinizi alıkoyacaksınız. Canlı Diske girerek, sabit sürücüyü monte ederek ve sudoers dosyasını düzenleyerek bunun üstesinden gelinebilir, ancak bundan kaçınmak en iyisidir.
    • Bir terminal açın ve şunu girin: sudo passwd
    • ROOT kullanıcısı için yeni şifrenizi ayarlayın.
  2. SUDO yapılandırmasını root şifresi gerektirecek şekilde değiştirin
    • SUDO, kullanıcının root yetkileri talep etmesini gerektiriyor
    • "Rootpw" bayrağını ayarlamak, SUDO'ya root kullanıcısı için şifre gerektirmesini söyler.
    • Bir terminal açın ve şunu girin: sudo visudo
    • Bu "/ etc / sudoers" dosyasını açacak
    • Diğer "Varsayılanlar" satırından sonra şunu ekleyin: Defaults rootpw
    • Kaydet (varsayılan olarak nano'da olduğunu varsayarsak, bu varsayılan, CTRL + O)
    • Dosyayı kapatın (CTRL + X) ve terminalden çıkın
  3. Sen bittin!

Sadece kısa bir not - Ayrıca kök kullanıcının grafiksel oturum açmadan oturum açmak için kullanılamayacağından emin olmak istedim ve dışlanmanın yollarını arıyordum. Görünüşe göre, kök kullanıcı varsayılan olarak hariç tutulur ve Gnome grafiksel giriş bilgileriyle oturum açmak için kullanılamaz - ki bu çok iyi bir şey!


Bir aşağı oyu ters çevirmek için iyileştirmeler önerebilir misiniz?
SRDC

Yanlış görünmüyor.
Ruslan

1
Muhtemelen çünkü basit (ve çalışan) bir yapılandırma: root ALL=(ALL) ALL Defaults targetpw ALL ALL=(ALL) ALL Kök şifresini bilen her kullanıcı için kök sudo izin verir. Son olarak, son iki çizgiyi çözümünüze dönüştürmek Defaults rootpw, kilitlenmenize neden olur sudo. Ayrıca, kullanıcılarınızı aşağıdakileri yapmak için eklemeniz gerekir sudoers: myusername ALL=(ALL) ALLveya bir gruba benzer yetkiler vermeniz ve ardından myusernameo gruba eklemeniz gerekir.
Paul Parker

1

Hedefin şifresini gerektiren ortak bir yapılandırma (istediğimiz şeyi değil):

Defaults targetpw
ALL ALL=(ALL) ALL

İkinci satır şu şekilde yüksek sesle okunur: "TÜM ana bilgisayarlardaki TÜM kullanıcılar TÜM komutları çalıştırırken (TÜM) kullanıcıları taklit edebilir." ve Defaults targetpwkimliğe büründürdüğü kullanıcının şifresini bilmeleri gerektiği anlamına gelir.

Bu basit konfigürasyonu saf olarak değiştirmek için:

Defaults rootpw

komutları başka bir kullanıcı olarak çalıştırma ayrıcalığına sahip bir kullanıcı veya grup bırakmaz.

Bir çalışma olasılığı şöyle olurdu:

Defaults rootpw
myuser ALL=(ALL) ALL

Düz İngilizce olarak, myuserartık root şifresi bilindiği sürece ALL komutlarını TÜM ana bilgisayarlarda herhangi bir kullanıcı olarak çalıştırma olanağına sahiptir.

Başka bir çalışma olasılığı olacaktır:

Defaults rootpw
%sudousers ALL=(ALL) ALL

sudousersGrubun herhangi bir üyesi , root şifresi bilindiği sürece ALL komutlarını TÜM ana bilgisayarlarda herhangi bir kullanıcı olarak çalıştırabilir. myuserSudo komutlarını çalıştırmaya izin vermek için sudousersikincil gruplarına eklenmesi gerekir.

su
usermod -a -G sudousers myuser
exit

Harika bir açıklama. Gönderdiğim adım adım (Ubuntu varsayılanlarına göre çalıştı) daha ayrıntılı.
SRDC

0

Sadece sudo'yu kapatıp kullanabilirsin su -c.


Uygunsuz çünkü her çalıştırdığımda şifremi girmek zorunda kalıyorum. Buradaki kullanım örneği, art arda hızlıca root olarak çoklu komutlar çalıştırmak zorunda.
David Z,

-1

kullanma

Sudo Su

art arda istediğiniz kadar komut çalıştırmanıza izin verecektir.


2
İyi fikir, ancak sudoroot şifresini isteyip istemediğimde, bu sadece bir şifre (root's değil) sunarak birinin root erişimi kazanmasına izin verir. Bu yüzden benim soruma neden olan güvenlik sorununu gerçekten ele almıyor.
David Z,

Sudo'yu kullanıcının erişimini sınırlandırma kapasitesini kullanmak yerine, kök şifrenizi çok sayıda kullanıcıya maruz bırakıyorsunuz. Ayrıca, parolayı kökünden kaldırarak sunucunuzu güvence altına alma özelliğini de kaldırıyorsunuz.
BillThor
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.