readonly Asked: 2009-05-20 10:19:38 +0800 CST2009-05-20 10:19:38 +0800 CST 2009-05-20 10:19:38 +0800 CST 为什么以 root 身份构建 RPM 是不好的? 772 此页面包含一个突出的警告: 重要的 永远不要以 root 身份构建 RPMS。 为什么以 root 身份构建 RPM 是不好的?是否有可能覆盖某些文件?是否存在文件权限问题? linux rpm 4 个回答 Voted Best Answer MikeyB 2009-05-20T11:07:08+08:002009-05-20T11:07:08+08:00 写得不好的 RPM .spec 文件(甚至是写得很好的有错字的文件)可能会做不正确的事情,例如: 直接安装到正在运行的系统而不是沙箱 将垃圾留在文件系统上 意外运行讨厌的命令,例如:rm -rf ${RPM_BUILD_ROOT} RPM 构建过程中没有任何部分实际上需要 root 访问权限。因此,在构建 RPM 时,我们应该遵循“如果不需要 root 权限,则不会以 root 身份运行”的标准程序。 这避免了令人讨厌的事故和意外。 easel 2009-08-31T17:02:59+08:002009-08-31T17:02:59+08:00 fedora 的mock也很不错。如果它是在模拟中构建的,那么它很可能是一个非常干净的 RPM。 Node 2009-05-20T10:25:21+08:002009-05-20T10:25:21+08:00 通常你不应该使用 root 用户,除非你真的需要这些权限。但你是对的,主要问题是“rpmbuild”几乎会执行你写入规范文件的所有内容。(覆盖文件、创建用户、删除文件等)。 编辑: 作为旁注,我建议看一下openSUSE 构建服务,它使得为不同的发行版构建 rpm 变得非常容易。(它也可以设置为本地实例。) neotam 2013-04-02T06:30:35+08:002013-04-02T06:30:35+08:00 当我在互联网上搜索时,我在以下链接 http://pmc.ucsc.edu/~dmk/notes/RPMs/Creating_RPMs.html中找到了您提出问题的原因 只是为了避免偶然的错误或无意的东西。
写得不好的 RPM .spec 文件(甚至是写得很好的有错字的文件)可能会做不正确的事情,例如:
rm -rf ${RPM_BUILD_ROOT}
RPM 构建过程中没有任何部分实际上需要 root 访问权限。因此,在构建 RPM 时,我们应该遵循“如果不需要 root 权限,则不会以 root 身份运行”的标准程序。
这避免了令人讨厌的事故和意外。
fedora 的mock也很不错。如果它是在模拟中构建的,那么它很可能是一个非常干净的 RPM。
通常你不应该使用 root 用户,除非你真的需要这些权限。但你是对的,主要问题是“rpmbuild”几乎会执行你写入规范文件的所有内容。(覆盖文件、创建用户、删除文件等)。
编辑:
作为旁注,我建议看一下openSUSE 构建服务,它使得为不同的发行版构建 rpm 变得非常容易。(它也可以设置为本地实例。)
当我在互联网上搜索时,我在以下链接 http://pmc.ucsc.edu/~dmk/notes/RPMs/Creating_RPMs.html中找到了您提出问题的原因
只是为了避免偶然的错误或无意的东西。