在 linux 系統(tǒng)中,權(quán)限管理是確保數(shù)據(jù)安全的重要機(jī)制。相較于個(gè)人計(jì)算機(jī),服務(wù)器上的數(shù)據(jù)往往更為重要和敏感,因此需要更加細(xì)致的權(quán)限設(shè)置和明確的用戶分級(jí)。linux 系統(tǒng)為每個(gè)文件和目錄都設(shè)置了詳細(xì)的屬性,以維護(hù)數(shù)據(jù)的安全性。例如,/etc/shadow 文件僅 root 用戶可以訪問,因?yàn)樗讼到y(tǒng)中所有用戶的密碼數(shù)據(jù),防止未經(jīng)授權(quán)的訪問和數(shù)據(jù)泄露。
在生物信息分析或個(gè)人云服務(wù)器使用中,權(quán)限設(shè)置可以根據(jù)具體需求進(jìn)行調(diào)整。對(duì)于課題組服務(wù)器,可能只需要區(qū)分不同課題組的權(quán)限;而對(duì)于個(gè)人使用,確保不會(huì)誤操作即可。本文將詳細(xì)介紹 Linux 的權(quán)限管理,幫助您更好地理解和應(yīng)用這些概念。
一、Linux 權(quán)限介紹
Linux 是一個(gè)多用戶操作系統(tǒng),每個(gè)文件和目錄都具有訪問許可權(quán)限,這些權(quán)限決定了用戶可以以何種方式訪問和操作文件或目錄。文件或目錄的訪問權(quán)限分為三種:可讀(r)、可寫(w)和可執(zhí)行(x)。
r 代表 read w 代表 write x 代表 execute
以文件為例,可讀權(quán)限表示只能讀取內(nèi)容,不能進(jìn)行任何更改;可執(zhí)行權(quán)限表示可以將文件作為程序運(yùn)行;可寫權(quán)限表示可以對(duì)文件進(jìn)行編輯和刪除。文件創(chuàng)建時(shí),文件所有者自動(dòng)擁有讀、寫和執(zhí)行權(quán)限,其中可寫權(quán)限是最為重要的,因?yàn)樗试S刪除文件。
使用 ls -l 命令可以查看文件或目錄的詳細(xì)信息:
$ ls -l total 40K lrwxrwxrwx. 1 root root 7 May 11 2019 bin -> usr/bin/ dr-xr-xr-x. 7 root root 4.0K Sep 5 2020 boot/ drwxr-xr-x. 21 root root 3.5K Aug 28 02:49 dev/ drwxr-xr-x. 187 root root 12K Aug 28 01:33 etc/ drwxr-xr-x. 4 root root 35 Nov 19 2020 home/ drwxr-xr-x. 13 root root 265 Aug 1 09:57 ifs1/ lrwxrwxrwx. 1 root root 7 May 11 2019 lib -> usr/lib/ drwxr-xr-x. 2 root root 6 May 11 2019 media/ drwxr-xr-x. 2 root root 6 May 11 2019 mnt/ drwxr-xr-x. 5 root root 48 Nov 19 2020 opt/ lrwxrwxrwx. 1 root root 8 May 11 2019 sbin -> usr/sbin/ drwxr-xr-x. 2 root root 6 May 11 2019 srv/ dr-xr-xr-x. 13 root root 0 Aug 28 01:32 sys/ drwxrwxrwt. 75 root root 16K Aug 28 23:24 tmp/
最左邊的列顯示文件的訪問權(quán)限,由 10 個(gè)字符組成。第一個(gè)字符表示文件類型(l 表示鏈接文件,d 表示目錄,- 表示普通文件),后面的三個(gè)字符一組分別表示文件所有者、同組用戶和其他用戶的權(quán)限。例如,-rwx 表示文件所有者可以讀寫執(zhí)行,r-x 表示同組用戶可以讀和執(zhí)行,而 — 表示其他用戶沒有權(quán)限。
二、rwx 與 421
Linux 文件或目錄的權(quán)限可以用 rwx 表示,也可以通過數(shù)字設(shè)定法來管理。數(shù)字設(shè)定法中,每個(gè)權(quán)限對(duì)應(yīng)一個(gè)數(shù)值:
0 表示沒有權(quán)限; 4 表示讀權(quán)限; 2 表示寫權(quán)限; 1 表示執(zhí)行權(quán)限。
這些數(shù)值可以相加來表示組合權(quán)限。例如,7(4+2+1)表示讀寫執(zhí)行權(quán)限,6(4+2)表示讀寫權(quán)限。數(shù)字屬性的格式為三個(gè)八進(jìn)制數(shù),分別代表用戶、組內(nèi)和其他用戶的權(quán)限。
u 表示“用戶(user)”,即文件或目錄的所有者。 g 表示“同組(group)用戶”,即與文件屬主有相同組 ID 的所有用戶。 o 表示“其他(others)用戶”。
常用的權(quán)限組合包括 755、700 和 644 等。
三、修改權(quán)限
在 Linux 中,如果遇到“Permission denied”錯(cuò)誤,說明沒有權(quán)限操作。可以使用 chmod 命令來修改文件或目錄的訪問權(quán)限。chmod 是 change mode 的縮寫,用于控制文件或目錄的訪問權(quán)限。注意,只有具有相應(yīng)權(quán)限的用戶才能修改權(quán)限。
chmod 命令有兩種用法:文字設(shè)定法和數(shù)字設(shè)定法。文字設(shè)定法的語(yǔ)法格式為:
chmod [who] [+ | - | =] [mode] 文件名
其中,who 表示操作對(duì)象,可以是:
- u:用戶(user)
- g:同組用戶(group)
- o:其他用戶(others)
- a:所有用戶(all)
操作符號(hào)可以是:
- +:添加某個(gè)權(quán)限
- -:取消某個(gè)權(quán)限
- =:賦予給定權(quán)限并取消其他所有權(quán)限
mode 表示權(quán)限,可以是:
- r:可讀
- w:可寫
- x:可執(zhí)行
常用的文件權(quán)限包括 700、755 和 644。
// 使用數(shù)字設(shè)定法修改權(quán)限 $ chmod 644 a1.index.sh
此外,還有 chown 和 chgrp 命令用于更改文件或目錄的所有者和所屬組:
chown: Change owner chgrp: Change group
通過這些命令,您可以靈活地管理 Linux 系統(tǒng)中的權(quán)限,確保數(shù)據(jù)的安全性和訪問的合規(guī)性。