文件所有權(quán)是UNIX的一個(gè)重要組成部分,提供了一個(gè)安全的方法,用于存儲(chǔ)文件。 UNIX中的每個(gè)文件具有以下屬性:
所有者權(quán)限: 所有者的權(quán)限,確定所采取的操作文件的擁有者可以執(zhí)行文件。
組權(quán)限: 該組的權(quán)限確定哪些操作用戶,誰(shuí)是一個(gè)文件所屬的組的成員,可以執(zhí)行該文件。
其它權(quán)限: 別人的權(quán)限表明什么樣的操作,所有其他用戶可以執(zhí)行該文件。
當(dāng)用ls-l命令顯示各種信息相關(guān)的文件權(quán)限如下:
$ls -l /home/amrood -rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfile drwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir
這里第一列代表不同的訪問(wèn)模式,即關(guān)聯(lián)的權(quán)限的文件或目錄。
權(quán)限被分成三組,每個(gè)組中的位置表示一個(gè)特定的權(quán)限,這個(gè)順序:讀(r),寫(xiě)(w),執(zhí)行(x):
前三個(gè)字符(2-4)表示文件所有者的權(quán)限。例如 -rwxr-xr-- 代表讀(r),寫(xiě)(w)和執(zhí)行(x)許可。
第二組的三個(gè)字符(5-7)由文件所屬組的權(quán)限。例如-rwxr-xr--代表該組讀(r)和執(zhí)行(x)權(quán)限,但沒(méi)有寫(xiě)權(quán)限。
最后一組的三個(gè)字符(8-10)表示其他的權(quán)限。例如rwxr-XR - 代表其他只允許讀(r)
一個(gè)文件的權(quán)限是一個(gè)Unix系統(tǒng)安全防御的第一線。 Unix權(quán)限的基本構(gòu)建塊的讀,寫(xiě)和執(zhí)行權(quán)限,??說(shuō)明如下:
即閱讀,查看該文件的內(nèi)容。
修改或刪除的文件的內(nèi)容。
作為一個(gè)程序執(zhí)行權(quán)限的用戶可以運(yùn)行一個(gè)文件。
目錄訪問(wèn)方式列出,像其他文件中相同的方式組織。有一些差異,需要提及:
到一個(gè)目錄中的訪問(wèn)意味著用戶可以讀取內(nèi)容。用戶可以看看目錄里面的文件名。
訪問(wèn)裝置,用戶可以添加或刪除的文件的目錄的內(nèi)容。
執(zhí)行目錄并沒(méi)有真正有很大的意義,認(rèn)為這是一個(gè)遍歷權(quán)限。
用戶必須擁有的bin目錄的執(zhí)行權(quán)限,以執(zhí)行l(wèi)s或cd命令。
要改變文件或目錄的權(quán)限,使用chmod(其他模式)命令。有兩種方法使用chmod:符號(hào)模式和絕對(duì)模式。
對(duì)于一個(gè)初學(xué)者,修改文件或目錄的權(quán)限最簡(jiǎn)單的方法是使用符號(hào)模式。具有象征性的權(quán)限,可以添加,刪除,或使用下表中的操作符,想要指定的權(quán)限集。
| Chmod 操作符 | 描述 |
|---|---|
| + | Adds the designated permission(s) to a file or directory. |
| - | Removes the designated permission(s) from a file or directory. |
| = | Sets the designated permission(s). |
下面是一個(gè)例子,使用testfile的。運(yùn)行l(wèi)s -1 在 testfile將顯示文件的權(quán)限如下:
$ls -l testfile -rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
然后每個(gè)例子chmod命令從前面的表上運(yùn)行,其次testfile將ls-l,可以看到權(quán)限更改:
$chmod o+wx testfile $ls -l testfile -rwxrwxrwx 1 amrood users 1024 Nov 2 00:10 testfile $chmod u-x testfile $ls -l testfile -rw-rwxrwx 1 amrood users 1024 Nov 2 00:10 testfile $chmod g=r-x testfile $ls -l testfile -rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile
這里是如何將這些命令放在一行:
$chmod o+wx,u-x,g=r-x testfile $ls -l testfile -rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile
使用chmod命令修改權(quán)限的第二種方法是使用一些指定每個(gè)組的文件的權(quán)限。
每個(gè)權(quán)限分配一個(gè)值,按照下表中所示,每一組的總的權(quán)限提供了許多用于該集合。
| Number | 八進(jìn)制權(quán)限表示 | Ref |
|---|---|---|
| 0 | No permission | --- |
| 1 | Execute permission | --x |
| 2 | Write permission | -w- |
| 3 | Execute and write permission: 1 (execute) + 2 (write) = 3 | -wx |
| 4 | Read permission | r-- |
| 5 | Read and execute permission: 4 (read) + 1 (execute) = 5 | r-x |
| 6 | Read and write permission: 4 (read) + 2 (write) = 6 | rw- |
| 7 | All permissions: 4 (read) + 2 (write) + 1 (execute) = 7 | rwx |
下面是一個(gè)例子,使用testfile。運(yùn)行l(wèi)s -1 在 testfile 將顯示文件的權(quán)限如下:
$ls -l testfile -rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
然后每個(gè)例子chmod命令從前面的表上運(yùn)行,其次testfile將ls-l ,所以 可以看到權(quán)限更改:
$ chmod 755 testfile $ls -l testfile -rwxr-xr-x 1 amrood users 1024 Nov 2 00:10 testfile $chmod 743 testfile $ls -l testfile -rwxr---wx 1 amrood users 1024 Nov 2 00:10 testfile $chmod 043 testfile $ls -l testfile ----r---wx 1 amrood users 1024 Nov 2 00:10 testfile
在Unix上創(chuàng)建一個(gè)帳戶,一個(gè)所有者分配給每個(gè)用戶的ID和組ID。上面提到的所有的權(quán)限也被分配基礎(chǔ)上的所有者和組。
兩個(gè)命令都可以改變文件的所有者和組:
chown: chown命令代表“更改所有者”,是用來(lái)改變文件所有者。
chgrp: chgrp命令代表“更改組”,是用來(lái)改變文件的組。
chown命令更改文件的所有權(quán)?;菊Z(yǔ)法如下:
$ chown user filelist
用戶的值可以是一個(gè)用戶在系統(tǒng)上的一個(gè)用戶在系統(tǒng)上的用戶ID(UID)的名稱(chēng)。
下面的例子:
$ chown amrood testfile
$
更改給定的文件的所有者用戶amrood。
注意:超級(jí)用戶root擁有不受限制的能力改變?nèi)魏挝募乃袡?quán),但普通用戶只能改變他們所擁有的文件的所有者。
chrgp命令組文件的所有權(quán)更改?;菊Z(yǔ)法如下:
$ chgrp group filelist
組的值可以是系統(tǒng)或組ID(GID)系統(tǒng)上的一組一組的名稱(chēng)。
下面的例子:
$ chgrp special testfile
$
組給定的文件更改特殊組。
通常,當(dāng)執(zhí)行一個(gè)命令,它會(huì)以完成其任務(wù),必須具有特殊權(quán)限的執(zhí)行。
作為一個(gè)例子,當(dāng)用passwd命令更改您的密碼,新密碼存儲(chǔ)在文件 /etc/shadow文件。
作為一個(gè)普通用戶,沒(méi)有讀或?qū)懺L問(wèn)此文件出于安全原因,但是當(dāng)改變你的密碼,需要寫(xiě)這個(gè)文件的??權(quán)限。這意味著passwd程序給額外的權(quán)限,這樣就可以寫(xiě)入文件/ etc / shadow中。
其他權(quán)限的程序通過(guò)設(shè)置用戶ID(SUID)和設(shè)置組ID(SGID)位被稱(chēng)為一種機(jī)制。
當(dāng)執(zhí)行一個(gè)程序,啟用了SUID位,繼承該程序的所有者的權(quán)限。啟動(dòng)程序的用戶的權(quán)限運(yùn)行程序沒(méi)有設(shè)置SUID位。
這才是真正為SGID。通常情況下,節(jié)目組權(quán)限執(zhí)行,而是您的組將被改變只是對(duì)這一計(jì)劃的程序的組所有者。
如果權(quán)限SUID和SGID位會(huì)出現(xiàn)字母“s”。位于所有者的權(quán)限位執(zhí)行權(quán)限通常會(huì)位于SUID位將被“S”。例如,命令
$ ls -l /usr/bin/passwd -r-sr-xr-x 1<