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

  • Flash CS6 Video Tutorials for Beginners (Actionscript 3 Gaming)

    Flash CS6 Vi

    14 EYLÜL 2012
  • GoProTutorials

    GoProTutoria

    18 NİSAN 2011
  • Music EuroDance 2

    Music EuroDa

    12 Mayıs 2011