Bash 更改debian包中的文件所有者
我有一个带有静态文件的debian包,用于root:root所有者的web应用程序。安装这个包后,我需要更改tomcat所有文件的所有者:例如,tomcat。我已经读到,这可以通过postinst脚本来完成。然而,我不知道如何迭代包的所有文件 我认为我的脚本应该是这样的: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
#!/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
选项指定应接触哪些文件。合并您的答案和注释我已完成任务。非常感谢。