JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11.1 链接程序和库指南     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

第 1 部分使用链接编辑器和运行时链接程序

1.  Oracle Solaris 链接编辑器介绍

2.  链接编辑器

3.  运行时链接程序

共享目标文件依赖项

查找共享目标文件依赖项

运行时链接程序搜索的目录

配置缺省搜索路径

动态字符串标记

重定位处理

重定位符号查找

缺省符号查找

运行时插入

执行重定位的时间

重定位错误

装入其他目标文件

延迟装入动态依赖项

提供 dlopen() 的替代项

初始化和终止例程

初始化和终止顺序

安全性

运行时链接编程接口

装入其他目标文件

重定位处理

符号查找

获取新符号

测试功能

使用插入

调试帮助

调试功能

调试器模块

4.  共享目标文件

第 2 部分快速参考

5.  链接编辑器快速参考

第 3 部分高级主题

6.  直接绑定

7.  生成目标文件以优化系统性能

8.  Mapfile

9.  接口和版本控制

10.  使用动态字符串标记建立依赖性

11.  可扩展性机制

第 4 部分ELF 应用程序二进制接口

12.  目标文件格式

13.  程序装入和动态链接

14.  线程局部存储

第 5 部分附录

A.  链接程序和库的更新及新增功能

B.  System V 发行版 4(版本 1)Mapfile

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

安全性

在安全进程中,对其依赖项及运行路径的评估应用了一些限制,以避免产生恶意依赖项替换或符号插入。

对于某个进程来说,如果 issetugid(2) 系统调用返回的结果为 True,运行时链接程序会将该进程归类为安全进程。

对于 32 位目标文件,运行时链接程序已知的缺省可信目录为 /lib/secure/usr/lib/secure。对于 64 位目标文件,运行时链接程序已知的缺省可信目录为 /lib/secure/64/usr/lib/secure/64。实用程序 crle(1) 可用于指定适用于安全应用程序的其他可信目录。使用此技术的管理员应确保已对目标目录进行了适当的保护,以防受到恶意入侵。

如果 LD_LIBRARY_PATH 系列环境变量对安全进程有效,则仅将此变量指定的可信目录用于扩充运行时链接程序的搜索规则。请参见运行时链接程序搜索的目录

在安全进程中,将使用应用程序或其任何依赖项指定的运行路径。但是,运行路径必须是全路径名,即路径名必须以 '/' 开头。

在安全进程中,仅当 $ORIGIN 字符串扩展为可信目录时,才允许对其进行扩展。请参见安全性。但是,如果 $ORIGIN 扩展与一个已提供依赖项的目录匹配,则该目录是隐式安全的。该目录可用于提供其他依赖项。

在安全进程中,LD_CONFIG 会被忽略。但是,会使用安全应用程序中记录的配置文件。请参见 ld(1)-c 选项。记录的配置文件必须是全路径名,即路径名必须以 '/' 开头。使用 $ORIGIN 字符串的已记录配置文件仅限于已知的可信目录。在安全应用程序中记录配置文件的开发者应确保配置文件目录受到适当的保护,以避免恶意侵入。如果缺少记录的配置文件,则安全进程将使用缺省配置文件(如果该配置文件存在)。请参见 crle(1)

在安全进程中,LD_SIGNAL 会被忽略。

在安全进程中使用 LD_PRELOADLD_AUDIT 环境变量可装入其他目标文件。必须将这些目标文件指定为全路径名或简单文件名。全路径名仅限于已知的可信目录。简单文件名(名称中没有 '/')的查找受前面描述的搜索路径限制的约束。简单文件名只能解析为已知的可信目录。

在安全进程中,将使用前面描述的路径名限制来处理组成简单文件名的所有依赖项。以全路径名或相对路径名表示的依赖项按原样使用。因此,安全进程的开发者应确保作为这些依赖项之一引用的目标目录受到适当的保护,以避免恶意侵入。

在创建安全进程时,不要使用相对路径名来表示依赖项或构造 dlopen(3C) 路径名。此限制适用于应用程序及所有依赖项。