如何找出 Debian 软件包的默认权限?

如何找出 Debian 软件包的默认权限?

我安装了一个 Debian 软件包,升级过很多次,但其中包含的文件的权限有问题。我可能在某个时候更改了它们。

我如何确定原始权限是什么/应该是什么?我知道 dpkg -L 会列出文件,但该列表不包括权限。我没有多余的机器可以测试,否则这会非常简单。

答案1

使用 'dpkg -c' 命令显示原始存档的内容。您应该拥有最新版本的软件包/var/cache/apt/archives。如果您的存档目录中没有 .deb,您可以使用 aptitude 下载来检索它。

aptitude download <some_package>
dpkg -c some_package.deb

例如使用 grep 命令(输出被截断,您会明白的:))。

$ aptitude download grep
...
Get:1 http://us.archive.ubuntu.com karmic/main grep 2.5.4-4 [224kB]
$ dpkg -c grep_2.5.4-4_i386.deb 
drwxr-xr-x root/root         0 2009-04-28 05:03 ./
drwxr-xr-x root/root         0 2009-04-28 05:03 ./usr/
drwxr-xr-x root/root         0 2009-04-28 05:03 ./usr/bin/
-rwxr-xr-x root/root        30 2009-04-28 05:02 ./usr/bin/rgrep

当然,列出的路径是相对于 / 的。

相关内容