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

  • Android Authority

    Android Auth

    3 NİSAN 2011
  • bobono1baby

    bobono1baby

    14 AĞUSTOS 2011
  • SVB International

    SVB Internat

    29 EKİM 2011