精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

“用戶組”在Linux上到底是怎么工作的?

系統(tǒng) Linux
嗨!就在上周,我還自認(rèn)為對 Linux 上的用戶和組的工作機(jī)制了如指掌。我認(rèn)為它們的關(guān)系是這樣的:

[[245214]]

 嗨!就在上周,我還自認(rèn)為對 Linux 上的用戶和組的工作機(jī)制了如指掌。我認(rèn)為它們的關(guān)系是這樣的:

  1. 每個進(jìn)程都屬于一個用戶(比如用戶 julia
  2. 當(dāng)這個進(jìn)程試圖讀取一個被某個組所擁有的文件時, Linux 會 a. 先檢查用戶julia 是否有權(quán)限訪問文件。(LCTT 譯注:此處應(yīng)該是指檢查文件的所有者是否就是 julia) b. 檢查 julia 屬于哪些組,并進(jìn)一步檢查在這些組里是否有某個組擁有這個文件或者有權(quán)限訪問這個文件。
  3. 如果上述 a、b 任一為真(或者“其它”位設(shè)為有權(quán)限訪問),那么這個進(jìn)程就有權(quán)限訪問這個文件。

比如說,如果一個進(jìn)程被用戶 julia 擁有并且 juliaawesome 組,那么這個進(jìn)程就能訪問下面這個文件。

  1. r--r--r-- 1 root awesome 6872 Sep 24 11:09 file.txt

然而上述的機(jī)制我并沒有考慮得非常清楚,如果你硬要我闡述清楚,我會說進(jìn)程可能會在運(yùn)行時去檢查 /etc/group 文件里是否有某些組擁有當(dāng)前的用戶。

然而這并不是 Linux 里“組”的工作機(jī)制

我在上個星期的工作中發(fā)現(xiàn)了一件有趣的事,事實(shí)證明我前面的理解錯了,我對組的工作機(jī)制的描述并不準(zhǔn)確。特別是 Linux 并不會在進(jìn)程每次試圖訪問一個文件時就去檢查這個進(jìn)程的用戶屬于哪些組。

我在讀了《Linux 編程接口》這本書的第九章(“進(jìn)程資格”)后才恍然大悟(這本書真是太棒了),這才是組真正的工作方式!我意識到之前我并沒有真正理解用戶和組是怎么工作的,我信心滿滿的嘗試了下面的內(nèi)容并且驗(yàn)證到底發(fā)生了什么,事實(shí)證明現(xiàn)在我的理解才是對的。 

用戶和組權(quán)限檢查是怎么完成的

現(xiàn)在這些關(guān)鍵的知識在我看來非常簡單! 這本書的第九章上來就告訴我如下事實(shí):用戶和組 ID 是進(jìn)程的屬性,它們是:

  • 真實(shí)用戶 ID 和組 ID;
  • 有效用戶 ID 和組 ID;
  • 保存的 set-user-ID 和保存的 set-group-ID;
  • 文件系統(tǒng)用戶 ID 和組 ID(特定于 Linux);
  • 補(bǔ)充的組 ID;

這說明 Linux 實(shí)際上檢查一個進(jìn)程能否訪問一個文件所做的組檢查是這樣的:

  • 檢查一個進(jìn)程的組 ID 和補(bǔ)充組 ID(這些 ID 就在進(jìn)程的屬性里,并不是實(shí)時在 /etc/group 里查找這些 ID)
  • 檢查要訪問的文件的訪問屬性里的組設(shè)置
  • 確定進(jìn)程對文件是否有權(quán)限訪問(LCTT 譯注:即文件的組是否是以上的組之一)

通常當(dāng)訪問控制的時候使用的是有效用戶/組 ID,而不是真實(shí)用戶/組 ID。技術(shù)上來說當(dāng)訪問一個文件時使用的是文件系統(tǒng)的 ID,它們通常和有效用戶/組 ID 一樣。(LCTT 譯注:這句話針對 Linux 而言。) 

將一個用戶加入一個組并不會將一個已存在的進(jìn)程(的用戶)加入那個組

下面是一個有趣的例子:如果我創(chuàng)建了一個新的組:panda 組并且將我自己(bork)加入到這個組,然后運(yùn)行 groups 來檢查我是否在這個組里:結(jié)果是我(bork)竟然不在這個組?!

  1. bork@kiwi~> sudo addgroup panda
  2. Adding group `panda' (GID 1001) ...
  3. Done.
  4. bork@kiwi~> sudo adduser bork panda
  5. Adding user `bork' to group `panda' ...
  6. Adding user bork to group panda
  7. Done.
  8. bork@kiwi~> groups
  9. bork adm cdrom sudo dip plugdev lpadmin sambashare docker lxd

panda 并不在上面的組里!為了再次確定我們的發(fā)現(xiàn),讓我們建一個文件,這個文件被 panda 組擁有,看看我能否訪問它。

  1. $ touch panda-file.txt
  2. $ sudo chown root:panda panda-file.txt
  3. $ sudo chmod 660 panda-file.txt
  4. $ cat panda-file.txt
  5. cat: panda-file.txt: Permission denied

好吧,確定了,我(bork)無法訪問 panda-file.txt。這一點(diǎn)都不讓人吃驚,我的命令解釋器并沒有將 panda 組作為補(bǔ)充組 ID,運(yùn)行 adduser bork panda 并不會改變這一點(diǎn)。 

那進(jìn)程一開始是怎么得到用戶的組的呢?

這真是個非常令人困惑的問題,對嗎?如果進(jìn)程會將組的信息預(yù)置到進(jìn)程的屬性里面,進(jìn)程在初始化的時候怎么取到組的呢?很明顯你無法給你自己指定更多的組(否則就會和 Linux 訪問控制的初衷相違背了……)

有一點(diǎn)還是很清楚的:一個新的進(jìn)程是怎么從我的命令行解釋器(/bash/fish)里被執(zhí)行而得到它的組的。(新的)進(jìn)程將擁有我的用戶 ID(bork),并且進(jìn)程屬性里還有很多組 ID。從我的命令解釋器里執(zhí)行的所有進(jìn)程是從這個命令解釋器里 fork() 而來的,所以這個新進(jìn)程得到了和命令解釋器同樣的組。

因此一定存在一個“***個”進(jìn)程來把你的組設(shè)置到進(jìn)程屬性里,而所有由此進(jìn)程而衍生的進(jìn)程將都設(shè)置這些組。而那個“***個”進(jìn)程就是你的登錄程序login shell,在我的筆記本電腦上,它是由 login 程序(/bin/login)實(shí)例化而來。登錄程序以 root 身份運(yùn)行,然后調(diào)用了一個 C 的庫函數(shù) —— initgroups 來設(shè)置你的進(jìn)程的組(具體來說是通過讀取 /etc/group 文件),因?yàn)榈卿洺绦蚴且?root 運(yùn)行的,所以它能設(shè)置你的進(jìn)程的組。 

讓我們再登錄一次

好了!假如說我們正處于一個登錄程序中,而我又想刷新我的進(jìn)程的組設(shè)置,從我們前面所學(xué)到的進(jìn)程是怎么初始化組 ID 的,我應(yīng)該可以通過再次運(yùn)行登錄程序來刷新我的進(jìn)程組并啟動一個新的登錄命令!

讓我們試試下邊的方法:

  1. $ sudo login bork
  2. $ groups
  3. bork adm cdrom sudo dip plugdev lpadmin sambashare docker lxd panda
  4. $ cat panda-file.txt # it works! I can access the file owned by `panda` now!

當(dāng)然,成功了!現(xiàn)在由登錄程序衍生的程序的用戶是組 panda 的一部分了!太棒了!這并不會影響我其他的已經(jīng)在運(yùn)行的登錄程序(及其子進(jìn)程),如果我真的希望“所有的”進(jìn)程都能對 panda 組有訪問權(quán)限。我必須完全的重啟我的登錄會話,這意味著我必須退出我的窗口管理器然后再重新登錄。(LCTT 譯注:即更新進(jìn)程樹的樹根進(jìn)程,這里是窗口管理器進(jìn)程。) 

newgrp 命令

在 Twitter 上有人告訴我如果只是想啟動一個刷新了組信息的命令解釋器的話,你可以使用 newgrp(LCTT 譯注:不啟動新的命令解釋器),如下:

  1. sudo addgroup panda
  2. sudo adduser bork panda
  3. newgrp panda # starts a new shell, and you don't have to be root to run it!

你也可以用 sg panda bash 來完成同樣的效果,這個命令能啟動一個bash 登錄程序,而這個程序就有 panda 組。 

seduid 將設(shè)置有效用戶 ID

其實(shí)我一直對一個進(jìn)程如何以 setuid root 的權(quán)限來運(yùn)行意味著什么有點(diǎn)似是而非。現(xiàn)在我知道了,事實(shí)上所發(fā)生的是:setuid 設(shè)置了
“有效用戶 ID”! 如果我(julia)運(yùn)行了一個 setuid root 的進(jìn)程( 比如 passwd),那么進(jìn)程的真實(shí)用戶 ID 將為 julia,而有效用戶 ID 將被設(shè)置為 root

passwd 需要以 root 權(quán)限來運(yùn)行,但是它能看到進(jìn)程的真實(shí)用戶 ID 是 julia ,是 julia 啟動了這個進(jìn)程,passwd 會阻止這個進(jìn)程修改除了 julia 之外的用戶密碼。 

就是這些了!

在《Linux 編程接口》這本書里有很多 Linux 上一些功能的罕見使用方法以及 Linux 上所有的事物到底是怎么運(yùn)行的詳細(xì)解釋,這里我就不一一展開了。那本書棒極了,我上面所說的都在該書的第九章,這章在 1300 頁的書里只占了 17 頁。

我***這本書的一點(diǎn)是我只用讀 17 頁關(guān)于用戶和組是怎么工作的內(nèi)容,而這區(qū)區(qū) 17 頁就能做到內(nèi)容完備、詳實(shí)有用。我不用讀完所有的 1300 頁書就能得到有用的東西,太棒了!

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2014-08-14 14:18:05

Linux用戶

2024-02-22 08:00:00

SoraOpenAI

2022-08-08 08:00:00

人工智能機(jī)器學(xué)習(xí)計算機(jī)應(yīng)用

2019-07-26 13:49:49

用戶組Linux

2024-12-09 09:55:25

2013-04-24 09:08:17

Google眼鏡

2023-12-15 07:23:39

電子管半導(dǎo)體芯片集成電路

2022-08-12 08:03:59

算力網(wǎng)絡(luò)算力網(wǎng)絡(luò)

2023-12-07 14:29:54

數(shù)據(jù)中心安全數(shù)字化

2017-01-19 14:22:51

Linux

2024-03-15 08:06:58

MySQLJOIN命令

2010-03-09 13:23:51

Linux用戶組管理方

2020-12-28 08:18:55

安全代碼線程

2024-05-11 09:41:45

線程安全代碼

2010-11-02 14:29:11

DB2用戶組

2019-05-28 13:50:27

MySQL幻讀數(shù)據(jù)庫

2018-10-31 09:21:20

運(yùn)維互聯(lián)網(wǎng)監(jiān)控

2024-06-06 11:26:03

2019-12-18 18:31:10

黑客醫(yī)療保險軟件

2016-11-17 22:18:31

id串行化服務(wù)器
點(diǎn)贊
收藏

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

午夜宅男久久久| 久久草在线视频| 亚洲精品久久久久久国产精华液| 亚洲xxxx在线| 69亚洲精品久久久蜜桃小说 | 精品一区二区在线看| 欧美裸体xxxx极品少妇| 素人fc2av清纯18岁| 成人在线观看免费播放| 亚洲福利电影网| 亚洲精品乱码久久久久久蜜桃91| 亚洲黄色在线免费观看| 日韩高清中文字幕一区| 久久久久久欧美| 女人裸体性做爰全过| 欧美一区二区三区红桃小说| 欧美人牲a欧美精品| 天堂…中文在线最新版在线| 免费在线观看av片| 91丝袜国产在线播放| 成人精品视频久久久久| 国产一级淫片a视频免费观看| 欧美黄色一级视频| xxav国产精品美女主播| 久久久久久久久久久久| 国产精品tv| 日韩亚洲国产中文字幕欧美| 手机在线看福利| 在线天堂新版最新版在线8| 亚洲黄色在线视频| 一区二区视频在线免费| 免费播放片a高清在线观看| 国产精品888| 成人在线播放av| 五月激情丁香网| 久久午夜激情| 青青青国产精品一区二区| 国产精品6666| 欧美日韩中文| 欧美国产中文字幕| www.超碰在线观看| 亚洲色图88| 久久精品视频在线| 中文字幕第69页| 成人激情诱惑| 这里只有精品在线播放| 亚洲性猛交xxxx乱大交| 国产欧美一区| 国产亚洲一区二区精品| av黄色在线免费观看| 久久av免费看| 亚洲图片欧洲图片av| 级毛片内射视频| 国内黄色精品| 中文字幕精品av| 久久视频一区二区三区| 久久一区二区中文字幕| 日韩中文字幕精品| 一级性生活免费视频| 五月久久久综合一区二区小说| 中文字幕在线看视频国产欧美| 精品亚洲aⅴ无码一区二区三区| 国产欧美日韩在线一区二区| 在线日韩中文字幕| 中国一级片在线观看| 欧美区日韩区| 国外成人性视频| youjizz在线视频| 奇米影视一区二区三区小说| 91免费精品国偷自产在线| 国产成人免费看一级大黄| 国产精品18久久久久久vr| av一区二区三区免费| 日韩在线视频第一页 | 久久精品三级视频| 91亚洲自偷观看高清| 九色精品免费永久在线| 日本少妇性高潮| 蜜桃视频一区| 成人免费视频网址| 国精产品一品二品国精品69xx| 久久99国产精品久久99大师| 亚洲精品美女在线观看播放| 人妻少妇一区二区| 图片区亚洲欧美小说区| 国内精品在线一区| 中文字幕一区二区人妻视频| 国产伦精一区二区三区| 国产一区国产精品| 亚洲1卡2卡3卡4卡乱码精品| 亚洲欧美电影院| 国产熟女高潮视频| 99热这里有精品| 亚洲国产精品久久久久久| 中文字幕免费高清| 欧美+日本+国产+在线a∨观看| 欧美一级在线亚洲天堂| 国产又黄又爽视频| 2020国产精品久久精品美国| 香蕉精品视频在线| 亚洲人成在线网站| 91精品国产综合久久福利| bl动漫在线观看| 五月天综合网站| 国产97色在线| 成人福利小视频| 国产精品久久毛片av大全日韩| 日本十八禁视频无遮挡| 国产精品成人**免费视频| 精品呦交小u女在线| 久久久久亚洲av无码专区| 日韩不卡手机在线v区| 国产一区二区视频在线免费观看| 永久免费av在线| 欧美性猛交xxxx免费看漫画| xxxx视频在线观看| 日韩精品dvd| 日本久久亚洲电影| 成人毛片在线精品国产| 亚洲警察之高压线| 亚洲精品麻豆| 青青草原成人在线视频| 丰满熟妇人妻中文字幕| 综合分类小说区另类春色亚洲小说欧美| 五月丁香综合缴情六月小说| 精品99re| 久热精品视频在线免费观看| 波多野结衣午夜| 久久婷婷国产综合国色天香 | 国产精品久久麻豆| 欧美中文字幕不卡| 中国美女乱淫免费看视频| 激情文学一区| 国产高清在线一区二区| 亚洲精品白浆| 日韩欧美色综合| 久久精品黄色片| 国内精品久久久久影院薰衣草| 手机成人在线| 国产三级一区| 日韩在线视频一区| 亚洲一区二区人妻| 国产精品福利av| 久热精品在线观看视频| 日韩dvd碟片| 国产欧美一区二区三区在线| 91.xxx.高清在线| 欧美日韩大陆在线| 极品色av影院| 国产麻豆欧美日韩一区| 51xx午夜影福利| 亚洲精品福利| 69av成年福利视频| 日韩av成人| 色天天综合色天天久久| 国产在线观看h| 日本va欧美va瓶| 一区二区三区视频| 国产精品日本一区二区三区在线 | 玖玖精品一区| 欧美国产日韩一区| 亚洲av成人精品一区二区三区在线播放| 亚洲电影中文字幕在线观看| 男女一区二区三区| 亚洲一区二区三区四区五区午夜| 蜜桃av噜噜一区二区三| av免费在线一区| 久久精品在线视频| 国产黄色一区二区| 偷拍与自拍一区| 午夜精产品一区二区在线观看的| 免费观看在线综合| 干日本少妇视频| 欧美在线关看| 国产精品爽黄69| 国产后进白嫩翘臀在线观看视频| 日韩av最新在线观看| 国产一级片av| 亚洲欧美韩国综合色| 日韩免费高清一区二区| 日本免费新一区视频| 少妇熟女一区二区| 欧美a大片欧美片| 国产精品亚洲片夜色在线| 国产黄色在线观看| 日韩精品视频观看| 一本色道久久综合熟妇| 亚洲高清免费视频| 性の欲びの女javhd| 国产一区二区三区综合| 欧美国产亚洲一区| 一本一道久久综合狠狠老 | 噜噜噜噜噜在线视频| 69成人精品免费视频| 日韩精品视频免费看| 欧美国产日本韩| 中文字幕在线观看91| 日韩黄色片在线观看| wwwwww欧美| 日韩精品免费一区二区在线观看| 国产成人精品福利一区二区三区| 欧美日韩精品一区二区三区视频| 欧美第一淫aaasss性| av电影在线观看| 欧美mv日韩mv国产网站app| 337p粉嫩色噜噜噜大肥臀| 亚洲国产精品一区二区久久恐怖片 | 福利视频一区| 91福利视频网| 丝袜美女在线观看| 中文字幕日韩av电影| 午夜福利视频一区二区| 制服丝袜在线91| 中文字幕一区二区三区四区欧美| 亚洲国产精品综合小说图片区| www成人啪啪18软件| 国产性天天综合网| 91丨porny丨对白| 国产精品亚洲综合一区在线观看| 中文字幕欧美人妻精品一区| 亚洲精选成人| 国产美女作爱全过程免费视频| 日韩黄色大片| 日韩av在线一区二区三区| 日韩mv欧美mv国产网站| 99在线观看视频| 欧美a在线观看| 成人综合国产精品| 欧美美女被草| 国产噜噜噜噜久久久久久久久| 日韩免费电影| 国产成人+综合亚洲+天堂| 美女扒开腿让男人桶爽久久软| 欧美人与物videos| 国产成人在线视频免费观看| 日韩一中文字幕| 一本一道波多野毛片中文在线| 亚洲欧美综合精品久久成人| 午夜视频福利在线观看| 亚洲国产日韩欧美在线99| 成人免费公开视频| 亚洲第一网站男人都懂| 成人精品在线播放| 亚洲国产精品嫩草影院久久| 黄色三级网站在线观看| 欧美va亚洲va在线观看蝴蝶网| 精品人妻aV中文字幕乱码色欲| 91精品国产乱码| h狠狠躁死你h高h| 日韩三级电影网址| 精品黑人一区二区三区国语馆| 日韩一区二区三区电影| 国产成人精品白浆久久69| 日韩免费一区二区三区在线播放| 精品国产av鲁一鲁一区| 精品久久久三级丝袜| 免费激情视频网站| 精品视频在线播放| 狠狠色伊人亚洲综合网站l| 国产一区二区欧美日韩| 日本在线观看视频| 久久国产加勒比精品无码| 久操av在线| 国产91精品在线播放| 草民电影神马电影一区二区| 91九色蝌蚪国产| 99re6热只有精品免费观看| 国内精品二区| 欧美美女视频| 裸体裸乳免费看| 亚洲天堂久久| 北条麻妃av高潮尖叫在线观看| 免费成人在线视频观看| 日本成人在线免费观看| av不卡在线观看| 精品无码人妻一区二区免费蜜桃| 亚洲欧美综合在线精品| 黄色小视频在线免费看| 一本到一区二区三区| 国产精品系列视频| 亚洲成人网在线| www亚洲人| 欧美激情伊人电影| 午夜日韩成人影院| 亚洲一区二区三区777| 日韩伦理一区二区三区| 在线视频91| 国产日韩欧美一区在线| www.久久av.com| 99国产一区二区三精品乱码| 中文国语毛片高清视频| 香蕉成人啪国产精品视频综合网| 亚洲永久精品一区| 日韩久久久精品| 3p在线观看| 97涩涩爰在线观看亚洲| 激情久久99| 就去色蜜桃综合| 欧美在线黄色| 污网站免费在线| a在线播放不卡| 中国毛片直接看| 日本高清不卡aⅴ免费网站| 亚洲国产精品国自产拍久久| 一区二区三区久久精品| www.8ⅹ8ⅹ羞羞漫画在线看| 国产日韩欧美综合| 亚州综合一区| 国产精品第157页| 久久99久久精品| 非洲一级黄色片| 狠狠躁夜夜躁久久躁别揉| aaa一区二区三区| 一区二区三区在线播放欧美| 麻豆视频在线看| 福利精品视频| 亚洲视频电影在线| 精品999在线| 国产亚洲制服色| 在线免费黄色av| 亚洲第一综合天堂另类专| av中文字幕在线播放| 国产欧美日韩中文字幕在线| 欧美美乳视频| 99久久久无码国产精品6| 波多野结衣91| 日本熟伦人妇xxxx| 日韩欧美高清一区| gogo在线高清视频| 91精品久久久久久久| 人人狠狠综合久久亚洲婷| 欧美牲交a欧美牲交aⅴ免费真| 26uuu国产电影一区二区| 成年人午夜视频| 日韩av中文字幕在线播放| 国产污视频在线播放| 国产高清一区视频| 亚洲成人直播| 亚洲精品乱码久久久久久蜜桃欧美| 亚洲理论在线观看| 99国产在线播放| 欧美大奶子在线| 亚洲国产中文在线| 激情五月六月婷婷| 国产精品456露脸| 欧美日韩国产精品一区二区三区| 91精品国产综合久久久蜜臀图片| 麻豆tv在线| 亚洲最大成人网色| 欧美精品观看| 中文字幕第九页| 偷窥少妇高潮呻吟av久久免费| 色偷偷在线观看| 欧美最顶级丰满的aⅴ艳星| 亚洲va久久久噜噜噜久久| 久久国产色av免费观看| 国产调教视频一区| 国产真人无遮挡作爱免费视频| 国产一区二区三区免费视频| 国产欧美自拍| 日韩一级免费看| 97超碰欧美中文字幕| 91porny九色| 欧美剧在线观看| 麻豆一区二区麻豆免费观看| aa免费在线观看| 国产精品天干天干在观线| 国产毛片一区二区三区va在线| 欧美激情2020午夜免费观看| 久久久亚洲欧洲日产| 激情网站五月天| 中文字幕制服丝袜成人av| www.久久久久久| 欧美怡春院一区二区三区| 第一社区sis001原创亚洲| 亚洲自拍第三页| 亚洲二区在线视频| 国产乱理伦片a级在线观看| 91在线视频成人| 一本色道久久综合| 影音先锋男人在线| 日韩精品中文字幕一区二区三区 | 男女视频在线| 欧美日本韩国一区二区三区| 久久精品av麻豆的观看方式| 久久精品国产av一区二区三区| 亚洲深夜福利在线| 久久影院一区二区三区| 精品人妻一区二区三区四区在线| 国产精品系列在线| 理论片中文字幕| 国产精品h片在线播放| 伊人久久大香线蕉综合四虎小说| 午夜一区二区三区免费| 7777精品久久久大香线蕉| 咪咪网在线视频| 久久福利一区二区| 国产日产欧产精品推荐色| 欧洲精品久久一区二区| 国产精品一香蕉国产线看观看|