Bash 更改debian包中的文件所有者

Bash 更改debian包中的文件所有者,bash,shell,unix,debian,post-install,Bash,Shell,Unix,Debian,Post Install,我有一个带有静态文件的debian包,用于root:root所有者的web应用程序。安装这个包后,我需要更改tomcat所有文件的所有者:例如,tomcat。我已经读到,这可以通过postinst脚本来完成。然而,我不知道如何迭代包的所有文件 我认为我的脚本应该是这样的: #!/bin/sh set -e USER="tomcat" -- iterate over files chown ${USER}:${USER} {current_file} -- end ite

我有一个带有静态文件的debian包,用于root:root所有者的web应用程序。安装这个包后,我需要更改tomcat所有文件的所有者:例如,tomcat。我已经读到,这可以通过postinst脚本来完成。然而,我不知道如何迭代包的所有文件

我认为我的脚本应该是这样的:

#!/bin/sh    
set -e
USER="tomcat"

-- iterate over files    
    chown ${USER}:${USER} {current_file}
-- end iterate over files
非常感谢您的帮助。

使用find命令:

find . -exec chown "${USER}:${USER}" {} +

这将从工作目录开始递归更改权限。

将安装文件的工作目录可能包含与deb软件包无关的其他文件。我不能改变他们的主人。是否有办法获取软件包中包含的文件列表?如果您只需要一个目录,可以执行
查找目录…
。否则,您可以使用find命令的
-name
-regex
选项指定应接触哪些文件。合并您的答案和注释我已完成任务。非常感谢。