SORU
17 EYLÜL 2010, Cuma


Sudo şifre için bana sormadan kumaş engelleyebilir miyim?

Fabric uzak sunucuda komut çalıştırmak için kullanıyorum. Hangi sunucuda bağlanma kullanıcı sudo bazı ayrıcalıkları vardır ve bu yetkileri kullanmak için bir parola gerektirmez. Sunucu SSH yapıyor, bir parola sormadan sudo blah ve komutu yürütür çalıştırabilirsiniz. Kumaş ile aynı komut sudo işlevi çalıştırmak için çalıştığınızda, bir parola istenir. Bu Kumaş sudo kullanırken, aşağıdaki şekilde bir komut oluşturur çünkü

sudo -S -p <sudo_prompt> /bin/bash -l -c "<command>"

Açıkçası, benim Kullanıcı şifre olmadan /bin/bash çalıştırmak için izni yok.

sudo("blah") yerine run("sudo blah") kullanarak bu sorunu çalıştım ama eğer daha iyi bir çözüm olup olmadığını merak ettim. Bu sorun için bir çözüm var mı?

CEVAP
17 EYLÜL 2010, Cuma


shell=False sudo geçirmeden deneyin. Yol /bin/bash sudo komutu için eklenmeyecek. sudo('some_command', shell=False)

Satır fabric/operations.py 503:

if (not env.use_shell) or (not shell):
    real_command = "%s %s" % (sudo_prefix, _shell_escape(command))

else bloğu bu gibi görünüyor:

                                             # V-- here's where /bin/bash is added
real_command = '%s %s "%s"' % (sudo_prefix, env.shell,
    _shell_escape(cwd   command))

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jkimisyellow

    jkimisyellow

    6 Mayıs 2009
  • MysteryGuitarMan

    MysteryGuita

    16 HAZİRAN 2006
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008