小编Kri*_*Dev的帖子

在脚本终止时启动 sudoed 命令?

我正在编写一个 bash 脚本:

  • 在初始化时运行一些 sudoed 命令
  • 出于安全目的释放 root 权限 ( sudo -K)
  • 运行一个非特权程序
  • 但终止时需要root权限

我正在寻找一种简单且安全的方法,以避免在脚本终止时再次询问用户密码

sudo -K等待捕获术语信号之前,我正在考虑分叉。我不知道这是否是最优雅/最安全的解决方案。

这是代码:

sudo unshare -m \
  sudo -u "$USER" -g `id -g -n "$USER"` \
  bash -c \
  "sudo mount --bind \"$MOUNT_DIR\" \"$MOUNT_DIR\"; \
  sudo mount --make-private \"$MOUNT_DIR\"; \
  sudo -K; \
  <unprivilegied program here>; \
  sudo umount \"$MOUNT_DIR\""
Run Code Online (Sandbox Code Playgroud)

注意:有关信息,这会在只有程序有权访问的命名空间中创建一个私有挂载。unshare -r不是运行程序的选项。

sudo shell-script privileges

4
推荐指数
1
解决办法
297
查看次数

标签 统计

privileges ×1

shell-script ×1

sudo ×1