Создайте команду от имени пользователя root и выполните аутентификацию с помощью Polkit/rpassword.Linux

Ответить Пред. темаСлед. тема
Anonymous
 Создайте команду от имени пользователя root и выполните аутентификацию с помощью Polkit/rpassword.

Сообщение Anonymous »

Я пытаюсь создать команду с помощью sudo и передать пароль процессу через реализацию BufRead в rpassword.
Чтобы не запрашивать ввод пароль на телетайпе. Я использую флаг -S для sudo. При создании команды я беру() стандартный ввод, создаю другой поток и записываю сохраненный пароль через BufRead в стандартный ввод; как предложено в документации.
Вот пример кода:

Код: Выделить всё

use rpassword::read_password_from_bufread;
use std::{
io::{Cursor, Write},
process::{Command, Stdio},
thread,
};

fn sudo_cmd(pw: String) {
let mut cmd = Command::new("sudo")
.arg("-S")
.arg("ls")
.stdin(Stdio::piped())
.stdout(Stdio::piped())
// .stderr(Stdio::null()) //

Подробнее здесь: [url]https://stackoverflow.com/questions/79316257/spawn-command-as-root-and-authenticate-with-polkit-rpassword[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»