是否有一个命令可以让用户暂时拥有 root 权限,但用户创建的文件和目录仍然反映用户而不是 root?
例如,我有一个用户需要安装一些软件(Glassfish),但自解压安装程序返回错误“权限被拒绝”。有没有办法为用户提供更高的权限来运行安装程序,以便当安装程序创建目录和文件时,它们归执行安装的用户所有(而不是 root 用户)?
这可能吗?
答案1
一般来说:不是。不过,有几种方法可以实现您想要的最终结果。
基本上,您的安装程序需要写入用户无法写入的目录,实现此目的的选项(快速浏览)是:
- 更改目录的组所有权,授予该组写权限,并将用户添加到该组。
- 以 root 身份进行安装。安装后纠正权限。
- 使该目录可全世界写入。
- 在目录上设置适当的 ACL(谷歌
Linux filesystem ACLs
查看更多信息)
几乎所有这些都要求您是 root 身份 - 而最好的解决方案可能是按照设计者意图以 root 身份安装该软件,除非您有非常充分的理由不这样做(除其他事项外,让 root 拥有已安装的文件可防止恶意代码在用户稍后修改已安装的软件时运行)。