如何在程序包安装期间更改文件夹权限

Modified on: Fri, 13 Jul 2018 19:01:30 +0800

我正在制作deb软件包来安装自定义应用程序。我将所有文件/文件夹所有权更改为root以避免我在安装过程中收到的警告,并且在Ubuntu中所有操作都顺利运行,因为Ubuntu将文件/文件夹的所有权更改为安装软件包的用户。

但是当我在Debian上安装时,root仍然是所有者。应用程序使用文件夹来写入数据,这就是问题所在。作为标准用户运行,该应用程序无权写入该文件夹。

现在,我应该如何处理这个问题?我应该在deb软件包上创建一个post安装脚本,执行chmod o+w吗?我是否应该使用这些权限设置打包目录?

或者有没有办法将文件的所有者设置为自动安装应用程序的用户(如Ubuntu那样)?

最佳答案

我不确定Ubuntu中的行为是什么,但通常对于包含具有非标准权限的文件或目录的.deb包,您需要确保设置这些权限运行 dh_fixperms之后。如果您使用的是dh -style rules,则可以按以下步骤操作:

override_dh_fixperms: dh_fixperms chmod 777 yourfolder

您也可以在postinst中执行此操作:

override_dh_fixperms:
        dh_fixperms
        chmod 777 yourfolder

rules方法更简单(至少,我更喜欢这样做而不是依赖维护者脚本)。


相关问答

添加新评论