回顧下程序標識和檔案許可權

2022-07-13 04:00:17 字數 1263 閱讀 1143

通常乙個程序具有多個標識,其中最重要的是pid和ppid

pid表示自身的標識,全域性唯一

ppid表示父程序的id,可用來判斷由誰fork而來

pgid,所屬程序組id,程序組表示一組程序,而這個pgid就是組長程序的pid

預設組長程序的子程序具有相同的pgid,乙個程序可以調整自己的pgid,是自己加入或退出某個程序組

sid,會話id,描述控制終端和幾個程序組,通常會話控制程序的pid就是sid,但對這個控制程序有以下要求:

1. 不能已經是乙個程序組的組長程序

2. 最好沒有與控制終端關聯,即使有也會被切斷

會話控制程序負責管理幾個程序組,其中一般有後台程序組(不與控制終端關聯)

如果是乙個登入會話,則會存在乙個前台程序組,這個前台程序組與控制終端聯絡並負責一系列工作,當使用者從控制終端退出時,前台程序組中的程序都會收到sighup訊號導致程序退出,而後台程序組則不會退出

對於daemon程序,設計上一般是乙個遮蔽sighup訊號的會話控制程序

平時使用nohup+&啟動後台程序,其實就是啟動了乙個遮蔽sighup訊號的程序

預設已知的是屬主、屬組、其它,這個從檔案資訊可以看到,其中rwx表示讀寫執行許可權

先說說實際使用者,實際使用者就是登入時的使用者,此後即使執行sudo切換使用者,實際使用者還是登入時的使用者

有效使用者,指切換到的使用者,比如sudo切換到root,那麼有效使用者就是root

初始使用者組,就是/etc/group中與使用者相關的組

有效使用者組,表示使用者此時所在的使用者組,就是newgrp切換到的使用者組,如果沒有執行,則有效使用者組就是初始使用者組

當使用命令對檔案執行操作時,就會根據有效使用者和有效使用者組以及檔案相應的操作型別判斷許可權,如果不滿足則會報許可權錯誤

特殊的,粘著位,例如/tmp,其許可權是rwxrwxrwt,其中的t就是粘著位,以前是設定讓可執行檔案在交換區中儲存以便於下一次快速載入

現在多用於目錄,如/tmp,使每個使用者都可以在目錄下建立檔案並讀寫,但刪除只能由建立它的使用者執行(實際要稍微複雜點,但基本是一樣的邏輯)

另乙個特殊的就是設定使用者位,如-rwsrwx---,其中s為設定使用者位,可通過chmod +s -s操作,設定使用者位使得任何使用者執行該檔案時,不使用有效使用者,而是使用屬主身份

例如乙個檔案的許可權和屬主如下:

-rwsrwx--- root root

那麼對於非root使用者執行該檔案時,相當於用root使用者執行

區分實際使用者和有效使用者可使用

who -m 實際使用者

whoami 有效使用者

Linux下目錄和檔案的許可權

在linux系統內檔案有三種身份 owner group others 而且每種身份有三種許可權 r read w write x execute 我們可以使用chmod chown chgrp去修改這 些許可權,也可以用ls l檢視他們的許可權與屬性,那麼這些許可權對於一般檔案和目錄檔案有什麼不同...

程序 記憶體和檔案

程序是作業系統裡面的核心概念。它指的是乙個運動中的程式。從名字上看,程序表示的就是進展中的程式。乙個程式一旦在計算機裡執行起來,它就稱為乙個程序。作業系統對程序的管理通過程序表來實現。程序表裡存放的是關於程序的一切資訊。在任何時候,程序所占有的全部資源,包括分配給該程序的記憶體,核心資料結構和軟資源...

LINUX 下怎麼改變檔案和檔案目錄許可權

開始玩linux作業系統,感覺對於乙個檔案編輯,還有各種改許可權,很繁雜,為什麼沒有windows系統好用,直接右擊點開啟或者直接雙擊就可以開始編輯。其實這種我個人感覺這是為了增加系統的安全性,比如你的家,不管你有沒有在家,天天把門開啟,就不怕小偷進來偷東西嘛。但是天天緊閉著也不好,對於朋友和親戚,...