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

  • optionalinfo

    optionalinfo

    29 EKİM 2005
  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008
  • SamsTech

    SamsTech

    4 NİSAN 2014