成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面介紹Linux權(quán)限

系統(tǒng) Linux
本文將介紹標(biāo)準(zhǔn) Linux 文件系統(tǒng)權(quán)限,并進(jìn)一步研究特殊權(quán)限,以及使用 umask 來解釋默認(rèn)權(quán)限作為文章的結(jié)束。

[[281778]]

知道如何控制用戶對文件的訪問是一項基本的系統(tǒng)管理技能。

了解 Linux 權(quán)限以及如何控制哪些用戶可以訪問文件是系統(tǒng)管理的一項基本技能。

本文將介紹標(biāo)準(zhǔn) Linux 文件系統(tǒng)權(quán)限,并進(jìn)一步研究特殊權(quán)限,以及使用 umask 來解釋默認(rèn)權(quán)限作為文章的結(jié)束。

理解 ls 命令的輸出

在討論如何修改權(quán)限之前,我們需要知道如何查看權(quán)限。通過 ls 命令的長列表參數(shù)(-l)為我們提供了有關(guān)文件的許多信息。

  1. $ ls -lAh
  2. total 20K
  3. -rwxr-xr--+ 1 root root    0 Mar  4 19:39 file1
  4. -rw-rw-rw-. 1 root root    0 Mar  4 19:39 file10
  5. -rwxrwxr--+ 1 root root    0 Mar  4 19:39 file2
  6. -rw-rw-rw-. 1 root root    0 Mar  4 19:39 file8
  7. -rw-rw-rw-. 1 root root    0 Mar  4 19:39 file9
  8. drwxrwxrwx. 2 root root 4.0K Mar  4 20:04 testdir

為了理解這些是什么意思,讓我們將關(guān)于權(quán)限的輸出分解為各個部分。單獨理解每個部分會更容易。

讓我們看看在上面的輸出中的最后一行的每個組件:

  1. drwxrwxrwx. 2 root root 4.0K Mar  4 20:04 testdir
第 1 節(jié) 第 2 節(jié) 第 3 節(jié) 第 4 節(jié) 第 5 節(jié) 第 6 節(jié) 第 7 節(jié)
d rwx rwx rwx . root root

第 1 節(jié)(左側(cè))顯示文件的類型。

符號 類型
d 目錄
- 常規(guī)文件
l 軟鏈接

lsinfo 頁面完整列出了不同的文件類型。

每個文件都有三種訪問方式:

  • 屬主
  • 所有其他人    第 2、3 和 4 節(jié)涉及用戶(屬主)、組和“其他用戶”權(quán)限。每個部分都可以包含 r(讀取)、w(寫入)和 x(執(zhí)行)權(quán)限的組合。

每個權(quán)限還分配了一個數(shù)值,這在以八進(jìn)制表示形式討論權(quán)限時很重要。

權(quán)限 八進(jìn)制值
r 4
w 2
x 1

第 5 節(jié)描述了其他替代訪問方法,例如 SELinux 或文件訪問控制列表(FACL)。

訪問方法 字符
沒有其它訪問方法 -
SELinux .
FACL +
各種方法的組合 +

第 6 節(jié)和第 7 節(jié)分別是屬主和組的名稱。

使用 chown 和 chmod

chown 命令

chown(更改所有權(quán))命令用于更改文件的用戶和組的所有權(quán)。

要將文件 foo 的用戶和組的所有權(quán)更改為 root,我們可以使用以下命令:

  1. $ chown root:root foo
  2. $ chown root: foo

在用戶名后跟冒號(:)運行該命令將同時設(shè)置用戶和組所有權(quán)。

要僅將文件 foo 的用戶所有權(quán)設(shè)置為 root 用戶,請輸入:

  1. $ chown root foo

要僅更改文件 foo 的組所有權(quán),請在組之前加冒號:

  1. $ chown :root foo

chmod 命令

chmod(更改模式)命令控制屬主、組以及既不是屬主也不屬于與文件關(guān)聯(lián)的組的所有其他用戶的文件許可權(quán)。

chmod 命令可以以八進(jìn)制(例如 755644 等)和符號(例如 u+rwxg-rwxo=rw)格式設(shè)置權(quán)限。

八進(jìn)制表示法將 4 個“點”分配給“讀取”,將 2 個“點”分配給“寫入”,將 1 個點分配給“執(zhí)行”。如果要給用戶(屬主)分配“讀取”權(quán)限,則將 4 分配給第一個插槽,但是如果要添加“寫入”權(quán)限,則必須添加 2。如果要添加“執(zhí)行”,則要添加 1。我們對每種權(quán)限類型執(zhí)行此操作:屬主、組和其他。

例如,如果我們想將“讀取”、“寫入”和“執(zhí)行”分配給文件的屬主,但僅將“讀取”和“執(zhí)行”分配給組成員和所有其他用戶,則我們應(yīng)使用 755(八進(jìn)制格式)。這是屬主的所有權(quán)限位(4+2+1),但組和其他權(quán)限的所有權(quán)限位只有 414+1)。

細(xì)分為:4+2+1=7,4+1=5 和 4+1=5。

如果我們想將“讀取”和“寫入”分配給文件的屬主,而只將“讀取”分配給組的成員和所有其他用戶,則可以如下使用 chmod

  1. $ chmod 644 foo_file

在下面的示例中,我們在不同的分組中使用符號表示法。注意字母 ugo 分別代表“用戶”(屬主)、“組”和“其他”。我們將 ugo+-= 結(jié)合使用來添加、刪除或設(shè)置權(quán)限位。

要將“執(zhí)行”位添加到所有權(quán)權(quán)限集中:

  1. $ chmod u+x foo_file

要從組成員中刪除“讀取”、“寫入”和“執(zhí)行”:

  1. $ chmod g-rwx foo_file

要將所有其他用戶的所有權(quán)設(shè)置為“讀取”和“寫入”:

  1. $ chmod o=rw

特殊位:設(shè)置 UID、設(shè)置 GID 和粘滯位

除了標(biāo)準(zhǔn)權(quán)限外,還有一些特殊的權(quán)限位,它們具有一些別的用處。

設(shè)置用戶 ID(suid)

當(dāng)在文件上設(shè)置 suid 時,將以文件的屬主的身份而不是運行該文件的用戶身份執(zhí)行操作。一個好的例子passwd 命令。它需要設(shè)置 suid 位,以便更改密碼的操作具有 root 權(quán)限。

  1. $ ls -l /bin/passwd
  2. -rwsr-xr-x. 1 root root 27832 Jun 10  2014 /bin/passwd

設(shè)置 suid 位的示例:

  1. $ chmod u+s /bin/foo_file_name

設(shè)置組 ID(sgid)

sgid 位與 suid 位類似,操作是在目錄的組所有權(quán)下完成的,而不是以運行命令的用戶身份。

一個使用 sgid 的例子是,如果多個用戶正在同一個目錄中工作,并且目錄中創(chuàng)建的每個文件都需要具有相同的組權(quán)限。下面的示例創(chuàng)建一個名為 collab_dir 的目錄,設(shè)置 sgid 位,并將組所有權(quán)更改為 webdev

  1. $ mkdir collab_dir
  2. $ chmod g+s collab_dir
  3. $ chown :webdev collab_dir

現(xiàn)在,在該目錄中創(chuàng)建的任何文件都將具有 webdev 的組所有權(quán),而不是創(chuàng)建該文件的用戶的組。

  1. $ cd collab_dir
  2. $ touch file-sgid
  3. $ ls -lah file-sgid
  4. -rw-r--r--. 1 root webdev 0 Jun 12 06:04 file-sgid

“粘滯”位

粘滯位表示,只有文件所有者才能刪除該文件,即使組權(quán)限允許該文件可以刪除。通常,在 /tmp 這樣的通用或協(xié)作目錄上,此設(shè)置最有意義。在下面的示例中,“所有其他人”權(quán)限集的“執(zhí)行”列中的 t 表示已應(yīng)用粘滯位。

  1. $ ls -ld /tmp
  2. drwxrwxrwt. 8 root root 4096 Jun 12 06:07 /tmp/

請記住,這不會阻止某個人編輯該文件,它只是阻止他們刪除該目錄的內(nèi)容(LCTT 譯注:即刪除目錄下文件)。

我們將粘滯位設(shè)置為:

  1. $ chmod o+t foo_dir

你可以自己嘗試在目錄上設(shè)置粘滯位并賦予其完整的組權(quán)限,以便多個屬于同一組的用戶可以在目錄上進(jìn)行讀取、寫入和執(zhí)行。

接著,以每個用戶的身份創(chuàng)建文件,然后嘗試以另一個用戶的身份刪除它們。

如果一切配置正確,則一個用戶應(yīng)該不能從另一用戶那里刪除文件。

請注意,這些位中的每個位也可以用八進(jìn)制格式設(shè)置:SUID = 4、SGID = 2 和 粘滯位 = 1。(LCTT 譯注:這里是四位八進(jìn)制數(shù)字)

  1. $ chmod 4744
  2. $ chmod 2644
  3. $ chmod 1755

大寫還是小寫?

如果要設(shè)置特殊位時看到大寫的 ST 而不是小寫的字符(如我們之前所見),那是因為不存在(對應(yīng)的)底層的執(zhí)行位。為了說明這一點,下面的示例創(chuàng)建一個設(shè)置了粘滯位的文件。然后,我們可以添加和刪除執(zhí)行位以演示大小寫更改。

  1. $ touch file cap-ST-demo
  2. $ chmod 1755 cap-ST-demo
  3. $ ls -l cap-ST-demo
  4. -rwxr-xr-t. 1 root root 0 Jun 12 06:16 cap-ST-demo
  5.  
  6. $ chmod o-x cap-X-demo
  7. $ ls -l cap-X-demo
  8. -rwxr-xr-T. 1 root root 0 Jun 12 06:16 cap-ST-demo

有條件地設(shè)置執(zhí)行位

至此,我們使用小寫的 x 設(shè)置了執(zhí)行位,而無需詢問任何問題即可對其進(jìn)行設(shè)置。我們還有另一種選擇:使用大寫的 X 而不是小寫的,它將僅在權(quán)限組中某個位置已經(jīng)有執(zhí)行位時才設(shè)置執(zhí)行位。這可能是一個很難解釋的概念,但是下面的演示將幫助說明它。請注意,在嘗試將執(zhí)行位添加到組特權(quán)之后,該位沒有被設(shè)置上。

  1. $ touch cap-X-file
  2. $ ls -l cap-X-file
  3. -rw-r--r--. 1 root root 0 Jun 12 06:31 cap-X-file
  4. $ chmod g+X cap-X-file
  5. $ ls -l cap-X-file
  6. -rw-r--r--. 1 root root 0 Jun 12 06:31 cap-X-file

在這個類似的例子中,我們首先使用小寫的 x 將執(zhí)行位添加到組權(quán)限,然后使用大寫的 X 為所有其他用戶添加權(quán)限。這次,大寫的 X設(shè)置了該權(quán)限。

  1. $ touch cap-X-file
  2. $ ls -l cap-X-file
  3. -rw-r--r--. 1 root root 0 Jun 12 06:31 cap-X-file
  4. $ chmod g+x cap-X-file
  5. $ ls -l cap-X-file
  6. -rw-r-xr--. 1 root root 0 Jun 12 06:31 cap-X-file
  7. $ chmod o+X cap-X-file
  8. ls -l cap-X-file
  9. -rw-r-xr-x. 1 root root 0 Jun 12 06:31 cap-X-file

理解 umask

umask 會屏蔽(或“阻止”)默認(rèn)權(quán)限集中的位,以定義文件或目錄的權(quán)限。例如,umask輸出中的 2 表示它至少在默認(rèn)情況下阻止了文件的“寫入”位。

使用不帶任何參數(shù)的 umask 命令可以使我們看到當(dāng)前的 umask 設(shè)置。共有四列:第一列為特殊的suidsgid 或粘滯位而保留,其余三列代表屬主、組和其他人的權(quán)限。

  1. $ umask
  2. 0022

為了理解這意味著什么,我們可以用 -S 標(biāo)志來執(zhí)行 umask(如下所示)以解釋屏蔽位的結(jié)果。例如,由于第三列中的值為 2,因此將“寫入”位從組和其他部分中屏蔽掉了;只能為它們分配“讀取”和“執(zhí)行”。

  1. $ umask -S
  2. u=rwx,g=rx,o=rx

要查看文件和目錄的默認(rèn)權(quán)限集是什么,讓我們將 umask 設(shè)置為全零。這意味著我們在創(chuàng)建文件時不會掩蓋任何位。

  1. $ umask 000
  2. $ umask -S
  3. u=rwx,g=rwx,o=rwx
  4.  
  5. $ touch file-umask-000
  6. $ ls -l file-umask-000
  7. -rw-rw-rw-. 1 root root 0 Jul 17 22:03 file-umask-000

現(xiàn)在,當(dāng)我們創(chuàng)建文件時,我們看到所有部分的默認(rèn)權(quán)限分別為“讀取”(4)和“寫入”(2),相當(dāng)于八進(jìn)制表示 666

我們可以對目錄執(zhí)行相同的操作,并看到其默認(rèn)權(quán)限為 777。我們需要在目錄上使用“執(zhí)行”位,以便可以遍歷它們。

  1. $ mkdir dir-umask-000
  2. $ ls -ld dir-umask-000
  3. drwxrwxrwx. 2 root root 4096 Jul 17 22:03 dir-umask-000/

總結(jié)

管理員還有許多其他方法可以控制對系統(tǒng)文件的訪問。這些權(quán)限是 Linux 的基本權(quán)限,我們可以在這些基礎(chǔ)上進(jìn)行構(gòu)建。如果你的工作為你引入了 FACL 或 SELinux,你會發(fā)現(xiàn)它們也建立在這些文件訪問的首要規(guī)則之上。 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2009-12-24 10:43:03

Linux配置ntop

2010-03-10 13:08:38

Linux安裝電驢

2010-03-10 16:59:59

Linux數(shù)字文件權(quán)限

2010-03-05 16:19:47

2010-03-05 16:44:52

Linux終端命令

2009-12-17 14:34:24

Linux系統(tǒng)內(nèi)核

2010-03-10 13:34:03

Linux重要安全命令

2010-03-10 13:19:21

Linux重要安全命令

2009-12-11 16:53:52

Linux操作系統(tǒng)

2009-12-16 13:42:56

Mandriva Li

2016-08-24 10:11:00

Linux文件權(quán)限

2010-03-09 13:10:08

Linux特殊用戶權(quán)限

2010-03-10 16:16:53

Linux ssh無密

2010-03-10 16:47:53

2010-03-17 15:45:37

linux 常用命令

2009-09-16 10:38:43

LINQ查詢

2009-09-28 13:49:44

Hibernate Q

2009-09-23 17:41:05

Hibernate事務(wù)

2009-09-25 09:46:03

Hibernate s

2009-09-28 10:24:58

Hibernate基礎(chǔ)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国内自拍视频在线观看 | www.精品国产 | 青青久在线视频 | 亚洲高清电影 | 成人精品在线视频 | 9191在线播放| 91精品久久久久久久久中文字幕 | 成人免费视频观看 | 欧美日韩专区 | 91精品国产91久久久久游泳池 | 国产精品久久久久aaaa九色 | 久久国产婷婷国产香蕉 | 欧美成人精品二区三区99精品 | 999久久 | 老司机深夜福利网站 | 91在线视频播放 | 国产一区二区久久 | 久久免费视频1 | 日韩在线小视频 | 99国内精品久久久久久久 | 久久亚洲一区 | 午夜日韩 | 欧美中文一区 | 国产精品视频偷伦精品视频 | 免费看的av | 免费在线看黄视频 | 日本天天操 | 成人在线视频看看 | 伊人最新网址 | 亚洲黄色一级毛片 | 日韩精品一区二区三区视频播放 | 欧美 日韩 综合 | 夜久久| 色综合天天天天做夜夜夜夜做 | 成人免费一级 | 国产一区二区 | 毛片免费观看视频 | 国产小视频在线 | 国产在线一区二区三区 | 日本精品免费在线观看 | 国产真实乱对白精彩久久小说 |