如果您已經使用Linux一段時間了(甚至OSX),您可能會遇到“許可權”錯誤。但它們究竟是什麼?為什麼它們是必要的或有用的?讓我們看看裡面。
在過去,計算機是非常昂貴的大型機器。為了最大限度地利用它們,多個計算機終端被連線起來,允許許多使用者同時進行他們的業務。資料處理和儲存是在機器上完成的,而終端本身只不過是一種檢視和輸入資料的手段。如果你仔細想想,這幾乎就是我們在“雲”**問資料的方式;看看亞馬遜的雲MP3系統、Gmail和Dropbox,你會注意到,雖然可以在本地進行更改,但一切都是遠端儲存的。
(圖片:Zenith Z-19“啞巴”終端;圖片來源:ajmexico)
為了讓它工作,個人使用者需要有帳戶。他們需要有一部分的儲存區域分配給他們,他們需要被允許執行命令和程式。每個人都有特定的“使用者許可權”,它規定了他們可以做什麼和不能做什麼,在系統上他們可以做什麼和不能做什麼,他們可以修改和不能修改誰的檔案。每個使用者也被放入不同的組中,這些組允許或限制進一步的訪問。
在這個古怪的多使用者世界裡,我們已經為使用者能做什麼設定了界限。但是他們能接觸到什麼呢?每個檔案都有一組許可權和所有者。所有者指定(通常在建立檔案時繫結)宣告該檔案屬於哪個使用者,並且只有該使用者可以更改其訪問許可權。
在Linux世界中,許可權分為三類:讀、寫和執行。“讀”許可權允許檢視檔案內容,“寫”許可權允許修改檔案內容,“執行”許可權允許執行一組指令,如指令碼或程式。每個類別都應用於不同的類:使用者、組和世界。“使用者”是指所有者,“組”是指與所有者在同一組中的任何使用者,“世界”是指任何人和所有人。
也可以使用這些許可權限制資料夾。例如,您可以允許組中的其他人檢視主資料夾中的目錄和檔案,但不允許組外的任何人檢視。您可能只想將“寫”許可權限制為您自己,除非您正在處理某種共享專案。您還可以建立一個共享目錄,允許任何人檢視和修改該資料夾中的檔案。
圖形使用者介面
要更改您在Ubuntu中擁有的檔案的許可權,只需右鍵單擊該檔案並轉到“屬性”
您可以更改所有者、組或其他人是否可以讀寫、只讀或不執行任何操作。您還可以選中一個允許執行檔案的框,這將同時為所有者、組和其他人啟用它。
命令列
您也可以透過命令列執行此操作。轉到包含檔案的目錄,鍵入以下命令以檢視列表中的所有檔案:
ls -al
在每個檔案和目錄旁邊,您將看到一個特別的部分,其中概述了它擁有的許可權。看起來是這樣的:
-rwxrw-r–
r代表“讀”,w代表“寫”,x代表“執行”。目錄將以“d”開頭,而不是“-”。您還將注意到有10個空格儲存值。你可以忽略第一個,然後有3組3。第一套是給業主的,第二套是給集團的,最後一套是給全世界的。
要更改檔案或目錄的許可權,讓我們看看chmod命令的基本形式。
chmod [class][operator][permission] file
chmod [ugoa][+ or –] [rwx] file
一開始這看起來很複雜,但相信我,這很簡單。首先,讓我們看一下課程:
接下來,操作員:
還跟我在一起嗎?最後一節與我們檢查檔案許可權時相同:
現在,讓我們把它放在一起。假設我們有一個檔名為“todo.txt檔案“具有以下許可權:
-rw-rw-r–
也就是說,所有者和組可以讀寫,而世界只能讀。我們要將許可權更改為:
-rwxr—–
也就是說,所有者擁有完全許可權,組可以讀取。我們可以分三步來完成。首先,我們將為使用者新增執行許可權。
chmod u+x todo.txt
然後,我們將刪除組的寫入許可權。
chmod g-w todo.txt
最後,我們將刪除所有其他使用者的讀取許可權。
chmod o-r todo.txt
我們也可以將這些合併到一個命令中,如下所示:
chmod u+x,g-w,o-r todo.txt
您可以看到每個部分都用逗號分隔,並且沒有空格。
以下是一些有用的許可權:
使用chmod還可以做一些其他的事情,比如setuid和setgid,但是它們有點深入,而且大多數使用者實際上並不需要使用它們。
現在,我們並不總是執行有多個使用者的系統。為什麼我們還要擔心許可權?
好吧,Unix及其衍生產品Linux、osx等也區分了使用者執行的東西、管理員執行的東西或具有管理員許可權的東西以及系統本身執行的東西。因此,對於系統來說不可或缺的東西需要管理員許可權才能被更改或訪問。這樣,你就不會意外地把事情搞砸了。
在Ubuntu中,要更改系統檔案,可以使用“sudo”或“gksudo”來獲得相當於管理員許可權的許可權。在其他發行版中,您可以切換到“root”或“super user”,在您登出之前,它可以有效地執行相同的操作。
請注意,在這兩種情況下,更改檔案許可權可能導致程式無法執行,無意中將檔案所有權更改為根使用者(而不是所有者),並降低系統的安全性(透過授予更多許可權)。因此,建議您不要更改檔案(尤其是系統檔案)的許可權,除非有必要或者您知道自己在做什麼。
檔案許可權已經到位,為使用者提供了一個基本的安全系統。瞭解它們的工作原理可以幫助您在多使用者環境中建立基本共享,保護“公共”檔案,併為您提供有關係統檔案所有權何時出現問題的線索。
你覺得你能更容易解釋嗎?有修正嗎?想回憶過去嗎?休息一下,把你的想法寫在評論裡。
... Mac上的每個專案,無論是檔案還是資料夾,都帶有一組許可權。這些控制元件控制哪些使用者帳戶可以訪問它以及它們具有何種訪問許可權。許可權由三種類型的使用者(所有者、組和所有人)執...
...Linux風格,但是現在你很困惑,因為你對終端命令和Linux檔案許可權一無所知? ...
如果您不知道如何使用ls命令,那麼獲取與儲存上的檔案相關的詳細資訊是很困難的。在這裡,我們將討論Linux上與ls命令相關的所有內容,以及它使用的一些不同的標誌。 ...
... 檔案讀取將列出許多使用者,比使用您的系統的實際使用者多得多。這些其他帳戶是系統程序,有時稱為“偽使用者” ...
與所有主要作業系統一樣,macOS允許您使用一組複雜的檔案許可權來限制對檔案的訪問。您可以使用Finder應用程式或Mac終端中的chmod命令自行設定這些設定。下面是方法。 使用finder設定mac檔案許可權 如果您想在不使用終端的情...
...D和Sticky位是強大的特殊許可權,您可以為Linux上的可執行檔案和目錄設定這些許可權。我們將分享使用它們的好處和潛在的缺陷。 它們已經在使用了 將安全性構建到多使用者作業系統中會出現幾個難題。以密碼(看似)的基...
...挖個洞。你可以像剝洋蔥一樣剝Linux。 ls將向您顯示有關檔案的大量資訊,例如對其設定了哪些許可權、檔案的大小以及檔案是檔案還是符號連結。為了顯示這個資訊,ls從一個叫做inode的檔案系統結構中讀取它。 每個檔案和目...
...項,包括一些您應該新增到命令列庫中的選項。 ls列出檔案和目錄 ls命令可能是大多數Linux使用者遇到的第一個命令。我們這些整天圍著命令列轉的人日復一日地使用它,甚至沒有想過它。這也許可以解釋為什麼這個命令比大...
... 我們都聽說過(過於簡單化)Linux中的所有東西都是一個檔案。實際上,作業系統中幾乎所有的東西,從程序、檔案、目錄、套接字和管道,都透過檔案描述符與核心進行通訊。因此,儘管不是所有的東西都是一個檔案,但大多...
Linux系統中的檔案和目錄都屬於某個人。您可以使用chown命令更改它們的所有權。我們教你怎麼做。 每個檔案都屬於一個使用者和一個組 Linux是一個多使用者系統。作業系統允許定義多個使用者帳戶,並允許任何有效使用者登...