komut dosyasını sudo ile çalıştır ve güvenliği kontrol et


1

Ben sudo ile çalıştırmam gereken bir betiğim var.

#!/bin/bash

cp "$@" /destionation/dir

İyi bir senaryo mu yoksa birisi hedef hedefini kısıtlamayı geçebilir mi?

Önerileriniz için teşekkürler.

Yanıtlar:


0

Şey, küçük bir yazım hatası var: /destionation yerine /destination.

Orada Hangi Bu betiğin güvenlik sorunları.

Bir kullanıcı geçebilir `sudo /bin/bash` dosya adı olarak, ve sonra bir kök kabuğu olurdu.

Ayrıca aşağıdakiler gibi komutları yerleştirebilirler:

`sudo /bin/bash; echo "hello" >> /tmp/from_root`

Kök kullanıcı olarak çalışan herhangi bir işlem grubunu oluşturmak için.

Bu betiği kullanmamanı tavsiye ederim çünkü hedef dizin sadece önemli değil, aynı zamanda daha büyük sorunların var.

Muhtemelen daha iyi bir çözüm, dünyaca yazılabilir bir dizin oluşturmaktır, böylece sudo izinlerine ihtiyacınız yoktur.


Bunu test etmek benim için işe yaramıyor. Ben bir komut dosyası var echo "$@", fakat ./script '`echo $0`' döner _`echo $0` (alt çizgi olmadan). İle aynı ./script \`echo \$0\` . Bash otomatik olarak komut dosyalarına ilettiği argümanlardan kaçıyor mu?
Zaz
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.