Как создать приложение Python, которое запрашивает разрешения sudo? [Дубликат]

$ sudo add-apt-repository ppa: graphics-drivers / ppa $ sudo apt update

Это лучшее решение. Это и обновить драйвер nvidia, и он работает с ядрами 4.13. Nvidia 340.104 работает с ядром 4.13 без проблем. Я тестировал его на респираторную кишку 8

13
задан 21 May 2012 в 16:52

20 ответов

Здесь есть два разных вопроса: И как в stackoverflow, отвечая на ваш вопрос: здесь и здесь .

В обоих ответах используется команда gksudo ( уже упомянутый @khamer). Если вы запустите gksudo command (также без python), он в основном сделает то, что делает sudo, но с графическим интерфейсом - то есть попросите пользователя ввести пароль, а затем запустите команду как пользователь root, если пользователь находится в файле sudoers.

Чтобы реализовать предлагаемое решение из связанных ответов в python, вы можете использовать что-то, как показано в следующем примере:

Создать файл run.py:

#!/usr/bin/python

import subprocess
subprocess.call(['gksudo','python create.py'])

И файл create.py:

#!/usr/bin/python

# Create test file..
f = file("mytestfile", "w")

Затем запустите python run.py, и после ввода пароля будет создан файл, принадлежащий root. Если вы запустите python create.py, он будет принадлежать вам (файл не должен существовать до запуска скрипта).

8
ответ дан 25 July 2018 в 18:22

Хотя я уверен, что есть более приятное решение python, пустая и грязная версия - использовать gksudo. gksudo делает то же самое, что и sudo, за исключением того, что он создает этот диалог для аутентификации, который вы упомянули, вместо запроса в командной строке.

См. https://help.ubuntu.com/community/RootSudo# Graphical_sudo

3
ответ дан 25 July 2018 в 18:22

Вставьте этот скрипт в свой код:

import os

Password = raw_input('Please enter your root password!')

sudo_command = '<your command>'

execute = os.system('echo %s|sudo -S %s' % (Password, sudo_command))
0
ответ дан 25 July 2018 в 18:22

Здесь есть два разных вопроса: И как в stackoverflow, отвечая на ваш вопрос: здесь и здесь .

В обоих ответах используется команда gksudo ( уже упомянутый @khamer). Если вы запустите gksudo command (также без python), он в основном сделает то, что делает sudo, но с графическим интерфейсом - то есть попросите пользователя ввести пароль, а затем запустите команду как пользователь root, если пользователь находится в файле sudoers.

Чтобы реализовать предлагаемое решение из связанных ответов в python, вы можете использовать что-то, как показано в следующем примере:

Создать файл run.py:

#!/usr/bin/python

import subprocess
subprocess.call(['gksudo','python create.py'])

И файл create.py:

#!/usr/bin/python

# Create test file..
f = file("mytestfile", "w")

Затем запустите python run.py, и после ввода пароля будет создан файл, принадлежащий root. Если вы запустите python create.py, он будет принадлежать вам (файл не должен существовать до запуска скрипта).

8
ответ дан 2 August 2018 в 00:34

Хотя я уверен, что есть более приятное решение python, пустая и грязная версия - использовать gksudo. gksudo делает то же самое, что и sudo, за исключением того, что он создает этот диалог для аутентификации, который вы упомянули, вместо запроса в командной строке.

См. https://help.ubuntu.com/community/RootSudo# Graphical_sudo

3
ответ дан 2 August 2018 в 00:34

Вставьте этот скрипт в свой код:

import os

Password = raw_input('Please enter your root password!')

sudo_command = '<your command>'

execute = os.system('echo %s|sudo -S %s' % (Password, sudo_command))
0
ответ дан 2 August 2018 в 00:34

Здесь есть два разных вопроса: И как в stackoverflow, отвечая на ваш вопрос: здесь и здесь .

В обоих ответах используется команда gksudo ( уже упомянутый @khamer). Если вы запустите gksudo command (также без python), он в основном сделает то, что делает sudo, но с графическим интерфейсом - то есть попросите пользователя ввести пароль, а затем запустите команду как пользователь root, если пользователь находится в файле sudoers.

Чтобы реализовать предлагаемое решение из связанных ответов в python, вы можете использовать что-то, как показано в следующем примере:

Создать файл run.py:

#!/usr/bin/python

import subprocess
subprocess.call(['gksudo','python create.py'])

И файл create.py:

#!/usr/bin/python

# Create test file..
f = file("mytestfile", "w")

Затем запустите python run.py, и после ввода пароля будет создан файл, принадлежащий root. Если вы запустите python create.py, он будет принадлежать вам (файл не должен существовать до запуска скрипта).

8
ответ дан 4 August 2018 в 16:04

Хотя я уверен, что есть более приятное решение python, пустая и грязная версия - использовать gksudo. gksudo делает то же самое, что и sudo, за исключением того, что он создает этот диалог для аутентификации, который вы упомянули, вместо запроса в командной строке.

См. https://help.ubuntu.com/community/RootSudo# Graphical_sudo

3
ответ дан 4 August 2018 в 16:04

Вставьте этот скрипт в свой код:

import os

Password = raw_input('Please enter your root password!')

sudo_command = '<your command>'

execute = os.system('echo %s|sudo -S %s' % (Password, sudo_command))
0
ответ дан 4 August 2018 в 16:04

Здесь есть два разных вопроса: И как в stackoverflow, отвечая на ваш вопрос: здесь и здесь .

В обоих ответах используется команда gksudo ( уже упомянутый @khamer). Если вы запустите gksudo command (также без python), он в основном сделает то, что делает sudo, но с графическим интерфейсом - то есть попросите пользователя ввести пароль, а затем запустите команду как пользователь root, если пользователь находится в файле sudoers.

Чтобы реализовать предлагаемое решение из связанных ответов в python, вы можете использовать что-то, как показано в следующем примере:

Создать файл run.py:

#!/usr/bin/python

import subprocess
subprocess.call(['gksudo','python create.py'])

И файл create.py:

#!/usr/bin/python

# Create test file..
f = file("mytestfile", "w")

Затем запустите python run.py, и после ввода пароля будет создан файл, принадлежащий root. Если вы запустите python create.py, он будет принадлежать вам (файл не должен существовать до запуска скрипта).

8
ответ дан 6 August 2018 в 00:41

Хотя я уверен, что есть более приятное решение python, пустая и грязная версия - использовать gksudo. gksudo делает то же самое, что и sudo, за исключением того, что он создает этот диалог для аутентификации, который вы упомянули, вместо запроса в командной строке.

См. https://help.ubuntu.com/community/RootSudo# Graphical_sudo

3
ответ дан 6 August 2018 в 00:41

Вставьте этот скрипт в свой код:

import os

Password = raw_input('Please enter your root password!')

sudo_command = '<your command>'

execute = os.system('echo %s|sudo -S %s' % (Password, sudo_command))
0
ответ дан 6 August 2018 в 00:41

Здесь есть два разных вопроса: И как в stackoverflow, отвечая на ваш вопрос: здесь и здесь .

В обоих ответах используется команда gksudo ( уже упомянутый @khamer). Если вы запустите gksudo command (также без python), он в основном сделает то, что делает sudo, но с графическим интерфейсом - то есть попросите пользователя ввести пароль, а затем запустите команду как пользователь root, если пользователь находится в файле sudoers.

Чтобы реализовать предлагаемое решение из связанных ответов в python, вы можете использовать что-то, как показано в следующем примере:

Создать файл run.py:

#!/usr/bin/python

import subprocess
subprocess.call(['gksudo','python create.py'])

И файл create.py:

#!/usr/bin/python

# Create test file..
f = file("mytestfile", "w")

Затем запустите python run.py, и после ввода пароля будет создан файл, принадлежащий root. Если вы запустите python create.py, он будет принадлежать вам (файл не должен существовать до запуска скрипта).

8
ответ дан 7 August 2018 в 18:07

Хотя я уверен, что есть более приятное решение python, пустая и грязная версия - использовать gksudo. gksudo делает то же самое, что и sudo, за исключением того, что он создает этот диалог для аутентификации, который вы упомянули, вместо запроса в командной строке.

См. https://help.ubuntu.com/community/RootSudo# Graphical_sudo

3
ответ дан 7 August 2018 в 18:07

Здесь есть два разных вопроса: И как в stackoverflow, отвечая на ваш вопрос: здесь и здесь .

В обоих ответах используется команда gksudo ( уже упомянутый @khamer). Если вы запустите gksudo command (также без python), он в основном сделает то, что делает sudo, но с графическим интерфейсом - то есть попросите пользователя ввести пароль, а затем запустите команду как пользователь root, если пользователь находится в файле sudoers.

Чтобы реализовать предлагаемое решение из связанных ответов в python, вы можете использовать что-то, как показано в следующем примере:

Создать файл run.py:

#!/usr/bin/python

import subprocess
subprocess.call(['gksudo','python create.py'])

И файл create.py:

#!/usr/bin/python

# Create test file..
f = file("mytestfile", "w")

Затем запустите python run.py, и после ввода пароля будет создан файл, принадлежащий root. Если вы запустите python create.py, он будет принадлежать вам (файл не должен существовать до запуска скрипта).

8
ответ дан 10 August 2018 в 06:54

Хотя я уверен, что есть более приятное решение python, пустая и грязная версия - использовать gksudo. gksudo делает то же самое, что и sudo, за исключением того, что он создает этот диалог для аутентификации, который вы упомянули, вместо запроса в командной строке.

См. https://help.ubuntu.com/community/RootSudo# Graphical_sudo

3
ответ дан 10 August 2018 в 06:54

Вставьте этот скрипт в свой код:

import os

Password = raw_input('Please enter your root password!')

sudo_command = '<your command>'

execute = os.system('echo %s|sudo -S %s' % (Password, sudo_command))
0
ответ дан 10 August 2018 в 06:54

Здесь есть два разных вопроса: И как в stackoverflow, отвечая на ваш вопрос: здесь и здесь .

В обоих ответах используется команда gksudo ( уже упомянутый @khamer). Если вы запустите gksudo command (также без python), он в основном сделает то, что делает sudo, но с графическим интерфейсом - то есть попросите пользователя ввести пароль, а затем запустите команду как пользователь root, если пользователь находится в файле sudoers.

Чтобы реализовать предлагаемое решение из связанных ответов в python, вы можете использовать что-то, как показано в следующем примере:

Создать файл run.py:

#!/usr/bin/python

import subprocess
subprocess.call(['gksudo','python create.py'])

И файл create.py:

#!/usr/bin/python

# Create test file..
f = file("mytestfile", "w")

Затем запустите python run.py, и после ввода пароля будет создан файл, принадлежащий root. Если вы запустите python create.py, он будет принадлежать вам (файл не должен существовать до запуска скрипта).

8
ответ дан 15 August 2018 в 18:51

Хотя я уверен, что есть более приятное решение python, пустая и грязная версия - использовать gksudo. gksudo делает то же самое, что и sudo, за исключением того, что он создает этот диалог для аутентификации, который вы упомянули, вместо запроса в командной строке.

См. https://help.ubuntu.com/community/RootSudo# Graphical_sudo

3
ответ дан 15 August 2018 в 18:51
  • 1
    Поскольку это вопрос о программировании для Ubuntu в Python, можете ли вы привести пример кода, показывающий, как использовать gksu / gksudo в программе Python? – Eliah Kagan 26 May 2012 в 19:52
  • 2
    @EliahKagan Я написал ответ с примером, который, надеюсь, удовлетворит ваши требования! :) – lumbric 30 May 2012 в 02:27

Вставьте этот скрипт в свой код:

import os

Password = raw_input('Please enter your root password!')

sudo_command = '<your command>'

execute = os.system('echo %s|sudo -S %s' % (Password, sudo_command))
0
ответ дан 15 August 2018 в 18:51

Другие вопросы по тегам:

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