Sudo için bir anahtar dosyası parola olarak kullanılabilir mi?


11

bağlam

Dizüstü bilgisayarımda herkese açık olarak çalışmayı seviyorum, ancak sudo'yu şifre olmadan da kullanmayı seviyorum. Şimdi bildiklerime dayanarak, dosyamdaki NOPASSWDseçeneği kullanacağım sudoers, ancak tabii ki herkes istediği gibi sudo kullanabilir.

Aklıma gelen önemli bir düşünce , kilitleme programlarının mevcut olduğudur. Ancak, (1) daha hızlı, (2) şifremi girmekten daha kolay ve (3) İçeriğime erişen veya hain yapan kişilerle ilgilenmiyorum çünkü bir flash sürücü kullanmayı tercih ediyorum (ve sadece sudo için kullanmayı) şeyler: dizüstü bilgisayar diğer insanların etrafında halka açık olurdu ve dizüstü bilgisayarımdaki tek fikri mülkiyet çok temel bir Açısal projedir.

Ayrıca, ben ve diğerleri X veya Wayland ortamı çalıştırmayan bir bilgisayarda sudo'nun yanlış kullanımını önlemek isteyebilir. Şu anki işim modern bir web tarayıcısı gerektiriyor, ancak X'i kullanma ve sadece bir çoklayıcı kullanma şansım olursa, bunu yapıyorum - dizüstü bilgisayarım biraz eski ve yavaş.

Soru

Yapmak istediğim şey, bir flash sürücüye bir anahtar dosyası koymak ve dizüstü bilgisayardayken flash sürücüyü takmak ve ondan uzaklaştığımda çıkarmak.

İşte bu problemden elde ettiğim üç sorum:

  1. Bu sudo ile olduğu gibi mümkün mü?
  2. Değilse, bunu yapmama izin veren bir program yazabilir miyim?
  3. Öyleyse, bu programı yazmak için en iyi dil hangisi olabilir?

(4. [Belki de yabancı bir soru] Bu paket ayrı olabilir mi yoksa sudo çatalı mı olmalı?)

Not

İlgili ise, kurulumum bspwm ile Arch Linux, masaüstü ortamı yok. İşimin çoğu urxvt / vim'de web geliştirme ve Chrome ile kontrol etme.


1
Mu pam_usb ihtiyaçlarınızı karşılayacak?
StrongBad

@StrongBad Oh ... evet. O hemen yapmaz benziyor sadece Sudo ve giriş yapar ve birlikte Sudo, ama bu benim için önemli değil. Teşekkürler!
Gage Sorrell

2
Tamam, açıklığa kavuşturmak için sürekli giriş yapmak ve insanların hesabınızın altında sudo kullanmasını önlemek istiyorsunuz.
StrongBad

@StrongBad Doğru.
Gage Sorrell

Dosyalardaki rootpwbayrağı kullanarak ve kök girişi için /etc/sudoersayar yaparak bir şeyler yapılandırabilirsiniz pam_usb.
RubberStamp

Yanıtlar:


3

NOPASSWDSeçeneğin neden gereksinimlerinizi tek başına karşılamadığını anladığımdan emin değilim , ancak flash sürücünün varlığını istiyorsanız, aradığınızı neredeyse yapacak bir şey düşünebilirim.

Bu daha çok bir çözümdür, ancak yerel bir yönetici kullanıcı oluşturabilir, diyelim superuserve bu kullanıcıya şifresiz sudohaklar verebilir , yani /etc/sudoersdosyanıza aşağıdaki satırı ekleyebilirsiniz :

superuser ALL=(ALL) NOPASSWD:ALL

Daha sonra, şifre girişini devre dışı bırakabilir ve söz konusu kullanıcı için yalnızca anahtar SSH kimlik doğrulamasını yapılandırabilirsiniz; örneğin passwd -l superuser, aşağıdaki stanzı çalıştırıp kendi hesabınıza ekleyebilirsiniz /etc/ssh/sshd_config:

Match user superuser
PasswordAuthentication no

Ardından bu kullanıcı için bir SSH anahtar çifti oluşturun. Genel anahtarı ekleyin ve /home/superuser/.ssh/authorized_keysözel anahtarı flash sürücünüze yerleştirin. Daha sonra superuserhesabı kullanmak istediğinizde , flash sürücünüzü ve ssh'yi superuserözel anahtarınızı kullanarak hesaba takın . Ve voilà! Artık sudokullanıcınız için şifresizsiniz . Tabii ki işiniz bittiğinde hala kabuk oturumlarınızdan çıkmanız gerekecek - flash sürücüyü çıkarmak yeterli olmayacak. Her ne kadar sanırım özel anahtarı kontrol etmek ve yoksa (veya geçersizse) otomatik olarak çıkmak için bir precommand kanca kurabilirsiniz .


bunu neden yapmak isteyebileceğinize dair net bir cevap. geri almaya çalışırken bu sunucu im için, ben sadece kök anahtar, hiçbir kök ssh erişim, im sudo i pw sahip olmayan bir pw soran ec2 kullanıcı, kilitli var. sunucuya benim kök anahtar scp'd, bu yüzden şimdi ideal sudo acces kazanmak için bu anahtarı kullanmak istiyorum, o zaman bir şeyler düzeltebilirsiniz.
Brian Thomas
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.