鍍金池/ 教程/ Linux/ UNIX 文件權(quán)限/訪問模式
UNIX 文件權(quán)限/訪問模式
UNIX 系統(tǒng)性能
UNIX 管道和過濾器
UNIX 進(jìn)程管理
Shell 內(nèi)置數(shù)學(xué)函數(shù)
UNIX 環(huán)境
UNIX 文件管理
Unix
UNIX 網(wǎng)絡(luò)實(shí)用工具
UNIX 系統(tǒng)日志
UNIX 目錄管理
vi編輯器教程
Unix 基本工具(打印,電子郵件)
UNIX 用戶管理
UNIX 信號和陷阱
Unix 正則表達(dá)式SED
Unix 文件系統(tǒng)基礎(chǔ)
Unix是什么?
Unix 有用命令

UNIX 文件權(quán)限/訪問模式

文件所有權(quán)是UNIX的一個重要組成部分,提供了一個安全的方法,用于存儲文件。 UNIX中的每個文件具有以下屬性:

  • 所有者權(quán)限: 所有者的權(quán)限,確定所采取的操作文件的擁有者可以執(zhí)行文件。

  • 組權(quán)限: 該組的權(quán)限確定哪些操作用戶,誰是一個文件所屬的組的成員,可以執(zhí)行該文件。

  • 其它權(quán)限: 別人的權(quán)限表明什么樣的操作,所有其他用戶可以執(zhí)行該文件。

權(quán)限指示:

當(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

這里第一列代表不同的訪問模式,即關(guān)聯(lián)的權(quán)限的文件或目錄。

權(quán)限被分成三組,每個組中的位置表示一個特定的權(quán)限,這個順序:讀(r),寫(w),執(zhí)行(x):

  • 前三個字符(2-4)表示文件所有者的權(quán)限。例如 -rwxr-xr--  代表讀(r),寫(w)和執(zhí)行(x)許可。

  • 第二組的三個字符(5-7)由文件所屬組的權(quán)限。例如-rwxr-xr--代表該組讀(r)和執(zhí)行(x)權(quán)限,但沒有寫權(quán)限。 

  • 最后一組的三個字符(8-10)表示其他的權(quán)限。例如rwxr-XR - 代表其他只允許讀(r)

文件訪問模式:

一個文件的權(quán)限是一個Unix系統(tǒng)安全防御的第一線。 Unix權(quán)限的基本構(gòu)建塊的讀,寫和執(zhí)行權(quán)限,??說明如下:

1. Read:

即閱讀,查看該文件的內(nèi)容。

2. Write:

修改或刪除的文件的內(nèi)容。

3. Execute:

作為一個程序執(zhí)行權(quán)限的用戶可以運(yùn)行一個文件。

目錄訪問方式:

目錄訪問方式列出,像其他文件中相同的方式組織。有一些差異,需要提及:

1. Read:

到一個目錄中的訪問意味著用戶可以讀取內(nèi)容。用戶可以看看目錄里面的文件名。

2. Write:

訪問裝置,用戶可以添加或刪除的文件的目錄的內(nèi)容。

3. Execute:

執(zhí)行目錄并沒有真正有很大的意義,認(rèn)為這是一個遍歷權(quán)限。

用戶必須擁有的bin目錄的執(zhí)行權(quán)限,以執(zhí)行l(wèi)s或cd命令。

更改權(quán)限:

要改變文件或目錄的權(quán)限,使用chmod(其他模式)命令。有兩種方法使用chmod:符號模式和絕對模式。

使用chmod符號模式:

對于一個初學(xué)者,修改文件或目錄的權(quán)限最簡單的方法是使用符號模式。具有象征性的權(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).

下面是一個例子,使用testfile的。運(yùn)行l(wèi)s -1 在 testfile將顯示文件的權(quán)限如下:

$ls -l testfile
-rwxrwxr--  1 amrood   users 1024  Nov 2 00:10  testfile

然后每個例子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)限:

使用chmod命令修改權(quán)限的第二種方法是使用一些指定每個組的文件的權(quán)限。

每個權(quán)限分配一個值,按照下表中所示,每一組的總的權(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

下面是一個例子,使用testfile。運(yùn)行l(wèi)s -1 在 testfile 將顯示文件的權(quán)限如下:

$ls -l testfile
-rwxrwxr--  1 amrood   users 1024  Nov 2 00:10  testfile

然后每個例子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)建一個帳戶,一個所有者分配給每個用戶的ID和組ID。上面提到的所有的權(quán)限也被分配基礎(chǔ)上的所有者和組。

兩個命令都可以改變文件的所有者和組:

  1. chown: chown命令代表“更改所有者”,是用來改變文件所有者。

  2. chgrp: chgrp命令代表“更改組”,是用來改變文件的組。

所有權(quán)變更:

chown命令更改文件的所有權(quán)?;菊Z法如下:

$ chown user filelist

用戶的值可以是一個用戶在系統(tǒng)上的一個用戶在系統(tǒng)上的用戶ID(UID)的名稱。

下面的例子:

$ chown amrood testfile
$

更改給定的文件的所有者用戶amrood。

注意:超級用戶root擁有不受限制的能力改變?nèi)魏挝募乃袡?quán),但普通用戶只能改變他們所擁有的文件的所有者。

更改組所有權(quán):

chrgp命令組文件的所有權(quán)更改?;菊Z法如下:

$ chgrp group filelist

組的值可以是系統(tǒng)或組ID(GID)系統(tǒng)上的一組一組的名稱。

下面的例子:

$ chgrp special testfile
$

組給定的文件更改特殊組。

SUID和SGID文件權(quán)限:

通常,當(dāng)執(zhí)行一個命令,它會以完成其任務(wù),必須具有特殊權(quán)限的執(zhí)行。

作為一個例子,當(dāng)用passwd命令更改您的密碼,新密碼存儲在文件 /etc/shadow文件。

作為一個普通用戶,沒有讀或?qū)懺L問此文件出于安全原因,但是當(dāng)改變你的密碼,需要寫這個文件的??權(quán)限。這意味著passwd程序給額外的權(quán)限,這樣就可以寫入文件/ etc / shadow中。

其他權(quán)限的程序通過設(shè)置用戶ID(SUID)和設(shè)置組ID(SGID)位被稱為一種機(jī)制。

當(dāng)執(zhí)行一個程序,啟用了SUID位,繼承該程序的所有者的權(quán)限。啟動程序的用戶的權(quán)限運(yùn)行程序沒有設(shè)置SUID位。

這才是真正為SGID。通常情況下,節(jié)目組權(quán)限執(zhí)行,而是您的組將被改變只是對這一計劃的程序的組所有者。

如果權(quán)限SUID和SGID位會出現(xiàn)字母“s”。位于所有者的權(quán)限位執(zhí)行權(quán)限通常會位于SUID位將被“S”。例如,命令

$ ls -l /usr/bin/passwd
-r-sr-xr-x  1<
上一篇:vi編輯器教程下一篇:UNIX 環(huán)境