Я пытаюсь использовать библиотеку sh для Python3 для запуска команды от имени другого пользователя.Но я не получаю никакого вывода, и команда бежит, кажется правильным.Кто-нибудь знает, как заставить это работать?
Редактировать: Возвращает код ошибки 1.
Код:
passwd = input('Enter pass:')
passwd = r'{0}\n'.format(passwd)
my_user = sh.sudo.bake('-S', '-u', 'www-data', _in=passwd)
try:
a = my_user.ls('/home/dev/xxxxxx/html/')
print(a)
except Exception as e:
print('\n\n{0}'.format(e))
Вывод:
dev@node:~/scripts$ ./backup.py
Enter pass:xxxxxxx
RAN: /usr/bin/sudo -S -u www-data ls /home/dev/xxxxxxx/html/
STDOUT:
STDERR:
[sudo] password for dev:
dev@node:~/scripts$
Ручной запуск:
dev@node:~/scripts$ /usr/bin/sudo -S -u www-data ls /home/dev/xxxxxxx/html/
[sudo] password for dev:
index.php wp-admin wp-config-sample.php wp-links-opml.php wp-settings.php
license.txt wp-blog-header.php wp-content wp-load.php wp-signup.php
readme.html wp-comments-post.php wp-cron.php wp-login.php wp-trackback.php
wp-activate.php wp-config.php wp-includes wp-mail.php xmlrpc.php
dev@node:~/scripts$