『學了就忘』Linux基礎命令 — 24、檔案基本許可權的相關命令

繁華似錦Fighting發表於2021-11-05

常用基本許可權操作命令:

  • chmod命令
  • chown命令
  • chgrp命令

1、chmod命令

修改許可權的命令chmod,其基本資訊如下:

  • 命令名稱:chmod
  • 英文原意:change file mode bits
  • 所在路徑:/bin/chmod
  • 執行許可權:所有使用者。
  • 功能描述:修改檔案的許可權模式。

chmod命令格式:

[root@localhost ~ ] # chmod [選項] 許可權模式 檔名

選項:
  -R:遞迴設定許可權,也就是給子目錄中的所有檔案設定許可權

2、許可權模式

chmod命令的許可權模式的格式是[ugoa][+-=][perms],也就是[使用者身份][賦予方式][許可權]的格式,我們來解釋一下。

(1)使用者身份。

  • u:代表所有者(user)。
  • g:代表所屬組(group)。
  • o:代表其他人(other)。
  • a:代表全部身份(all)。

(2)賦予方式。

  • +:加入許可權。
  • -:減去許可權。
  • =:設定許可權。

(3)許可權。

  • r:讀取許可權(read)。
  • w:寫許可權(write)。
  • x:執行許可權(execute)。
# 檢視abc檔案的許可權
[root@192 ~]# ll
-rw-r--r--. 1 root root   0 12月 29 21:41 abc

# 1.給abc檔案的所有者新增執行許可權。
[root@192 ~]# chmod u+x abc 
[root@192 ~]# ll
-rwxr--r--. 1 root root     0 12月 29 21:41 abc

# 2.同時給多個身份賦予許可權,之間用逗號隔開。
[root@192 ~]# chmod g+w,o+w abc 
[root@192 ~]# ll
-rwxrw-rw-. 1 root root     0 12月 29 21:41 abc

# 3.直接給對應的身份賦予想要的許可權,用=。
[root@192 ~]# chmod u=rwx,g=rwx,o=rwx abc 
[root@192 ~]# ll
-rwxrwxrwx. 1 root root     0 12月 29 21:41 abc

3、數字許可權

數字許可權的賦予方式是最簡單的,但是不如之前的字母許可權好記、直觀。
我們來看看這些數字許可權的含義。

  • 4:代表r許可權。
  • 2:代表w許可權。
  • 1:代表x許可權。

說明:
r、w、x代表讀寫執行的許可權,我們把1代表有許可權,0代表沒有許可權,則111帶便三個許可權都有,把111看成一個二進位制數,轉義成十進位制就是7,101則為5,以此類推。

4、檔案常用許可權

數字許可權的賦予方式更加簡單,但是需要使用者對這幾個數字更加熟悉。其實常用許可權也並不多,只有如下幾個。

  • 644:這是檔案的基本許可權,代表所有者擁有讀、寫許可權,而所屬組和其他人擁有隻讀許可權。(檔案的標準許可權就是這個許可權)
  • 755:這是檔案的執行許可權和目錄的基本許可權,代表所有者擁有讀、寫和執行許可權,而所屬組和其他人擁有讀和執行許可權。
  • 777:這是最大許可權。在實際的生產伺服器中,要盡力避免給檔案或目錄賦予這樣的許可權,這會造成一定的安全隱患。(代表所有人都擁有對該檔案的最大許可權,實際工作中不可這麼設定。)

5、chown命令

chown是修改檔案和目錄的所有者和所屬組的命令,其基本資訊如下:

  • 命令名稱:chown
  • 英文原意:change file owner and group
  • 所在路徑:/bin/chown
  • 執行許可權:所有使用者。
  • 功能描述:修改檔案和目錄的所有者和所屬組。

chown命令格式:

[root@localhost ~ ] # chown [選項] 所有者:所屬組 檔案或目錄

選項:
  -R:遞迴設定許可權,也就是給子目錄中的所有檔案設定許可權

注意:在新安裝的Linux系統中,是有大量的系統使用者的,但是這些系統使用者是不能登陸的,能登陸的使用者只有root使用者。

演示:登陸使用者為root

# 1.檔案的所有者為使用者,所以需要先建立一個普通使用者user1。
[root@192 ~]# useradd user1
[root@192 ~]# passwd user1
更改使用者 user1 的密碼 。
新的 密碼:
無效的密碼: 過於簡單化/系統化
無效的密碼: 過於簡單
重新輸入新的 密碼:
passwd: 所有的身份驗證令牌已經成功更新。
# 上面兩個命令就是新增使用者和給使用者設定密碼。
# 此時是root使用者,如果是普通使用者修改自己的密碼,就需要符合密碼複雜度原則。

# 2.檢視abc檔案的擁有者和所屬組
[root@192 ~]#  ls -l abc
-rwxrwxrwx. 1 root root 0 12月 29 21:41 abc

# 3.修改abc檔案的擁有者為user1
[root@192 ~]# chown user1 abc
[root@192 ~]#  ls -l abc
-rwxrwxrwx. 1 user1 root 0 12月 29 21:41 abc

#注意:在chown命令的描述中,是可以修改擁有者和使用者組的`change file owner and group`。
# 所以通過chown命令是可以同時修改檔案的擁有者和使用者組。

[root@192 ~]#  ls -l abc
-rwxrwxrwx. 1 user1 user1 0 12月 29 21:41 abc
[root@192 ~]# chown root:root abc
[root@192 ~]#  ls -l abc
-rwxrwxrwx. 1 root root 0 12月 29 21:41 abc

# 提示:chown命令中擁有者和所屬組之間用:或.分隔都可以。

6、chgrp命令

chgrp是修改檔案和目錄的所屬組的命令,其基本資訊如下:

  • 命令名稱:chgrp
  • 英文原意:change group ownership
  • 所在路徑:/bin/chgrp
  • 執行許可權:所有使用者。
  • 功能描述:修改檔案和目錄的所屬組。

同上邊chown命令,演示如下:

# 1.檢視abc檔案的擁有者和所屬組
[root@192 ~]#  ls -l abc
-rwxrwxrwx. 1 root root 0 12月 29 21:41 abc

# 2.修改abc檔案的所屬組
[root@192 ~]# chgrp user1 abc
[root@192 ~]#  ls -l abc
-rwxrwxrwx. 1 root user1 0 12月 29 21:41 abc

注意:
chown命令的演示中,只建立了user1使用者,並沒有建立user1組。但此時系統中是有user1組的。在Linux系統中,如果你新增了一個使用者,系統會預設生成一個同名的組(user1組),作為這個使用者的初始組,所以不用在單獨建立user1的使用者組了。這與Windows系統是有區別的。

7、總結

  • 1.普通使用者可以修改所有者是自己的檔案的許可權。
    [user1@192 ~]$ touch test
    [user1@192 ~]$ ls
    test
    [user1@192 ~]$ chmod 755 test
    [user1@192 ~]$ ls -l
    -rwxr-xr-x. 1 user1 user1 0 12月 30 00:49 test
    
    如果修改檔案為其他擁護者的許可權時,只有root使用者可以。
  • 2.普通使用者不能修改檔案的所有者,哪怕自己是這個檔案的所有者也不行。
    [user1@localhost ~ ] $ chown user2 test
    chown:正在更改"test"的所有者:不允許的操作
    
    只有超級使用者才能修改檔案的所有者。

相關文章