十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
實際用戶:表示你是誰,誰運行起來,用于標識信息eg:×××,邀請函身份,非會員
有效用戶:對某種資源是否具有某種權限,進程可能訪問某些資源,普通用戶不忍,身份變更才可訪問資源
例如:在Linux系統(tǒng)下,root用戶或普通用戶都可以使用passwd命令來修改密碼,修改密碼主要通過修改etc文件來實現(xiàn),而shadow文件權限全空,只有root有權限修改此文件。故當普通用戶執(zhí)行passwd命令時,它的權限在一瞬間得到提升,運行時以擁有者權限運行。
//創(chuàng)建文件test.c #includeint main() { printf("hello\n"); return 0; }
在root權限下,修改test4.c的權限為066,此時運行test4.c
運行結(jié)果:
現(xiàn)在添加進程實際用戶和有效用戶等信息。
#include#include #include int main() { printf("hello\n"); pid_t id=fork(); if(id<0) { perror("fork"); exit(1); } else if(id==0) { printf("pid: %d,ppid: %d,uid: %d,euid: %d,gid: %d,egid: %d\n",getpid(),getppid(),getuid(),geteuid(),getgid(),getegid()); } else { printf("pid: %d,ppid: %d,uid: %d,euid: %d,gid: %d,egid: %d\n",getpid(),getppid(),getuid(),geteuid(),getgid(),getegid()); } return 0; }
運行結(jié)果為:
注意:test4一直是000權限
現(xiàn)在回到普通用戶:運行./test4
現(xiàn)在就要回到root權限給test4加s權限啦
輸入chmod u+s test4,只用給可執(zhí)行文件加,再回到普通用戶試試
此時euid變?yōu)?,為root權限的euid.set設置完成后,任意一個可運行命令的用戶(設置SUID位),以該文件擁有者權限運行-----SUID作用
同理,gid和egid的設置也一樣。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。