成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux和Unix動(dòng)態(tài)鏈接庫(kù)的安全

運(yùn)維 系統(tǒng)運(yùn)維
實(shí)際上所有程序執(zhí)行都依賴于庫(kù)。在包括Linux的大多數(shù)現(xiàn)代類Unix系統(tǒng)中,程序缺省使用動(dòng)態(tài)連接庫(kù)(DLL)進(jìn)行編譯。這樣就可以更新某個(gè)庫(kù),所有使用該庫(kù)的程序如果可能的話,都將使用新的(希望有所改進(jìn)的)版本。

 實(shí)際上所有程序執(zhí)行都依賴于庫(kù)。在包括Linux的大多數(shù)現(xiàn)代類Unix系統(tǒng)中,程序缺省使用動(dòng)態(tài)連接庫(kù)(DLL)進(jìn)行編譯。這樣就可以更新某個(gè)庫(kù),所有使用該庫(kù)的程序如果可能的話,都將使用新的(希望有所改進(jìn)的)版本。

  動(dòng)態(tài)連接庫(kù)通常被放在若干特殊目錄下。通常這些目錄包括/lib、/usr/lib、有關(guān)PAM模塊的/lib/security、有關(guān)X-windows的/usr/X11R6/lib和/usr/local/lib.

  對(duì)于庫(kù)的命名和進(jìn)行庫(kù)的符號(hào)連接有些特殊約定,這樣就可以更新庫(kù),同時(shí)繼續(xù)支持需要使用不具有反向兼容的老版本庫(kù)的程序。在執(zhí)行特定程序時(shí)可以覆蓋某個(gè)指定庫(kù),甚至只覆蓋某個(gè)庫(kù)里的指定函數(shù)。這是類Unix系統(tǒng)相對(duì)于類Windows系統(tǒng)的一個(gè)實(shí)際優(yōu)點(diǎn);我相信類Unix系統(tǒng)有一個(gè)更好的系統(tǒng)來(lái)處理庫(kù)的更新,這也是Unix和Linux系統(tǒng)被認(rèn)為比基于Windows的系統(tǒng)更穩(wěn)定的原因。

  在包括所有Linux系統(tǒng)的基于GNU glibc的系統(tǒng)中,程序啟動(dòng)時(shí)自動(dòng)尋找的目錄列表存儲(chǔ)在文件/etc/ld.so.conf中。很多源于Red Hat的發(fā)行版一般在文件/etc/ld.so.conf中不包含/usr/local/lib.我認(rèn)為這是個(gè)Bug,要在源于Red Hat的系統(tǒng)里運(yùn)行很多程序都需要進(jìn)行一個(gè)通用的"修復(fù)",把/usr/local/lib加入/etc/ld.so.conf.

  如果只是想覆蓋某個(gè)庫(kù)里的若干函數(shù),而想保留該庫(kù)的其它部分,可以在/etc/ld.so.preload中輸入要覆蓋的庫(kù)名(。o文件);這些"預(yù)載入"的庫(kù)會(huì)優(yōu)先于標(biāo)準(zhǔn)庫(kù)使用。通常這種預(yù)載入文件是用于緊急補(bǔ)丁的;發(fā)行版在發(fā)行時(shí)一般不會(huì)包含這樣的文件。

  在程序啟動(dòng)時(shí)尋找所有這些目錄太花時(shí)間,所以實(shí)際上使用了一個(gè)cache管理方法。程序ldconfig(8)缺省讀入文件/etc/ld.so.conf,在動(dòng)態(tài)連接目錄里建立相應(yīng)的符號(hào)連接(這樣就遵循了標(biāo)準(zhǔn)約定),然后把cache寫入/etc/ld.so.cache,這樣就可以被其它程序使用了。所以一旦增加一個(gè)DLL,或刪除一個(gè)DLL,或者DLL目錄集發(fā)生改變,ldconfig就要運(yùn)行一次;在安裝庫(kù)時(shí),運(yùn)行l(wèi)dconfig通常是軟件包管理程序需要執(zhí)行的一個(gè)步驟。在啟動(dòng)時(shí),程序使用動(dòng)態(tài)加載程序來(lái)讀入文件/etc/ld.so.cache,然后載入其所需的庫(kù)。

  各種環(huán)境變量可以控制這一過(guò)程,而且事實(shí)上也有允許覆蓋此過(guò)程的環(huán)境變量(所以可以在某次特別的執(zhí)行過(guò)程中臨時(shí)替換某個(gè)不同的庫(kù))。在Linux下,環(huán)境變量LD_LIBRARY_PATH是一組用逗號(hào)隔開的目錄,在查找標(biāo)準(zhǔn)目錄集之前先查找這些庫(kù);這在調(diào)試新庫(kù)或?yàn)樘厥饽康氖褂梅菢?biāo)準(zhǔn)庫(kù)時(shí)很有用。變量LD_PRELOAD列出了覆蓋標(biāo)準(zhǔn)集的函數(shù)所在的目標(biāo)文件,就像/etc/ld.so.preload一樣。

  如果不采取特別的措施,允許用戶控制動(dòng)態(tài)連接庫(kù)會(huì)對(duì)setuid/setgid程序造成災(zāi)難性的后果。因此在實(shí)現(xiàn)GNU glibc時(shí),如果是setuid或setgid程序,將忽略這些變量(和其它類似的變量),或者嚴(yán)格限制這些變量所起的作用。GNU的glibc庫(kù)通過(guò)檢查程序的證明來(lái)確定其是否為setuid或setgid程序;如果uid和euid不同,或者gid和egid不同,則庫(kù)就假設(shè)該程序?yàn)閟etuid/setgid程序(或者為其子程序),然后嚴(yán)格限制它控制連接的能力。如果載入GNU的glibc庫(kù),就可以看到這種情況;

  請(qǐng)?zhí)貏e閱讀一下文件elf/rtld.c和sysdeps/generic/dl-sysdep.c.這就意味著如果使uid和gid等于euid和egid,再調(diào)用程序,這些變量就具有完全的效力。其它類Unix系統(tǒng)處理這些情況有所不同,但原因相同:一個(gè)setuid/setgid程序不應(yīng)受到環(huán)境變量集的過(guò)分影響。

【編輯推薦】

  1. 在OpenSSH中設(shè)置SSH的無(wú)密碼登陸
  2. Linux服務(wù)器的16個(gè)監(jiān)控命令
  3. 服務(wù)器性能指標(biāo):撥開服務(wù)器評(píng)測(cè)體系迷霧
責(zé)任編輯:趙寧寧 來(lái)源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2012-05-04 08:24:14

LinuxUnix

2009-07-07 20:57:20

LinuxUnix動(dòng)態(tài)鏈接庫(kù)

2024-06-06 08:53:13

動(dòng)態(tài)鏈接庫(kù)共享庫(kù)

2011-06-21 18:02:14

Qt 動(dòng)態(tài) 鏈接庫(kù)

2009-08-28 16:19:30

C#實(shí)現(xiàn)修改動(dòng)態(tài)鏈接庫(kù)

2022-06-09 09:54:45

編譯軟件開發(fā)

2022-07-12 13:23:59

靜態(tài)鏈接庫(kù)可執(zhí)行文件C 目標(biāo)文件

2022-05-03 23:44:21

Python動(dòng)態(tài)鏈接庫(kù)Ctypes

2024-03-01 20:59:11

C#DLL開發(fā)

2011-05-18 17:15:45

2022-10-24 00:03:21

動(dòng)態(tài)鏈接庫(kù)DLL

2023-11-29 08:31:20

PythonRust

2009-08-05 16:29:18

C#調(diào)用C++動(dòng)態(tài)鏈接

2023-05-09 08:24:11

JNA鏈接庫(kù)代碼

2009-10-29 16:36:49

VB.NET .DLL

2010-04-20 16:58:30

Unix操作系統(tǒng)

2022-08-09 07:57:25

Linux操作系統(tǒng)Windows

2023-03-05 16:36:14

Linux鏈接目標(biāo)文件

2009-08-13 10:29:29

UnixLinux開放源碼

2011-08-02 14:15:05

XCode 靜態(tài) 鏈接庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产亚洲精品精品国产亚洲综合 | 综合色播 | 久久黄视频| 欧美一区日韩一区 | 狠狠综合久久av一区二区老牛 | 亚洲精品电影网在线观看 | 91青青草视频| 亚洲三区视频 | 日韩一区二区三区在线视频 | 黄免费观看 | 成人精品毛片国产亚洲av十九禁 | 三级视频网站 | 日本精品一区二区 | 欧美一页| 国产成人精品一区二区三区在线 | 91资源在线| 91精品久久久久久久久中文字幕 | 亚洲综合色视频在线观看 | 米奇7777狠狠狠狠视频 | 国产精品一区一区三区 | 免费视频一区二区三区在线观看 | 区一区二区三在线观看 | 欧美一区二区在线 | 成人av观看 | 亚洲精品电影 | 久久精品国产清自在天天线 | 国产免费观看久久黄av片涩av | 久久久91精品国产一区二区精品 | 亚洲成人精品在线 | 在线观看涩涩视频 | 欧美在线综合 | 中文字幕视频在线观看 | 日韩精品中文字幕在线 | 日韩精品视频在线观看一区二区三区 | 欧美日韩高清 | 午夜电影福利 | 99精品久久 | 日韩午夜电影在线观看 | 在线播放精品视频 | 免费中文字幕日韩欧美 | 手机av在线 |