Sudo'yu bir şifre sormaya zorlama


26

Aşağıdakileri yaparsam:

sudo su -
//enter password
exit
exit
//login again straight away
sudo su -

İkinci sudo çağrısı bir şifre istemiyor çünkü tekrar çıkış yapmama rağmen, yine de bir süre içinde bulunduğum anlamına geliyor, yani şifremi tekrar istemem gerekmiyor.

Çünkü çalıştıklarından emin olmak için bazı yeni mahremiyetler deniyorum, bu zaman aşımının gerçekleşmesini beklerken bu beni gerçekten yavaşlatıyor.

Zaman aşımını sıfırlamak için çalıştırabileceğim bir komut var mı?

Bu arada zaman aşımını değiştirmek veya diğer kullanıcıları etkilemek istemiyorum!


Yine de sudo'dan şifre sormaya zorlayamıyorsanız, /etc/sudoers.d/dizinde varsa, "NOPASSWD" yazan kullanıcı kurallarını da yorumlamanız gerekebilir . Ben çizgi var #includedir /etc/sudoers.diçinde /etc/sudoerssatır bir açıklama ile devre dışı bırakıldığını ve gerçi ama benziyor #önce includedirbir yorum olarak okunan değil!
baptx

Yanıtlar:


40

sudo -kZaman aşımı zaman damgasını öldürür. Komutu sonradan bile koyabilirsiniz, örneğinsudo -k test_my_privileges.sh

Kimden man sudo:

-K -K (kesin öldürme) seçeneği, kullanıcının zaman damgasını tamamen kaldırması dışında bir komut veya başka bir seçenekle birlikte kullanılamaması dışında -k şeklindedir. Bu seçenek şifre gerektirmez.

-k Kendi başına kullanıldığında, sudo için -k (kill) seçeneği, saati Epoch olarak ayarlayarak kullanıcının zaman damgasını geçersiz kılar. Bir dahaki sefer sudo çalıştırıldığında, bir şifre gerekecek. Bu seçenek bir şifre gerektirmez ve bir kullanıcının bir .logout dosyasındaki sudo izinlerini iptal etmesine izin vermek için eklendi.

Kalıcı olarak da değiştirebilirsiniz. Kimden man sudoers:

timestamp_timeout

Sudo'dan önce geçebilecek dakika sayısı tekrar şifre isteyecektir. Zaman aşımı, eğer dakika granülerliği yetersizse, örneğin 2.5 gibi bir kesirli bileşen içerebilir. Varsayılan 5'tir. Bunu her zaman bir şifre sormak için 0'a ayarlayın. 0'dan küçük bir değere ayarlanırsa, kullanıcının zaman damgası asla dolmaz. Bu, kullanıcıların sırasıyla sudo -v ve sudo -k aracılığıyla kendi zaman damgalarını oluşturmasına veya silmesine izin vermek için kullanılabilir.


2
Özen gösterin sudo -k commandolacak değil kimlik bilgilerini kaldırın. Yalnızca geçerli kimlik bilgilerini yok sayar ve bunları saklamaz.
user1346466

Sadece buna eklemek için. Zaman damgası zaman aşımını değiştirmek istiyorsanız, sudoersdosyayı ile düzenlemeniz gerekir sudo visudo. Sonra satırı dosyadaki Defaults timestamp_timeout = 0diğer listenin sonuna ekleyin Defaults. "Normal" zaman aşımına geri dönmek için çizgiyi tekrar alın.
Floris,


5

Shawn'ın cevabı harika ancak bu durumda faydalı olabilecek ilave bir yapılandırma seçeneği var.

Kimden man sudoers:

tty_tickets

Ayarlanırsa, kullanıcıların her bir kişi için kimlik doğrulaması yapması gerekir. Bu bayrak etkinken, sudo, kullanıcının zaman damgası dizininde kullanıcının oturum açtığı tty için bir dosya kullanır. Devre dışı bırakılırsa, dizinin zaman damgası kullanılır.

Bu bayrak varsayılan olarak açıktır.

Kimden man sudo:

Tty_tickets seçeneği sudoers'da etkinleştirildiğinde, zaman damgası tty tane ayrıntı derecesine sahiptir ancak yine de kullanıcının oturumunu aşabilir. Solaris cihazların kullanıldığı Linux sistemlerinde, Solaris cihazların dosya sistemi ile birlikte, sistemlerin oluşturuldukları gibi inode sayısını (Mac OS X gibi) monoton olarak arttıran bir devfs dosya sistemi kullanan diğer sistemlerle sudo yapabiliyor. tty tabanlı bir zaman damgası dosyasının ne zaman eski olduğunu ve onu yoksaymasını belirlemek için. Yöneticiler, evrensel olarak mevcut olmadığından bu özelliğe güvenmemelidir.

Bence nispeten yeni. Sisteminiz destekliyorsa, oturumu kapatıp giriş yaparsanız, sudo şifrenizi tekrar ister. ( sudo -KKabuklarımda oturum kapatma komut dosyası da var.)

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.