進程pid和ppid、進程的uid和euid、使用者的uid和gid、檔案的建立者和所有者的關係辨析

來源:互聯網
上載者:User

進程pid和ppid、進程的uid和euid、使用者的uid和gid、檔案的建立者和所有者的關係辨析

1、當我們建立使用者時,由我們為建立使用者命名和設定密碼,同時系統會為我們所建立的使用者名稱關聯一個號,就是所謂的使用者uid。同時我們還可以把這個使用者放到某個使用者群裡,類似的,使用者群也可以我們手工建立。如果建立使用者時,不指明所建的使用者屬於哪個使用者群,則系統會自動建立一個跟使用者名稱同名的使用者群。不管手工建立還是自動建立,系統都會為使用者群關聯一個號,這個號稱之為gid。使用者uid所屬的群的gid就是使用者的gid。

2、系統在運行每個進程時都會關聯幾個號,分別為pid、ppid、uid、euid。進程的pid為運行進程時,系統自動分配的,用於唯一標識此進程的一個整數。進程的ppid就是進程的父進程的pid。同時,系統還會為啟動並執行進程分配一個進程uid和進程euid,用於判斷檔案的執行許可權。一般情況下,進程uid和進程euid等於運行這個進程的使用者uid。對於某檔案,它的執行許可權分成檔案擁有者、檔案擁有者同組、其他使用者三組,從而分成三個層級。使用者euid的作用就是於此。通過比較euid是屬於檔案的哪個組,從而決定屬於檔案執行許可權的哪個層級,那麼這個進程就擁有對該檔案什麼層級的執行許可權。另外,如果可執行檔的setuid位有效,則運行這個可執行檔時,進程uid還是使用者的uid,而進程euid則會暫時被修改成該可執行檔的所有者使用者uid,直到該進程結束。一句話,在某個進程中,進程pid和ppid是唯一標識該進程的,它不會改變,而進程uid與運行該進程的使用者uid相同,進程euid則與uid相同,只有回合設定了setuid位的檔案時才會把euid改為這個檔案的所有者使用者uid。進程gid和進程egid則類似。

檔案的屬性:
  15 14 13 12       11    10    9       8 7 6 5 4 3 2 1 0
   檔案類型     setuid setgid sticky    R W X R W X R W X
#define __S_IFMT 0170000  0開頭表示是八進位,這個位決定了檔案類型
#define __S_IFDIR 0040000   目錄檔案
#define __S_IFCHR 0020000   字元裝置檔案
。。。。。。。
#define S_IRUSR  檔案的所有者可讀
#define S_IWUSR  檔案的所有者可寫
#define S_IXUSR  檔案的所有者可執行
#define S_IRGRP  檔案的所有者的同組使用者可讀
#define S_IROTH  檔案的其他使用者可讀

在shell中執行ls -l命令,則會顯示如下:
drwxr-xr-x 2 root root 652 Jul 31 2006 /root/hello
d表示檔案,後面幾個表示檔案所有者、同組使用者、其他使用者的執行許可權,檔案數量,檔案所有者,檔案建立者(注意,RHEL這項是檔案所有群),檔案大小,日期,檔案所在路徑
du -sh xxx可以測量xxx檔案或目錄所佔記憶體大小。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.