我正在编写一个 bash 脚本:
sudo -K)我正在寻找一种简单且安全的方法,以避免在脚本终止时再次询问用户密码。
在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不是运行程序的选项。