Выполните системную команду Linux как суперпользователя, с помощью сценария Python

Никогда не выполняйте ajax-вызов в компонентеWillMount.

Сделайте это в компонентеDidMount.

Также есть проблема с областью, для чего используйте предложение Alexander (bind). Другая возможность:

componentDidMount: function() {
    var self = this;
    twitter.get('statuses/user_timeline', function(error, data) {
        self.setState({tweets: data})
    });
}

Также более подробно здесь http://facebook.github.io/react/tips/initial-ajax.html (уже подчеркнуто климо в комментарии)

17
задан None-da 6 March 2009 в 13:22
поделиться

4 ответа

Можно или выполнить сценарий Python как сам корень - тогда Вы не должны будете добавлять полномочие перезагрузить постфикс.

Или можно настроить sudo для не необходимости в пароле для /etc/init.d/postfix.

sudo конфигурация (через visudo) позволяет NOPASSWD: позволить команду без пароля. См. http://www.sudo.ws/sudo/man/sudoers.html#nopasswd_and_passwd

<username>  ALL = NOPASSWD: /etc/init.d/postfix

или что-то подобное.

20
ответ дан 30 November 2019 в 12:44
поделиться
#include <unistd.h>
#include <stdlib.h>

// gcc -o reload_postfix reload_postfix.c
// chown root reload_postfix
// chmod +s reload_postfix

int main( int argc, char **argv ) {
    setuid( geteuid() );
    system("/etc/init.d/postifx reload");
}

Обертка Ваша команда в программе setuid-редактора. Это позволит любому пользователю перезапустить постфикс. Можно, конечно, далее ограничить выполнить разрешение определенными группами.

4
ответ дан 30 November 2019 в 12:44
поделиться

Ответить на ошибку: "sudo: извините, у Вас должен быть tty для выполнения sudo", у нас есть установка, названная "Значения по умолчанию requiretty" в sudoers файле. Я пытался комментировать его, и это работало: D.

3
ответ дан 30 November 2019 в 12:44
поделиться
import os
os.popen("sudo -S /etc/init.d/postifx reload", 'w').write("yourpassword")

Это, конечно - почти всегда не хорошая идея, как пароль находится в простом тексте.

2
ответ дан 30 November 2019 в 12:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: