Linux 如何在管道之间删除bash脚本中的权限? dbus监视器--system--profile interface=org.freedesktop.login1.Session,type=signal,member={Lock,Unlock}| egrep—线路缓冲-o'锁定|解锁'| 读取信号时;做 中的大小写“${SIGNAL}” 锁) 对于“$(systemd path user shared)/watchlock/lock.d/”中的i;做 “${i}” 完成 ;; 解锁) 对于“$(systemd path user shared)/watchlock/unlock.d/”中的i;做 “${i}” 完成 ;; 以撒 完成

Linux 如何在管道之间删除bash脚本中的权限? dbus监视器--system--profile interface=org.freedesktop.login1.Session,type=signal,member={Lock,Unlock}| egrep—线路缓冲-o'锁定|解锁'| 读取信号时;做 中的大小写“${SIGNAL}” 锁) 对于“$(systemd path user shared)/watchlock/lock.d/”中的i;做 “${i}” 完成 ;; 解锁) 对于“$(systemd path user shared)/watchlock/unlock.d/”中的i;做 “${i}” 完成 ;; 以撒 完成,linux,bash,sudo,dbus,polkit,Linux,Bash,Sudo,Dbus,Polkit,我已经创建了这个脚本,我想作为普通用户执行它,但是dbusmonitor只能作为root用户使用。有没有办法以root用户身份执行dbus monitor,以普通用户身份执行其余管道?在dbus monitor之前添加sudo不是一个选项,因为这只是一个解决办法,我可以打算以root用户身份执行脚本,它会毫无理由再次升级权限。我还想使用polkit,pkexec。谢谢 就像这样: cmd_a | sudo -u "${USER}" cmd_b 如果脚本以root用户身份启动,cmd_a将以ro

我已经创建了这个脚本,我想作为普通用户执行它,但是
dbusmonitor
只能作为root用户使用。有没有办法以root用户身份执行
dbus monitor
,以普通用户身份执行其余管道?在
dbus monitor
之前添加
sudo
不是一个选项,因为这只是一个解决办法,我可以打算以root用户身份执行脚本,它会毫无理由再次升级权限。我还想使用polkit,
pkexec
。谢谢

就像这样:

cmd_a | sudo -u "${USER}" cmd_b

如果脚本以root用户身份启动,
cmd_a
将以root用户身份运行,
cmd_b
将以$USER身份运行。

>在
dbus monitor
之前添加
sudo
不是一个选项,因为这只是一个解决方法,我可以打算以root用户身份执行脚本,并且它将无理由地再次升级权限。是的,请阅读本文。如果脚本以root用户身份运行,您可以使用另一种方式来处理
cmd_a | sudo-u“$USER”cmd_b
您在这里做出的评论相互矛盾。我首先建议,只以root用户身份运行
cmd_a
,但你说这不是一个选项哦,忘了我的想法。我希望尽可能少地升级,以使我能够使用polkit的方式升级。