如何在linux上使用chmod命令

控制誰可以使用Linux的chmod命令訪問檔案、搜尋目錄和執行指令碼。這個命令修改Linux檔案許可權,乍看起來很複雜,但一旦你知道它們是如何工作的,實際上就相當簡單了。...

控制誰可以使用Linux的chmod命令訪問檔案、搜尋目錄和執行指令碼。這個命令修改Linux檔案許可權,乍看起來很複雜,但一旦你知道它們是如何工作的,實際上就相當簡單了。

chmod修改檔案許可權

在Linux中,誰可以對檔案或目錄做什麼是透過許可權集來控制的。有三組許可權。一組用於檔案所有者,另一組用於檔案組成員,最後一組用於其他所有人。

許可權控制可以對檔案或目錄執行的操作。它們允許或阻止檔案被讀取、修改或執行(如果是指令碼或程式)。對於目錄,許可權控制誰可以將cd放入目錄,誰可以在目錄中建立或修改檔案。

您可以使用chmod命令來設定每個許可權。要檢視對檔案或目錄設定了哪些許可權,可以使用ls。

檢視和了解檔案許可權

我們可以使用-l(長格式)選項讓ls列出檔案和目錄的檔案許可權。

ls -l

如何在linux上使用chmod命令

在每行上,第一個字元標識要列出的條目型別。如果是破折號(-),則是一個檔案。如果是字母d,那就是一個目錄。

接下來的九個字元表示三組許可權的設定。

  • 前三個字元顯示擁有檔案的使用者的許可權(使用者許可權)。
  • 中間的三個字元顯示檔案組成員的許可權(組許可權)。
  • 最後三個字元顯示不在前兩個類別中的任何人的許可權(其他許可權)。

每組許可權中有三個字元。這些字元表示是否存在某個許可權。它們不是破折號(-)就是字母。如果字元是破折號,則表示未授予許可權。如果字元是r、w或x,則已授予該許可權。

這些字母代表:

  • r:讀取許可權。可以開啟檔案並檢視其內容。
  • w:寫許可權。可以編輯、修改和刪除檔案。
  • x:執行許可權。如果檔案是指令碼或程式,則可以執行(執行)。

例如:

  • ---意味著根本沒有授予任何許可權。
  • rwx表示已授予完全許可權。讀、寫和執行指示器都存在。

在我們的螢幕截圖中,第一行以d開頭。這一行指的是一個名為“archive”的目錄。目錄的所有者是“dave”,目錄所屬的組的名稱也叫“dave”

接下來的三個字元是此目錄的使用者許可權。這表明所有者具有完全許可權。r、w和x字元都存在。這意味著使用者dave擁有該目錄的讀、寫和執行許可權。

第二組三個字元是組許可權,它們是r-x。這些字元表示dave組的成員對此目錄具有讀取和執行許可權。這意味著他們可以列出目錄中的檔案及其內容,並且可以將其cd(執行)到該目錄中。他們沒有寫許可權,因此無法建立、編輯或刪除檔案。

最後一組三個字元也是r-x。這些許可權適用於不受前兩組許可權控制的人。這些人(稱為“其他人”)對此目錄具有讀取和執行許可權。

總之,組成員和其他人擁有讀取和執行許可權。所有者,一個叫dave的使用者,也有寫許可權。

對於所有其他檔案(除了mh.sh公司指令碼檔案)dave和dave組的成員對檔案具有讀寫屬性,其他成員僅具有讀許可權。

對於特殊情況mh.sh公司指令碼檔案中,所有者dave和組成員具有讀取、寫入和執行許可權,其他成員僅具有讀取和執行許可權。

瞭解許可權語法

要使用chmod設定許可權,我們需要告訴它:

  • 誰:我們正在為誰設定許可權。
  • 什麼:我們在做什麼改變?我們是在新增還是刪除許可權?
  • 哪個:我們要設定哪些許可權?

我們使用指示符來表示這些值,並形成簡短的“permissi***語句”,如u+x,其中“u”表示“user”(誰),“+”表示add(什麼),“x”表示execute permission(哪個)。

我們可以使用的“誰”值是:

  • u:User,意思是檔案的所有者。
  • g:Group,表示檔案所屬組的成員。
  • o:其他人,指不受u和g許可權管理的人。
  • a:全部,就是說以上所有的。

如果這些都沒有使用,chmod的行為就好像使用了“a”。

我們可以使用的“what”值是:

  • –:減號。刪除許可權。
  • +:加號。授予許可。許可權將新增到現有許可權中。如果您想擁有此許可權並且只想擁有此許可權集,請使用=選項,如下所述。
  • =:等號。設定許可權並刪除其他許可權。

我們可以使用的“which”值是:

  • r:讀取許可權。
  • w:寫許可權。
  • x:執行許可權。

設定和修改許可權

假設我們有一個每個人都有完全許可權的檔案。

ls -l new_ file.txt

如何在linux上使用chmod命令

我們希望使用者dave具有讀寫許可權,組和其他使用者僅具有讀許可權。我們可以使用以下命令:

chmod u=rw,og=r new_file.txt

如何在linux上使用chmod命令

使用“=”運算子意味著刪除所有現有許可權,然後設定指定的許可權。

讓我們檢查此檔案的新許可權:

ls -l new_file.txt

如何在linux上使用chmod命令

現有的許可權已被刪除,新的許可權已設定,如我們所料。

在不刪除現有許可權設定的情況下新增許可權如何?我們也很容易做到。

假設我們有一個已經完成編輯的指令碼檔案。我們需要讓它對所有使用者都可執行。其當前許可權如下所示:

ls -l new_script.sh

如何在linux上使用chmod命令

我們可以使用以下命令為每個人新增執行許可權:

chmod a+x new_script.sh

如何在linux上使用chmod命令

如果我們看一下許可權,就會發現execute許可權現在被授予了所有人,而現有的許可權仍然存在。

ls -l new_script.sh

如何在linux上使用chmod命令

如果沒有“a+x”語句中的“a”,我們也可以實現同樣的目標。下面的命令也同樣有效。

chmod +x new_script.sh

設定多個檔案的許可權

我們可以同時對多個檔案應用許可權。

以下是當前目錄中的檔案:

ls -l

如何在linux上使用chmod命令

假設我們要從副檔名為“.page”的檔案中刪除“其他”使用者的讀取許可權。我們可以使用以下命令執行此操作:

chmod o-r *.page

如何在linux上使用chmod命令

讓我們來看看有什麼影響:

ls -l

如何在linux上使用chmod命令

如我們所見,對於“其他”類別的使用者,讀取許可權已從“.page”檔案中刪除。沒有其他檔案受到影響。

如果我們想在子目錄中包含檔案,我們可以使用-R(遞迴)選項。

chmod -R o-r *.page

數字速記

使用chmod的另一種方法是以三位數的形式向所有者、組和其他人提供您希望授予的許可權。最左邊的數字表示所有者的許可權。中間數字表示組成員的許可權。最右邊的數字表示其他數字的許可權。

此處列出了您可以使用的數字及其代表的內容:

  • 0:(000)沒有許可權。
  • 1:(001)執行許可權。
  • 2:(010)寫入許可權。
  • 3:(011)寫入和執行許可權。
  • 4:(100)讀取許可權。
  • 5:(101)讀取和執行許可權。
  • 6:(110)讀寫許可權。
  • 7:(111)讀、寫和執行許可權。

三個許可權中的每一個都由一個二進位制位表示,二進位制位相當於十進位制數。所以5,在二進位制中是101,意味著讀和執行。2是二進位制的010,表示寫許可權。

使用此方法,您可以設定希望擁有的許可權;您不會將這些許可權新增到現有許可權中。因此,如果讀寫許可權已經存在,則必須使用7(111)來新增執行許可權。使用1(001)將刪除讀寫許可權並新增執行許可權。

讓我們為其他使用者類別的“.page”檔案新增讀取許可權。我們還必須設定使用者和組許可權,因此需要將它們設定為現有的許可權。這些使用者已經擁有讀寫許可權,即6(110)。我們希望“others”具有讀取和訪問許可權,因此需要將它們設定為4(100)。

以下命令將完成此操作:

chmod 664 *.page

如何在linux上使用chmod命令

這將使用者、組成員和其他人所需的許可權設定為所需的許可權。使用者和組成員的許可權已重置為原來的許可權,其他使用者和組成員的讀取許可權已恢復。

ls -l

如何在linux上使用chmod命令

高階選項

如果您閱讀chmod的手冊頁,您將看到與SETUID和SETGID位以及受限刪除或“粘滯”位相關的一些高階選項。

對於99%需要chmod的情況,這裡描述的選項將涵蓋您。

  • 發表於 2021-04-03 05:19
  • 閱讀 ( 48 )
  • 分類:網際網路

你可能感興趣的文章

40多個最常用的linux終端命令

... 在您真正充分利用終端之前,您需要知道如何導航它。這就是為什麼我們認為這些是最基本的Linux命令:如果你不能更改目錄或者在一個你不記得如何使用的命令上獲得幫助,那麼再多的終端知識也幫不了你。 ...

  • 發佈於 2021-03-15 21:40
  • 閲讀 ( 49 )

如何更改linux密碼

...但幸運的是,更改Linux密碼很容易。今天我們將向您展示如何通過幾個簡單的命令更改當前使用者的密碼、其他使用者的密碼和超級使用者的密碼。 ...

  • 發佈於 2021-03-28 02:28
  • 閲讀 ( 42 )

關於linux中bash for loops的所有知識

... 第一行告訴執行這個程式的人如何執行它(即使用bash直譯器)。第二個命令與您在命令列中輸入的任何其他命令一樣。將該檔案另存為hello_世界.sh,然後: ...

  • 發佈於 2021-03-29 06:22
  • 閲讀 ( 59 )

終極樹莓皮命令備忘單

... 這就是為什麼我們準備了這個方便的備忘單的日常使用樹莓皮。 ...

  • 發佈於 2021-03-30 18:59
  • 閲讀 ( 57 )

如何使用受限shell來限制linux使用者可以做什麼

...改其目錄,您可以控制他們可以訪問哪些命令。下面介紹如何在Linux上設定受限shell。 受限炮彈 受限shell不是另一個shell。這是標準外殼的另一種模式。Bash、Korn、Fish和其他shell都可以在受限shell模式下啟動。在本文中,我們將...

  • 發佈於 2021-03-31 10:57
  • 閲讀 ( 55 )

如何在啟動時用systemd執行linux程式

...立整合服務的過程,甚至與雜誌進行對話。 本教程演示如何設定啟動系統時啟動的系統服務。要在登入時啟動圖形程式,請改用桌面的啟動管理器。 啟動時執行程式 有時,您在計算機上安裝的軟體會將自己連線到Linux啟動過...

  • 發佈於 2021-04-01 17:43
  • 閲讀 ( 46 )

如何在mac上設定檔案許可權

...可以設定檔案和目錄的讀、寫和可執行許可權。 相關:如何在Linux上使用chmod命令 但是chmod命令並不是一個僅限Linux的命令。與許多其他Linux終端命令一樣,chmod可以追溯到上世紀70年代的Unix Linux和macOS都有這一傳統,這就是chmod命...

  • 發佈於 2021-04-02 05:26
  • 閲讀 ( 45 )

如何在linux上使用suid、sgid和sticky位

...權的人才能訪問儲存的密碼,那麼那些沒有該許可權的人如何更改他們的密碼? 提升你的地位 通常,Linux命令和程式執行時與啟動程式的人具有相同的許可權集。當root執行passwd命令以更改密碼時,它將以root的許可權執行。這意...

  • 發佈於 2021-04-02 14:48
  • 閲讀 ( 39 )

linux檔案時間戳:atime、mtime和ctime

...們談論Linux檔案時間戳時。在本指南中,我們將解釋系統如何更新它們,以及如何自己修改它們。 atime、mtime和ctime的區別 每個Linux檔案都有三個時間戳:訪問時間戳(atime)、修改時間戳(mtime)和更改時間戳(ctime)。 訪問時...

  • 發佈於 2021-04-02 16:01
  • 閲讀 ( 60 )

如何在bash中使用變數

...給它: drink_of-the_Year="$my_boost $this_year" echo drink_of_the-Year 如何在指令碼中使用變數 如果沒有變數,指令碼將完全無法執行。變數提供了靈活性,使指令碼成為通用的解決方案,而不是特定的解決方案。為了說明這一區別,這裡...

  • 發佈於 2021-04-03 02:34
  • 閲讀 ( 57 )
gpe6n9i0
gpe6n9i0

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦