上篇文章詳細介紹了透過檔案壓縮程式和歸檔程式,從而掌握在linux系統中如何歸檔和備份資料。那麼,今天,這篇文章還是回到linux的基礎知識體系中,今天主要圍繞linux系統中的許可權展開描述。
綜所周知,linux作業系統屬於多使用者、多工系統。通俗的來講,”多使用者、多工”的含義指的是多個使用者可以在同一時間使用同一臺計算機。Linux作業系統的多使用者特性,深深地嵌入到了Linux 作業系統的設計中。
• id –顯示使用者身份id
• chmod –更改檔案模式
• umask –設定預設檔案許可權
• su –以另一個使用者的身份來執行shell
• sudo –以另一個使用者的身份來執行命令
• chown –更改檔案所有者
• chgrp –更改檔案組所有權
• passwd –更改使用者密碼
id–顯示使用者身份id
在LINUX安全與許可權結構中,一個使用者可以擁有一個檔案或目錄的控制權限。與該使用者同一使用者組成員也可擁有這個檔案或目錄的控制權限,但前提是需要檔案和目錄的所有者授予相應的許可權。
那麼如何確定一個使用者的許可權呢?
用id 命令,來找到關於你自己身份的資訊:
[test@linuxprobe ~]$ id
uid=500(test) gid=500(test) groups=500(test)
在使用者建立帳戶之後,系統會自動給使用者分配一個使用者ID或者uid,這個ID 對應一個使用者名稱。同時,系統又會給這個使用者分配一個原始的組ID 或者是gidD。
在linux作業系統中,使用者帳戶資訊存放在/etc/passwd 檔案裡面,使用者組資訊存放在/etc/group 檔案裡面。值得注意的是, /etc/shadow檔案包含了使用者密碼的相關資訊。對於每個使用者帳號, /etc/passwd檔案包含了使用者(登入)名、uid、gid、帳號的真實姓名、家目錄和登入shell等。
讀取、寫入和執行
根據讀取、寫入和執行來定義檔案或目錄的訪問許可權。許可權屬性如下表:
屬性 檔案 目錄
r 允許開啟並讀取檔案內容。 允許列出目錄中的內容,但前提是目錄必須設定了可執行屬性(x)
x 允許將檔案作為程式來執行,使用指令碼語言編寫的程式必須設定為可讀才能被執行。 允許進入目錄,例如:cd directory 。
chmod -更改檔案模式
chmod 命令用於更改檔案或目錄的模式(許可權)。chmod 命令同時支援兩種不同的方法來改變檔案模式:八進位制數字表示法或符號表示法。
注意:
只有檔案的所有者或者超級使用者才能更改檔案或目錄的模式。
透過查閱chmod 命令的手冊,可以收穫更詳盡的資訊和chmod 命令的各個引數選項。
umask -設定預設許可權
umask 命令在建立一個檔案時,預設賦予了檔案控制的許可權。大家看下面的例子:
[test@linuxprobe ~]$ rm -f test.txt
[test@linuxprobe ~]$ umask
0002
[test@linuxprobe ~]$ > test.txt
[test@linuxprobe ~]$ ls -l test.txt
-rw-rw-r-- 1 test test 0 2021-07-16 22:53 test.txt
su -以其他使用者身份和組ID 執行一個shell
su 命令用來以另一個使用者的身份來啟動shell。
若使用選項“-l”,那麼會為指定使用者啟動一個需要登入的shell,並載入此使用者的shell 環境。若不指定使用者,那麼預設指定是是超級使用者。
特別注意的是:選項“-l” 可以縮寫為”-”。例如:啟動超級使用者的shell,我們可以這樣做:
[test@linuxprobe ~]$ su -
Password:
[root@ linuxprobe ~]#
sudo -以另一個使用者身份執行命令
sudo 命令與su 命令的用法非常相似!不過sudo 還有一些非常重要的特性或者功能:
a) 管理員透過配置sudo 命令,允許一個普通使用者以超級使用者的身份透過一種非常可控的方式來執行命令。
b) sudo 命令不要求超級使用者的密碼。使用sudo 命令時,使用者需使用自己的密碼來認證身份。
chown -更改檔案所有者和使用者組
chown 命令程式被用來更改檔案或目錄的所有者和使用者組。使用這個命令需要超級使用者許可權。
命令語法如下所示:
chown [owner][:[group]] file...
chown 可以根據第一個引數或者選項去更改檔案所有者或檔案使用者組。
chgrp --更改使用者組所有權
關於chgrp命令程式,在這兒就不多描述了。因為,除了限制性引數多一點之外,chgrp 命令與chown 命令使用起來基本沒有差別。
特別注意的是chown 命令程式只能變動檔案所有權,而不是使用者組所有權。
passwd--更改使用者密碼
passwd 命令用於設定或更改使用者密碼。不過它會強迫你使用“強”密碼。命令語法如下所示:
passwd [user]
在命令列中輸入passwd 命令,就能更改你的密碼。shell 會提示您輸入您的舊密碼和您的新密碼:
[test@linuxprobe ~]$ passwd
(current) UNIX password:
New UNIX password: