Linux-chrpath指令
chrpath指令用于改变程序的rpath/runpath,从而改变程序运行时的动态库搜索路径,常见用法为
chrpath -r "/path/to/shared_library" binary_name
chrpath -r "$ORIGIN:/$ORIGIN/../lib"
第一种用法将一个指定的路径替换原程序的rpath/runpath。
第二种用法中的$ORIGIN表示程序所在路径
查看程序rpath/runpath
chrpath -l binary_name
RPATH与RUNPATH
含义都可以理解为Runtime Library Path,即动态库的搜索路径,但是两者有细微区别,rpath可以与LD_LIBRARY_PATH一起使用,而runpath指定后,即使在LD_LIBRARY_PATH指定了路径,也不会搜索LD_LIBRARY_PATH的路径,这是为了防止恶意的so攻击