日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

對(duì)話 UNIX,第 4 部分: UNIX 所有權(quán)和權(quán)限管理

從大約 50 年前電子時(shí)代的開始直到 1977 年出現(xiàn)了 Apple 計(jì)算機(jī),完成計(jì)算工作的硬件設(shè)備一直很缺乏,并且購(gòu)買和運(yùn)行它們也非常的昂貴 。當(dāng)時(shí),這些(相對(duì))原始的系統(tǒng)非常珍貴,僅僅用來(lái)處理那些最復(fù)雜的問(wèn)題 。不同的項(xiàng)目之間必須競(jìng)爭(zhēng)才能獲得機(jī)時(shí),而最早的信息技術(shù) (IT) 管理人員的任務(wù)是保持系統(tǒng)每天 24 小時(shí)、每個(gè)星期 7 天不間斷地進(jìn)行工作 。畢竟,每一秒的閑置都等于浪費(fèi)金錢 。
在理想的情況下,可以根據(jù)需要將這些浪費(fèi)掉的 時(shí)間自動(dòng)地分配給任何處于就緒狀態(tài)等待進(jìn)行計(jì)算的任務(wù) 。實(shí)際上,這正是分時(shí) (time-sharing) 的基本思想(由 Robert Berner 在 1957 年提出) 。在 Multics、RSTS/E 和后來(lái)的 Unix?及其最新的變種中,都實(shí)現(xiàn)了分時(shí)或多任務(wù),對(duì)計(jì)算機(jī)資源(CPU、輸入和輸出、以及內(nèi)存)進(jìn)行劃分,分配給多個(gè)等待執(zhí)行的作業(yè),使得看起來(lái)每個(gè)作業(yè)都獨(dú)占了計(jì)算機(jī) ??梢栽诙嗳蝿?wù)大型機(jī)中附加一些虛擬終端,這樣每個(gè)終端都可以看作一臺(tái)個(gè)人計(jì)算機(jī) 。
現(xiàn)在,您很可能擁有自己的 UNIX 計(jì)算機(jī),或者與其他用戶共享功能更強(qiáng)大的多處理器系統(tǒng) 。但無(wú)論是您的便攜式計(jì)算機(jī)、或者公共機(jī)房中的 UNIX 龐然大物,都可能需要進(jìn)行同時(shí)訪問(wèn) 。UNIX 提供了健壯的工具和基礎(chǔ)結(jié)構(gòu),以便幫助您保護(hù)和共享信息 。
本文介紹了用戶權(quán)限,特別是研究了如何對(duì)文件權(quán)限進(jìn)行操作,以便對(duì)其他用戶限制或共享您的目錄和文件 。如果您希望流暢地與 UNIX 進(jìn)行對(duì)話,那么了解相關(guān)的權(quán)限是至關(guān)重要的 。
ID 和 UID
在開始之前,讓我們來(lái)看看您使用的究竟是哪個(gè)用戶 。在命令提示符處,輸入 whoami:
$ whoami
strike
我的計(jì)算機(jī)回答 strike,這是我的用戶名(即登錄時(shí)所使用的名稱) 。您的 whoami 應(yīng)該返回您的登錄名稱 。
當(dāng)然,您的用戶名是用戶 ID (UID) 的假名(pseudonym) 。要查看您的 UID,可以輸入 id -u:
$ id -u
501
在本示例中,我的 UID 為 501 。
通常,盡可能地使用用戶名而不是 UID,因?yàn)橛脩裘子陂喿x和記憶 。例如,如果您運(yùn)行 ps uxf 命令以查看您的運(yùn)行進(jìn)程的列表,那么 ps 將顯示您的用戶名作為您的進(jìn)程的所有者 。
$ ps uxf
USERPID %CPU %MEMVSZ RSS TTY STAT STARTTIME COMMAND
strike32346 0.0 0.1 6496 1832 ?S19:390:00 sshd: strike@pts/0
strike32347 0.0 0.1 2592 1476 pts/0Ss19:390:00 _ -bash
strike32358 0.0 0.0 2476 820 pts/0R19:390:00 _ ps uxf
輸出結(jié)果中顯示了 3 個(gè)進(jìn)程,分別是:一個(gè) ssh 登錄進(jìn)程,它產(chǎn)生了一個(gè) bash Shell,而后者啟動(dòng)了 ps 命令 。類似地,如果您在自己的 home 目錄中運(yùn)行 ls -alFG 以查看您的文件的所有者,那么將顯示您的用戶名而不是您的 UID 。
通常,只有您可以中斷自己的任務(wù) 。(當(dāng)然,超級(jí)用戶 root 可以控制和操作所有的任務(wù) 。)例如,joe(共享相同系統(tǒng)的另一個(gè)用戶)不能終止我正在運(yùn)行的 Shell,即上面列表中的進(jìn)程 32347:
$ whoami
joe
$ kill -INT 32347
-bash: kill: (32347) - Operation not permitted
其中,32347 是我的 Shell 的進(jìn)程 ID,joe 可以通過(guò)運(yùn)行 ps auxf 找到該信息 。然而,因?yàn)樵撨M(jìn)程由我所擁有,所以 joe 不能終止它 。與此相反,我當(dāng)然可以結(jié)束自己的任何任務(wù),如清單 1 所示 。
清單 1. 結(jié)束自己的進(jìn)程
$ ps uxf
...
strike32347 0.0 0.1 2592 1488 pts/0Ss19:390:00 _ -bash
strike32733 39.5 0.0 1480 356 pts/0R19:500:01 _ yes
$ kill -INT 32733
$ ps uxf
...
strike32347 0.0 0.1 2592 1488 pts/0Ss19:390:00 _ -bash
在運(yùn)行了 kill -INT 32733 之后,終止了進(jìn)程 32733(yes 命令) 。

推薦閱讀