oracle删除本地文件权限,使用 UNIX 权限保护文件
使用 UNIX 權(quán)限保護(hù)文件
通過(guò) UNIX 文件權(quán)限和 ACL 可保證文件安全。帶 sticky 位的文件和可執(zhí)行文件要求特殊的安全措施。
用于查看和保證文件安全的命令
下表介紹了用于監(jiān)視以及保證文件和目錄安全的命令。
表?7-1 保證文件和目錄安全的命令
命令
說(shuō)明
手冊(cè)頁(yè)
ls
列出目錄中的文件及其有關(guān)信息。
chown
更改文件的所有權(quán)。
chgrp
更改文件的組所有權(quán)。
chmod
更改文件的權(quán)限??梢允褂梅?hào)模式(使用字母和符號(hào))或絕對(duì)模式(使用八進(jìn)制數(shù)字)更改文件的權(quán)限。
文件和目錄的所有權(quán)
傳統(tǒng)的 UNIX 文件權(quán)限可以為三類用戶指定所有權(quán):
用戶-文件或目錄的所有者,通常為創(chuàng)建該文件的用戶。文件的所有者可以決定誰(shuí)擁有讀取文件、寫入文件(對(duì)文件進(jìn)行更改)或執(zhí)行文件(如果該文件為命令)的權(quán)限。
組-一組用戶的成員。
其他用戶-所有其他不是文件所有者和組成員的用戶。
文件所有者通??梢灾付ɑ蛐薷奈募?quán)限。此外,root 帳戶可以更改文件的所有權(quán)。要覆蓋系統(tǒng)策略,請(qǐng)參見示例?7-2。
文件可以是七種類型之一。每種類型由一個(gè)符號(hào)顯示:-(減號(hào))
文本或程序
b
塊特殊文件
c
字符特殊文件
d
目錄
l
符號(hào)鏈接
s
套接字
D
門
P
命名管道 (FIFO)
UNIX 文件權(quán)限
下表列出并說(shuō)明了可以為文件或目錄的每類用戶授予的權(quán)限。
表?7-2 文件和目錄權(quán)限
符號(hào)
權(quán)限
對(duì)象
說(shuō)明
r
讀
文件
指定的用戶可以打開和讀取文件內(nèi)容。
目錄
指定的用戶可以列出目錄中的文件。
w
寫
文件
指定的用戶可以修改文件的內(nèi)容或刪除該文件。
目錄
指定的用戶可以在目錄中添加文件或鏈接。這些用戶也可以刪除目錄中的文件或鏈接。
x
執(zhí)行
文件
指定的用戶可以執(zhí)行文件(如果該文件為程序或 shell 腳本)。這些用戶也可以使用一個(gè) exec(2) 系統(tǒng)調(diào)用來(lái)運(yùn)行程序。
目錄
指定的用戶可以打開或執(zhí)行目錄中的文件。這些用戶也可以使該目錄以及該目錄下的目錄成為當(dāng)前目錄。
-
拒絕
文件和目錄
指定的用戶無(wú)法讀寫或執(zhí)行文件。
這些文件權(quán)限可應(yīng)用于常規(guī)文件,也可應(yīng)用于特殊文件(如設(shè)備、套接字和命名管道 (FIFO))。
對(duì)于符號(hào)鏈接,所應(yīng)用的權(quán)限為鏈接指向的文件權(quán)限。
通過(guò)對(duì)目錄設(shè)置受限文件權(quán)限,可以保護(hù)該目錄及其子目錄中的文件。但是請(qǐng)注意,超級(jí)用戶有權(quán)訪問(wèn)系統(tǒng)中的所有文件和目錄。
特殊文件權(quán)限(setuid、setgid 和 Sticky 位)
可執(zhí)行文件和公共目錄可以使用三種特殊類型的權(quán)限:setuid、setgid 和 sticky 位。設(shè)置這些權(quán)限之后,運(yùn)行可執(zhí)行文件的任何用戶都應(yīng)采用該可執(zhí)行文件所有者(或組)的 ID。
設(shè)置特殊權(quán)限時(shí)必須非常小心,因?yàn)樘厥鈾?quán)限會(huì)帶來(lái)安全風(fēng)險(xiǎn)。例如,通過(guò)執(zhí)行將用戶 ID (user ID, UID) 設(shè)置為 0(root 的 UID)的程序,用戶可以獲取超級(jí)用戶功能。此外,所有用戶可以為其擁有的文件設(shè)置特殊權(quán)限,這會(huì)帶來(lái)其他安全問(wèn)題。
應(yīng)對(duì)系統(tǒng)中未經(jīng)授權(quán)使用 setuid 權(quán)限和 setgid 權(quán)限獲取超級(jí)用戶功能的情況進(jìn)行監(jiān)視。可疑權(quán)限為用戶而不是 root 或 bin 授予管理程序的所有權(quán)。要搜索并列出所有使用此特殊權(quán)限的文件,請(qǐng)參見如何查找具有特殊文件權(quán)限的文件。
setuid 權(quán)限
對(duì)可執(zhí)行文件設(shè)置 setuid 權(quán)限時(shí),將對(duì)運(yùn)行該文件的進(jìn)程授予基于文件所有者的訪問(wèn)權(quán)限。該訪問(wèn)權(quán)限不是基于正在運(yùn)行可執(zhí)行文件的用戶。使用此特殊權(quán)限,用戶可以訪問(wèn)通常只有屬主才可訪問(wèn)的文件和目錄。
例如,passwd 命令的 setuid 權(quán)限使用戶可以更改口令。具有 setuid 權(quán)限的 passwd 命令類似如下:-r-sr-sr-x 3 root sys 28144 Jun 17 12:02 /usr/bin/passwd
此特殊權(quán)限會(huì)帶來(lái)安全風(fēng)險(xiǎn)。一些確定的用戶甚至可以在 setuid 進(jìn)程執(zhí)行完畢后,找到保持由該進(jìn)程授予他們的權(quán)限的方法。
注 -在程序中使用具有保留 UID (0–100) 的 setuid 權(quán)限可能無(wú)法正確設(shè)置有效的 UID。請(qǐng)使用 shell 腳本或避免將保留的 UID 用于 setuid
權(quán)限。
setgid 權(quán)限
setgid 權(quán)限與 setuid 權(quán)限類似。可將進(jìn)程的有效組 ID (group ID, GID) 更改為擁有該文件的組,并基于授予該組的權(quán)限對(duì)用戶授予訪問(wèn)權(quán)限。/usr/bin/mail 命令具有 setgid 權(quán)限:-r-x--s--x 1 root mail 67504 Jun 17 12:01 /usr/bin/mail
將 setgid 權(quán)限應(yīng)用于目錄時(shí),該目錄中已創(chuàng)建的文件將屬于該目錄所屬于的組。這些文件不屬于創(chuàng)建進(jìn)程所屬于的組。在目錄中擁有寫和執(zhí)行權(quán)限的任何用戶都可以在其中創(chuàng)建文件。但是,文件將屬于擁有該目錄的組,而不是用戶所屬于的組。
應(yīng)對(duì)系統(tǒng)中未經(jīng)授權(quán)使用 setgid 權(quán)限獲取超級(jí)用戶功能的情況進(jìn)行監(jiān)視??梢蓹?quán)限為非常規(guī)組而不是 root 或 bin 授予對(duì)此類程序的組訪問(wèn)權(quán)限。要搜索并列出所有使用此權(quán)限的文件,請(qǐng)參見如何查找具有特殊文件權(quán)限的文件。
Sticky 位
sticky 位是保護(hù)目錄中文件的權(quán)限位。如果對(duì)目錄設(shè)置了 sticky 位,則只有文件所有者、目錄所有者或特權(quán)用戶才可以刪除文件。root 用戶是特權(quán)用戶的一個(gè)示例。sticky 位禁止用戶從公共目錄(如 /tmp)中刪除其他用戶的文件:drwxrwxrwt 7 root sys 400 Sep 3 13:37 tmp
在 TMPFS 文件系統(tǒng)中設(shè)置公共目錄時(shí),務(wù)必手動(dòng)設(shè)置 sticky 位。有關(guān)說(shuō)明,請(qǐng)參見示例?7-5。
缺省 umask 值
創(chuàng)建文件或目錄時(shí),將使用一組缺省權(quán)限進(jìn)行創(chuàng)建。系統(tǒng)缺省值為空。文本文件具有 666 權(quán)限,該權(quán)限對(duì)所有用戶授予讀寫權(quán)限。目錄和可執(zhí)行文件具有 777 權(quán)限,該權(quán)限對(duì)所有用戶授予讀寫和執(zhí)行權(quán)限。通常,用戶會(huì)覆蓋其 shell 初始化文件(如 .bashrc 和 .kshrc.user)中的系統(tǒng)缺省值。管理員還可以設(shè)置 /etc/profile 文件中的缺省值。
由 umask 命令指定的值將從缺省值中減去。此進(jìn)程的作用是以 chmod 命令授予權(quán)限的相同方式拒絕這些權(quán)限。例如,chmod 022 命令對(duì)組和其他用戶授予寫權(quán)限。umask 022 命令拒絕組和其他用戶的寫權(quán)限。
下表顯示了一些典型 umask 值及其對(duì)可執(zhí)行文件的影響。
表?7-3 不同安全級(jí)別的 umask 設(shè)置
安全級(jí)別
umask 設(shè)置
禁用的權(quán)限
許可 (744)
022
w(組和其他用戶)
中等 (740)
027
w(組),rwx(其他用戶)
中等 (741)
026
w(組),rw(其他用戶)
嚴(yán)重 (700)
077
rwx(組和其他用戶)
有關(guān)設(shè)置 umask 值的更多信息,請(qǐng)參見 umask(1) 手冊(cè)頁(yè)。
文件權(quán)限模式
使用 chmod 命令,可以更改文件的權(quán)限。您必須是超級(jí)用戶或是文件或目錄的所有者,才能更改其權(quán)限。
可以使用 chmod 命令按照以下兩種模式之一設(shè)置權(quán)限:
絕對(duì)模式-使用數(shù)字表示文件權(quán)限。使用絕對(duì)模式更改權(quán)限時(shí),由八進(jìn)制模式數(shù)字表示每個(gè)三元字節(jié)權(quán)限。絕對(duì)模式是設(shè)置權(quán)限的最常用方法。
符號(hào)模式-使用字母和符號(hào)的組合來(lái)添加或刪除權(quán)限。
下表列出了在絕對(duì)模式下設(shè)置文件權(quán)限的八進(jìn)制值??砂错樞蛞匀齻€(gè)一組的形式,使用這些數(shù)字來(lái)設(shè)置所有者、組和其他用戶的權(quán)限。例如,值 644 為所有者設(shè)置讀寫權(quán)限,為組和其他用戶設(shè)置只讀權(quán)限。
表?7-4 在絕對(duì)模式下設(shè)置文件權(quán)限
八進(jìn)制值
設(shè)置文件權(quán)限
權(quán)限說(shuō)明
0
---
無(wú)權(quán)限
1
--x
僅執(zhí)行權(quán)限
2
-w-
只寫權(quán)限
3
-wx
寫和執(zhí)行權(quán)限
4
r--
只讀權(quán)限
5
r-x
讀和執(zhí)行權(quán)限
6
rw-
讀寫權(quán)限
7
rwx
讀寫和執(zhí)行權(quán)限
下表列出了用于在符號(hào)模式下設(shè)置文件權(quán)限的符號(hào)。符號(hào)可以指定要設(shè)置或更改其權(quán)限的用戶、要執(zhí)行的操作,以及要指定或更改的權(quán)限。
表?7-5 在符號(hào)模式下設(shè)置文件權(quán)限
符號(hào)
功能
說(shuō)明
u
who
用戶(所有者)
g
who
組
o
who
其他用戶
a
who
All(全部)
=
operator
賦值
+
operator
新增
-
operator
刪除
r
permissions
讀
w
permissions
寫
x
permissions
執(zhí)行
l
permissions
強(qiáng)制鎖定,setgid 位打開,組執(zhí)行位關(guān)閉
s
permissions
setuid 或 setgid 位打開
t
permissions
Sticky 位打開,對(duì)于其他用戶,執(zhí)行位打開
功能列中的名稱 who operator permissions 指定用于更改文件或目錄的權(quán)限的符號(hào)。who
指定要更改其權(quán)限的用戶。
operator
指定要執(zhí)行的操作。
permissions
指定要更改的權(quán)限。
可以在絕對(duì)模式或符號(hào)模式下設(shè)置文件的特殊權(quán)限。但是,必須使用符號(hào)模式設(shè)置或刪除目錄的 setuid 權(quán)限。在絕對(duì)模式下,通過(guò)在權(quán)限三元字節(jié)的左側(cè)添加新的八進(jìn)制值,可設(shè)置特殊權(quán)限。下表列出了用于對(duì)文件設(shè)置特殊權(quán)限的八進(jìn)制值。
表?7-6 在絕對(duì)模式下設(shè)置特殊文件權(quán)限
八進(jìn)制值
特殊文件權(quán)限
1
Sticky 位
2
setgid
4
setuid
總結(jié)
以上是生活随笔為你收集整理的oracle删除本地文件权限,使用 UNIX 权限保护文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 12 月上线,微软将升级网页版和 Win
- 下一篇: oracle计算最大与最小之间数,ora