作为 sudo 运行安装程序 bash 时如何确保正确的文件权限?

作为 sudo 运行安装程序 bash 时如何确保正确的文件权限?

我正在制作一个安装程序狂欢,也玩了一下。但我刚刚遇到了一个严重的问题:当我使用 运行 bash 时sudo ./install.sh,它复制的所有文件都归其所有root,因此对其他人来说是只读的。

这使得安装的程序毫无用处。就我而言,安装的程序是 Tomcat Web 应用程序,这意味着 tomcat 将无法使用它。

因此问题是:

sudo ./install.sh批量安装的正确方法应该是这样吗?

  • 是的:在这种情况下,我如何正确使用cp命令来确保文件属于 a) 发行者 b) 特定用户。或者我需要其他命令吗?
  • 不:在这种情况下,如何正确执行apt-get install ...批处理中的管理任务(例如)?

答案1

使用复制文件安装命令。它可以设置所有者和权限。从手册页:

  -g, --group=GROUP
          set group ownership, instead of process' current group

  -m, --mode=MODE
          set permission mode (as in chmod), instead of rwxr-xr-x

  -o, --owner=OWNER
          set ownership (super-user only)

相关内容