亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

Linux用戶與最小權限原則解析

2024-09-05 23:03:46
字體:
來源:轉載
供稿:網友

Linux的用戶在登錄(login)之后,就帶有一個用戶身份(user ID, UID)和一個組身份(group ID, GID)。在Linux文件管理背景知識中,我們又看到,每個文件又有九位的權限說明,用來指明該文件允許哪些用戶執行哪些操作(讀、寫或者執行)。

(參考Linux文件管理背景知識)

一般來說,Linux的用戶信息保存在/etc/passwd中,組信息保存在/etc/group中,文件的每一行代表一個用戶/組。早期的Linux將密碼以名碼的形式保存在/etc/passwd中,而現在則多以暗碼(也就是加密之后的形式)的形式保存在/etc/shadow中。將密碼存儲在/etc/shadow中提高了密碼的安全性,因為/etc/passwd允許所有人查看,而/etc/shadow只允許root用戶查看。 

進程權限

但是,在Linux中,用戶的指令是在進程的范圍內進行的。當我們向對某個文件進行操作的時候,我們需要在進程中運行一個程序,在進程中對文件打開,并進行讀、寫或者執行的操作。因此,我們需要將用戶的權限傳遞給進程,以便進程真正去執行操作。例如我們有一個文件a.txt, 文件中為一個字符串:

Hello world!

我以用戶Vamei的身份登錄,并在shell中運行如下命令:

$cat a.txt

整個運行過程以及文件讀取如下:

 Linux,用戶,最小權限

我們可以看到,整個過程中我們會有兩個進程,一個是shell本身(2256),一個是shell復制自身,再運行/bin/cat (9913)。圖中的fork, exec, PID可參看Linux進程基礎。第二個進程總共對文件系統進行了兩次操作,一次是執行(x)文件/bin/cat,另外一次是讀取(r)文件a.txt。使用$ls -l 查看這兩個文件的權限:

$ls -l /bin/cat-rwxr-xr-x 1 root root 46764 Apr 1 2012 /bin/cat$ls -l a.txt-rw-rw-r-- 1 Vamei Vamei 14 Oct 7 09:14 a.txt

從上面可以看到(參考Linux文件管理背景知識),/bin/cat讓所有用戶都享有執行的權利,而Vamei作為a.txt的擁有者,對a.txt享有讀取的權利。

讓我們進入更多的細節 (The devil is in the details)。在進行這兩次操作的時候,盡管用戶Vamei擁有相應的權限,但我們發現,真正做工作的是進程9913。我們要讓這個進程得到相應的權限。實際上,每個進程會維護有如下6個ID:

真實身份:real UID,  real GID

有效身份: effective UID,  effective GID

存儲身份:saved UID,  saved GID

其中,真實身份是我們登錄使用的身份,有效身份是當該進程真正去操作文件時所檢查的身份,存儲身份較為特殊,我們等一下再深入。當進程fork的時候,真實身份和有效身份都會復制給子進程。大部分情況下,真實身份和有效身份都相同。當Linux完成開機啟動之后,init進程會執行一個login的子進程。我們將用戶名和密碼傳遞給login子進程。login在查詢了/etc/passwd和/etc/shadow,并確定了其合法性之后,運行(利用exec)一個shell進程,shell進程真實身份被設置成為該用戶的身份。由于此后fork此shell進程的子進程都會繼承真實身份,所以該真實身份會持續下去,直到我們登出并以其他身份再次登錄(當我們使用su成為root的時候,實際上就是以root身份再次登錄,此后真實身份成為root)。

最小權限原則

每個進程為什么不簡單地只維護真實身份,卻選擇費盡麻煩地去維護有效身份和存儲身份呢?這牽涉到Linux的“最小特權”(least priviledge)的原則。Linux通常希望進程只擁有足夠完成其工作的特權,而不希望賦予更多的特權給它。從設計上來說,最簡單的是賦予每個進程以super user的特權,這樣進程就可以想做什么做什么。然而,這對于系統來說是一個巨大的安全漏洞,特別是在多用戶環境下,如果每個用戶都享有無限制的特權,就很容易破壞其他用戶的文件或者系統本身。“最小特權”就是收縮進程所享有的特權,以防進程濫用特權

然而,進程的不同階段可能需要不同的特權。比如一個進程最開始的有效身份是真實身份,但運行到中間的時候,需要以其他的用戶身份讀入某些配置文件,然后再進行其他的操作。為了防止其他的用戶身份被濫用,我們需要在操作之前,讓進程的有效身份變更回來成為真實身份。這樣,進程需要在兩個身份之間變化。

存儲身份就是真實身份之外的另一個身份。當我們將一個程序文件執行成為進程的時候,該程序文件的擁有者(owner)和擁有組(owner group)可以被,存儲成為進程的存儲身份。在隨后進程的運行過程中,進程就將可以選擇將真實身份或者存儲身份復制到有效身份,以擁有真實身份或者存儲身份的權限。并不是所有的程序文件在執行的過程都設置存儲身份的。需要這么做的程序文件會在其九位(bit)權限執行位的x改為s。這時,這一位(bit)叫做set UID bit或者set GID bit。

$ls -l /usr/bin/uuidd-rwsr-sr-x 1 libuuid libuuid 17976 Mar 30 2012 /usr/sbin/uuidd

當我以root(UID), root(GID)的真實身份運行這個程序的時候,由于擁有者(owner)有s位的設定,所以saved UID被設置成為libuuid,saved GID被設置成為libuuid。這樣,uuidd的進程就可以在兩個身份之間切換。 

我們通常使用chmod來修改set-UID bit和set-GID bit:

$chmod 4700 file

我們看到,這里的chmod后面不再只是三位的數字。最前面一位用于處理set-UID bit/set-GID bit,它可以被設置成為4/2/1以及或者上面數字的和。4表示為set UID bit, 2表示為set GID bit,1表示為sticky bit (暫時不介紹)。必須要先有x位的基礎上,才能設置s位。 

作為一個Linux用戶來說,我們并不需要特別關心上面的機制。但是,當我們去編寫一個Linux應用程序的時候,就要注意在程序中實現以上切換(有必要的前提下),以便讓我們的程序符合"最小權限"的原則,不給系統留下可能的安全隱患。給你的程序過度的權限的話,就像是吃下去下面的漢堡:

 Linux,用戶,最小權限

容易讓人吃傷的漢堡: 過度的“權限” 

總結

real/effective/saved UID/GID

saved UID/GID bit

“最小權限”原則

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品视频久久久| 国产精品一区二区三区成人| 亚洲sss综合天堂久久| 插插插亚洲综合网| 国产精品99导航| 亚洲无线码在线一区观看| 成人激情在线播放| 成人亲热视频网站| 北条麻妃久久精品| 懂色av中文一区二区三区天美| 国产999精品久久久| 亚洲精品久久久久久久久久久| 欧美国产精品人人做人人爱| 国产精品视频专区| 精品欧美国产一区二区三区| 日韩亚洲欧美中文在线| 国产成人欧美在线观看| 中文字幕亚洲图片| 欧美日韩另类在线| 亚洲色图综合网| 国产一区二区在线免费视频| 国产精品亚洲视频在线观看| 国产精品一区久久| 91九色国产社区在线观看| www高清在线视频日韩欧美| 亚洲丝袜在线视频| 最近2019年日本中文免费字幕| 欧美激情一区二区三区高清视频| 欧美激情视频网址| 成人黄色在线观看| 欧美午夜视频一区二区| 欧美精品福利视频| 欧美性猛交xxxx免费看| 精品国产福利视频| 久久久久久久久久久91| 在线激情影院一区| 亚洲精品91美女久久久久久久| 国产精品色午夜在线观看| 最新中文字幕亚洲| 亚洲最大的网站| 久久中文精品视频| 一区二区三区动漫| 欧美另类69精品久久久久9999| 欧美日韩国产二区| 亚洲精品网站在线播放gif| 国产91色在线|免| 欧美极品少妇xxxxⅹ免费视频| 国产在线观看精品| 欧美日本高清视频| 91精品国产91久久久久久| 欧美激情欧美激情| 欧美性高潮在线| 欧美裸体xxxxx| 韩国三级日本三级少妇99| 久久久免费电影| 日韩黄色在线免费观看| 亚洲男人天堂手机在线| 亚洲国产精品va在线看黑人动漫| 国产亚洲欧美日韩精品| 国产精品第1页| 国产欧美在线看| 欧美与欧洲交xxxx免费观看| 亚洲一区二区三区毛片| 国产精品久久久久久中文字| 久久的精品视频| 国产成人鲁鲁免费视频a| 久久综合伊人77777尤物| 色综合五月天导航| 日韩电影在线观看永久视频免费网站| 亚洲性无码av在线| 日韩欧美在线第一页| 曰本色欧美视频在线| 日本伊人精品一区二区三区介绍| 国产精品入口日韩视频大尺度| 欧美性猛交xxxx乱大交极品| 成人免费在线视频网址| 国产99久久精品一区二区| 成人免费淫片aa视频免费| 亚洲永久在线观看| 伊人青青综合网站| 亚洲精品成人久久电影| 国产精品日韩在线| 欧美日韩国产精品一区二区三区四区| 亚洲图片在线综合| 红桃av永久久久| 51视频国产精品一区二区| 国产xxx69麻豆国语对白| 黄网动漫久久久| 2019中文字幕在线| 91精品国产九九九久久久亚洲| 这里只有精品视频| 3344国产精品免费看| 日本久久久久久久久| 日韩在线观看免费av| 伊人av综合网| 国产不卡在线观看| 精品中文字幕视频| 日韩欧亚中文在线| 日本久久91av| 欧美日韩第一页| 亚洲人成在线播放| 在线电影欧美日韩一区二区私密| 91夜夜揉人人捏人人添红杏| 色诱女教师一区二区三区| 国产成一区二区| 亚洲高清不卡av| 黄网站色欧美视频| 国产免费一区视频观看免费| 精品欧美一区二区三区| 亚洲影视中文字幕| 亚洲福利影片在线| 97在线观看免费高清| 欧美最猛性xxxxx亚洲精品| 亚洲欧美另类人妖| 日韩在线观看成人| 一区二区三区四区视频| 亚洲精品永久免费| 亚洲男人天堂手机在线| 91人人爽人人爽人人精88v| 亚洲成人黄色网址| 国产精品高潮呻吟视频| 亚洲xxxxx电影| 91av网站在线播放| 日本伊人精品一区二区三区介绍| 久久精品电影一区二区| 国模极品一区二区三区| 国产98色在线| 最近免费中文字幕视频2019| 91av在线播放| 中文字幕不卡在线视频极品| 国产精品∨欧美精品v日韩精品| 亚洲精选中文字幕| 一本色道久久综合亚洲精品小说| 色哟哟网站入口亚洲精品| 亚洲国产私拍精品国模在线观看| 精品亚洲永久免费精品| 性欧美长视频免费观看不卡| 在线观看日韩专区| 亚洲香蕉伊综合在人在线视看| 伊人久久大香线蕉av一区二区| 欧美精品成人在线| 韩日精品中文字幕| 国产精品啪视频| 在线视频免费一区二区| 91色琪琪电影亚洲精品久久| 日本高清久久天堂| 亚洲香蕉av在线一区二区三区| 中文字幕久精品免费视频| 欧美日韩成人在线视频| 九九久久精品一区| 美女精品久久久| 日韩av影视综合网| 日韩欧美精品免费在线| 国产精品日韩在线观看| 伊人青青综合网站| 亚洲天堂男人的天堂| 中文字幕欧美在线| 亚洲国产另类 国产精品国产免费| 亚洲毛片在线观看| 久久久精品国产一区二区| 亚洲第一福利视频| 热re99久久精品国产66热| 国产一区二区三区高清在线观看| 夜夜狂射影院欧美极品|