SORU
13 AĞUSTOS 2013, Salı


Nasıl eğer root olarak bir bash betiği çalışıyor olmadığını kontrol etmek için

Ben yazılı bir komut dosyası gerektirir kök düzeyinde izinler, ve yapmak istiyorum ki eğer bu programı çalıştırın root olarak, sadece yankıları "please run as root." ve çıkar.

İşte aradığım için bazı sözde kod:

if (whoami != root)
  then echo "Please run as root"

  else (do stuff)
fi

exit

Nasıl en iyi (temiz ve güvenli bir şekilde) bunu başarabilecek miyim? Teşekkürler!

Ah, sadece netleştirmek için: (şeyler) kısmen-ve-kök kendileri gerektiren komutları çalışan içerecektir. Yani normal bir kullanıcı olarak çalışan sadece bir hata ile geldi. Bu sadece temiz bir şekilde kök komutları gerektiren bir komut dosyasını çalıştırmak için tasarlanmıştır, bu senaryo içinde sudo kullanmadan, sadece bazı sözdizimsel şeker arıyorum.

CEVAP
13 AĞUSTOS 2013, Salı


$EUİD ortam değişkeni, geçerli kullanıcının UİD tutar. Kök UID 0. Komut: böyle bir şey kullanın

if [ "$EUID" -ne 0 ]
  then echo "Please run as root"
  exit
fi

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • arnejann

    arnejann

    3 Kasım 2007
  • Attempts at least

    Attempts at

    1 Ocak 2007
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009