sudo改用pkexec的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
huangsijun17
帖子: 28
注册时间: 2014-02-15 17:04
系统: WinUbuntuArchRocky

sudo改用pkexec的问题

#1

帖子 huangsijun17 » 2023-02-19 11:57

一段脚本里,原来有两处sudo。现在想改用pkexec,怎么在第二处提权时免输密码?
登录时防机器人的问题真TM难。
我试了不下10次。答案包括:
20.04
20.04.3
LTS
18.04
16.04
等等等等
头像
lanxing0821
帖子: 2
注册时间: 2015-07-04 20:13
系统: kubuntu 22.04

Re: sudo改用pkexec的问题

#2

帖子 lanxing0821 » 2023-02-22 21:44

你可以换一种思路,比如你为什么用 pkexec 而不用 sudo ?是不方便在终端输入密码,还是纯粹地只想换个提升用户权限的程序?如果是前者,你完全可以用 sudo 的 -A 选项来替代。

举个例子,假设你的电脑已经安装了 ssh-askpass 辅助程序(如果没有,则可以通过如下命令来安装):

代码: 全选

command -v seahorse		# 检测是否安装了  ssh-askpass 
sudo apt install seahorse	# 如果没有安装,则安装它
那么,你可以在脚本中添加如下内容:

代码: 全选

export SUDO_PROMPT="检测到你所要进行的操作,需要更高的权限方可继续。
若要通过本次验证请求,请在下面输入你的用户密码!"
export SUDO_ASKPASS=/usr/libexec/seahorse/ssh-askpass

sudo -A 你要运行的程序
这里解释一下所用到的 sudo 的两个环境变量:

SUDO_PROMPT 用于定义 sudo 的提示文本;

SUDO_ASKPASS 用于定义 sudo 的 askpass 辅助程序,它必须是一个绝对路径名。一些桌面环境可能自带了 askpass 辅助程序,例如, KDE 的 ksshaskpass (/usr/bin/ksshaskpass)。
huangsijun17
帖子: 28
注册时间: 2014-02-15 17:04
系统: WinUbuntuArchRocky

Re: sudo改用pkexec的问题

#3

帖子 huangsijun17 » 2023-02-23 2:06

lanxing0821 写了: 2023-02-22 21:44 你可以换一种思路,比如你为什么用 pkexec 而不用 sudo ?是不方便在终端输入密码,还是纯粹地只想换个提升用户权限的程序?如果是前者,你完全可以用 sudo 的 -A 选项来替代。

举个例子,假设你的电脑已经安装了 ssh-askpass 辅助程序(如果没有,则可以通过如下命令来安装):

代码: 全选

command -v seahorse		# 检测是否安装了  ssh-askpass 
sudo apt install seahorse	# 如果没有安装,则安装它
那么,你可以在脚本中添加如下内容:

代码: 全选

export SUDO_PROMPT="检测到你所要进行的操作,需要更高的权限方可继续。
若要通过本次验证请求,请在下面输入你的用户密码!"
export SUDO_ASKPASS=/usr/libexec/seahorse/ssh-askpass

sudo -A 你要运行的程序
这里解释一下所用到的 sudo 的两个环境变量:

SUDO_PROMPT 用于定义 sudo 的提示文本;

SUDO_ASKPASS 用于定义 sudo 的 askpass 辅助程序,它必须是一个绝对路径名。一些桌面环境可能自带了 askpass 辅助程序,例如, KDE 的 ksshaskpass (/usr/bin/ksshaskpass)。
我是写在一个.desktop脚本里,使用bash -c来执行的。脚本有进行分发给不同的人使用。之前适配的第三方发行版改过sudoers,默认sudo免密码。而现在装备兼容别的系统,默认sudo需要输入密码,而且sudoers还被爆改过。基本不可能修改sudoers或者使用sudo -A。至于ssh,更加不方便了。
PS,都是X86掌机的系统。
登录时防机器人的问题真TM难。
我试了不下10次。答案包括:
20.04
20.04.3
LTS
18.04
16.04
等等等等
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: sudo改用pkexec的问题

#4

帖子 lilydjwg » 2023-02-23 11:59

那你开俩进程吧,一个 pkexec 里一个 pkexec 外。
huangsijun17
帖子: 28
注册时间: 2014-02-15 17:04
系统: WinUbuntuArchRocky

Re: sudo改用pkexec的问题

#5

帖子 huangsijun17 » 2023-02-23 20:37

lilydjwg 写了: 2023-02-23 11:59 那你开俩进程吧,一个 pkexec 里一个 pkexec 外。
饶了我吧,我还是直接pkexec bash得了。
登录时防机器人的问题真TM难。
我试了不下10次。答案包括:
20.04
20.04.3
LTS
18.04
16.04
等等等等
回复