RHEL6基礎四十九之RHEL檔案(夾)許可權高階篇

2021-09-22 00:06:26 字數 3760 閱讀 5661

acl許可權管理

acl(access control list,訪問控制列表)主要是提供傳統的owner,group,others的read,write,execute許可權之外的具體許可權設定,acl可以針對單一使用者、單一檔案或目錄來進行r,w,x的許可權控制,對於需要特殊許可權的使用狀況有一定幫助。

例①:目錄 /home/acl 的許可權為:drwxr-x---,所有者與所屬組均為 root,在不改變所有者的前提下,只要求other組的使用者justin 對該目錄有完全訪問許可權 (rwx)(justin不屬於 root group)

(1) 對於/home/acl目錄來說justin使用者屬於other組,如果給 /home/acl的 other 組增加 rwx 許可權,這樣所有other組成員都擁有了rwx許可權。

(2) 如果將 justin 加入到 root 組,為 root 組分配 rwx 許可權,顯然和題意不符。

為了解決這個問題需要使用acl的功能

,acl 可以設定特定使用者或者使用者組對於乙個檔案的操作許可權

acl許可權管理

setfacl:設定某個檔案/目錄的acl設定專案

getfacl:取得某個檔案/目錄的acl設定專案

說明:acl 有兩種,一種是訪問 acl (access acls),針對檔案和目錄設定訪問控制列表。一種是預設acl(default acls),只能針對目錄

設定。如果目錄中的檔案沒有設

置acl,它就會使用該目錄的預設 acl. 引數

功能引數

功能-m

修改檔案(夾)當前的acl設定

-x刪除檔案(夾)的acl設定

-m讀取檔案(夾)修改的acl設定

-x讀取刪除的檔案(夾)acl設定

-b刪除所有的acl設定

-r遞迴設定acl

-k刪除預設的acl設定

-d設定預設的acl

注意:除了對使用者、組進行設定外還可以對有效許可權(mask)進行設定,

使用者或組所設定的許可權必須要存在於mask的許可權設定範圍內才會生效

上面的例①可以如下操作:

setuid setgid 粘滯位(sticky位)

許可權功能

setuid

使使用者具有檔案所有者的許可權.

。setuid

只會出現在二進位制檔案中,目錄中存在將沒有意義。當其它使用者使用帶用setuid標識的命令時,自己對此命令也必需有x(執行)的許可權

setgid

設定使用者具有該目錄所屬組的許可權。

該許可權只對目錄有效. 目錄被設定該位後, 任何使用者在此目錄下建立的檔案都具有和該目錄所屬的組相同的組.

粘滯位粘滯位主要是為公共目錄(例如許可權為777的)設定,作用是使用者不能刪除該目錄中其他使用者的檔案(root使用者除外)。

sticky只對檔案有效

檔案(夾)的許可權實際上是由4位8進製數字表示,這4位數字由setuid+setgid+粘滯位、屬主、屬組、其他使用者組成,

setuid、setgid、粘滯位(sticky位)分別用數字4、2、1表示,

設定後, 可以用 ls -l 來檢視. 如果本來在該位上有x, 則這些特殊標誌顯示為小寫字母 (s, s, t). 否則, 顯示為大寫字母 (s, s, t),賦予setuid許可權chmod命令:chmod 4*** file(s)或chmod u+s file(s),撤銷setuid許可權:chmod *** file(s)或chmod u-s file(s)

例:1、以setuid為例:

2、在/home/sticky目錄中任何使用者都可以建立檔案或目錄,但只有使用者自身和root使用者可以刪除使用者所建立的檔案或目錄。

chattr與lsattr命令

這兩個命令是用來檢視和改變檔案、目錄屬性的,與chmod這個命令相比,這兩個命令是用來檢視和改變檔案、目錄屬性的,與chmod這個命令相比,chmod只是改變檔案的讀寫、執行許可權,更底層的屬性控制是由chattr來改變的。

chattr命令的用法:chattr [ -rvf ] [ -v version ] [ mode ] files…

+ :在原有引數設定基礎上,追加引數。+ :在原有引數設定基礎上,追加引數。

- :在原有引數設定基礎上,移除引數。

= :更新為指定引數設定。

a:檔案或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁碟i/o錯誤的發生。

s:硬碟i/o同步選項,功能類似sync。

c:即compresse,設定檔案是否經壓縮後再儲存。讀取時需要經過自動解壓操作。

d:即no dump,設定檔案不能成為dump程式的備份目標。

i:設定檔案不能被刪除、改名、設定鏈結關係,同時不能寫入或新增內容。i引數對於檔案 系統的安全設定有很大幫助。

j:即journal,設定此引數使得當通過mount引數:data=ordered 或者 data=writeback 掛 載的檔案系統,檔案在寫入時會先被記錄(在journal中)。如果filesystem被設定引數為 data=journal,則該引數自動失效。

s:保密性地刪除檔案或目錄,即硬碟空間被全部收回。

u:與s相反,當設定為u時,資料內容其實還存在磁碟中,可以用於undeletion。

各引數選項中常用到的是a和i。a選項強制只可新增不可刪除,多用於日誌系統的安全設定。而i是更為嚴格的安全設定,只有superuser (root) 或具有cap_linux_immutable處理能力(標識)的程序能夠施加該選項。

用chattr命令防止系統中某個關鍵檔案被修改

讓某個檔案只能往裡面追加資料,但不能刪除,適用於各種日誌檔案

1[root@justin ~]# chattr +a /var/log/messages

RHEL6 軟體倉庫

建立乙個本地的軟體倉庫 1 mkdir media cdrom 2 把rhel6光碟裝載到 media cdrom mount dev cdrom media cdrom iso載入命令,系統重啟後需要重新裝載光碟或iso檔案 mount o loop root x.iso media cdrom ...

RHEL6基礎二十四之RHEL軟體包管理 原始碼安裝

一 概述 對於rpm格式封裝的應用程式 當作者在編譯源 程式的時候,有可能繫結了許多功能,安裝時被繫結的其它功能也一併安裝到linux主機上,這樣就可能造成一些安全隱患。因為rpm軟體包的更新並沒有源 通過對程式源 進行重新配置並編譯安裝後,可以定製更靈活 更豐富的功能 當需要對現有的程式源 進行適...

RHEL6基礎二十四之RHEL軟體包管理 原始碼安裝

一 概述 對於rpm格式封裝的應用程式 當作者在編譯源 程式的時候,有可能繫結了許多功能,安裝時被繫結的其它功能也一併安裝到linux主機上,這樣就可能造成一些安全隱患。因為rpm軟體包的更新並沒有源 通過對程式源 進行重新配置並編譯安裝後,可以定製更靈活 更豐富的功能 當需要對現有的程式源 進行適...