導航:首頁 > 操作系統 > linux文件的特殊許可權

linux文件的特殊許可權

發布時間:2023-09-21 10:31:33

『壹』 linux系統特殊許可權有什麼

文件的特殊許可權有三種:1、suid;2、sgid;3、sticky,其中,suid和sgid用於累加提升許可權,簡單來說就是如果原來的用戶可以訪問,反而切換到的用戶或者組不能訪問,這時候照樣是可以訪問的,下面介紹下這三種許可權。
SUID:
1、需要注意的是,只對二進制可執行程序有效,不能為普通文件;
2、發起者對程序文件必須擁有執行許可權;
3、啟動為進程之後,其進程的宿主為源程序文件的宿主;
4、SUID設置在目錄上毫無意義。
SGID:
可以應用在二進制文件和作用在文件夾下,當作用在二進制文件下時,作用和SUID相似,只不過SUID是把發起者臨時變為文件的所有者,而SGID是把進程的發起者變成源程序文件的屬組,默認情況下,用戶創建文件時,其屬組為此用戶所屬的主組,當SGID作用在目錄下時,則對此目錄有寫許可權的用戶在此目錄中創建的文件所屬的組為此目錄的屬組,通常用於創建一個協作目錄。
Sticky:
默認情況下用戶可以刪除具有寫許可權的目錄中的任何文件,無論該文件的許可權或擁有權,如果在目錄設置Sticky位,只有文件的所有者或root**可以刪除該文件,Sticky位是作用在文件夾的,設置在文件上毫無意義。

『貳』 linux 文件有哪些特殊許可權

文件的特殊許可權有三種:1、suid;2、sgid;3、sticky,其中,suid和sgid用於累加提升許可權,簡單來說就是如果原來的用戶可以訪問,反而切換到的用戶或者組不能訪問,這時候照樣是可以訪問的,下面介紹下這三種許可權。
SUID:
1、需要注意的是,只對二進制可執行程序有效,不能為普通文件;
2、發起者對程序文件必須擁有執行許可權;
3、啟動為進程之後,其進程的宿主為原程序文件的宿主;
4、SUID設置在目錄上毫無意義。
SGID:
可以應用在二進制文件和作用在文件夾下,當作用在二進制文件下時,作用和SUID相似,只不過SUID是把發起者臨時變為文件的所有者,而SGID是把進程的發起者變成源程序文件的屬組,默認情況下,用戶創建文件時,其屬組為此用戶所屬的主組,當SGID作用在目錄下時,則對此目錄有寫許可權的用戶在此目錄中創建的文件所屬的組為此目錄的屬組,通常用於創建一個協作目錄。
Sticky:
默認情況下用戶可以刪除具有寫許可權的目錄中的任何文件,無論該文件的許可權或擁有權,如果在目錄設置Sticky位,只有文件的所有者或root**可以刪除該文件,Sticky位是作用在文件夾的,設置在文件上毫無意義。

『叄』 Linux下的umask、特殊許可權與ACL許可權

在了解到Linux系統上的文件目錄許可權,有時候你會發現為什麼剛創建的文件是 -rw-r--r-- 這個許可權,目錄是 drwxr-xr-x 許可權,有些是 -rwsr-xr-x ,又有些是 drwsrws--T ?這些則與umask、特殊許可權有關。

什麼是umask?umask一般是用在你初始創建一個目錄或者文件的時候賦予他們的許可權。它與chmod的效果剛好相反,umask設置的是許可權「補碼」,而chmod設置的是文件許可權碼。一般在/etc/profile、
或用戶家目錄下的.bash_profile或.profile中設置umask值。

默認的umask是0022,0022四個數字代表是賦值初始化准備丟棄的許可權。(相對應文件來說,x許可權就算沒說明出來丟棄一樣必須默認丟棄)
第一個0代表suid 丟棄的許可權;
第二個0代表本文件/目錄擁有者什麼許可權都沒丟棄;
第三個2代表本文件/目錄的用戶組丟棄了w許可權;
第四個2代表本文件/目錄的文件/目錄的用戶組丟棄了w許可權。
一般我們會這樣表示:
umask +default permission(默認許可權) =777(目錄)/666(文件)

但存在特殊情況如果把umask設為135呢?

要了解特殊許可權需對安全上下文有一個概念:

前提:進程有屬主和屬組;文件有屬主和屬組
(1) 任何一個可執行程序文件能不能啟動為進程,取決發起者對程序文件是否擁有執行許可權
(2) 啟動為進程之後,其進程的屬主為發起者,進程的屬組為發起者所屬的組
(3) 進程訪問文件時的許可權,取決於進程的發起者
(a) 進程的發起者,同文件的屬主:則應用文件屬主許可權
(b) 進程的發起者,屬於文件屬組;則應用文件屬組許可權
(c) 應用文件「其它」許可權

1.SUID 許可權僅對二進製程序(binary program)有效;
2.執行者對於該程序需要具有x 的可執行許可權;
3.本許可權僅在執行該程序的過程中有效(run-time);
4.執行者將具有該程序擁有者(owner) 的許可權。
5.SUID設置在目錄上無意義
許可權設定:
chmod u+s FILE...
chmod u-s FILE...

s 標志在文件擁有者的x 項目為SUID,那s 在群組的x 時則稱為Set GID
[root@centos7 ~]# ls -l /usr/bin/locate
-rwx--s--x. 1 root slocate 40496 Jun 10 2014 /usr/bin/locate
與SUID 不同的是,SGID 可以針對文件或目錄來設定!如果是對文件來說, SGID 有如下的功能:
-1.SGID 對二進製程序有用;
-2.程序執行者對於該程序來說,需具備x 的許可權;
-3.執行者在執行的過程中將會獲得該程序群組的支持!
[root@centos7 ~]# ll /usr/bin/locate /var/lib/mlocate/mlocate.db
-rwx--s--x. 1 root slocate 40496 Jun 10 2014 /usr/bin/locate
-rw-r-----. 1 root slocate 2349055 Jun 15 03:44 /var/lib/mlocate/mlocate.db
與SUID 非常的類似,使用xiaoming 這個賬號去執行locate 時,那xiaoming將會取得slocate 群組的支持, 因此就能夠去讀取 mlocate.db 。

SGID 也能夠用在目錄上,這也是非常常見的一種用途
目錄設定了SGID 的許可權後,他將具有如下的功能:
-1. 用戶若對於此目錄具有r 與x 的許可權時,該用戶能夠進入此目錄;
-2.用戶在此目錄下的有效群組(effective group)將會變成該目錄的群組;
-3.用途:若用戶在此目錄下具有w 的許可權(可以新建文件),則使用者所建立的新文件,該新文件的群組與此目錄的群組相同。

這個 Sticky Bit, SBIT 目前只針對目錄有效,sticky 設置在文件上無意義。SBIT 對於目錄的作用是:
-1.當用戶對於此目錄具有w, x 許可權,亦即具有寫入的許可權時;
-2.當用戶在該目錄下建立文件或目錄時,僅有自己與root 才有權力刪除該文件

SUID/SGID/SBIT 許可權設定

-rwSrwSrwT 1 root root 0 Jun 16 02:53 test
設定許可權成為 -rws--x--x 的模樣:
[root@centos7 tmp]# chmod u=rwxs,go=x test; ls -l test
-rws--x--x 1 root root 0 Jun 16 02:53 test
承上,加上 SGID 與 SBIT 在上述的文件許可權中!
[root@centos7 tmp]# chmod g+s,o+t test; ls -l test
-rws--s--t 1 root root 0 Jun 16 02:53 test

1】ACL 是Access Control List 的縮寫,主要的目的是在提供傳統的owner,group,others 的read,write,execute 許可權之外的細部許可權設定。ACL 可以針對單一使用者,單一文件或目錄來進行
ACL 主要可以針以下來控制許可權呢:
1.使用者 (user):可以針對使用者來設定許可權;
2.群組 (group):針對群組為對象來設定其許可權;
3.默認屬性(mask):還可以針對在該目錄下在建立新文件/目錄時,規范新數據的默認許可權;
及1.ACL:Access Control List,實現靈活的許可權管理;2.CentOS7默認創建的xfs和ext4文件系統具有ACL功能;3.CentOS7之前版本,默認手工創建的ext4文件系統無ACL功能,需手動增加tune2fs –o acl/dev/sdb1
mount –o acl/dev/sdb1 /mnt/test
4.ACL生效順序:所有者,自定義用戶,自定義組,其他人
為多用戶或者組的文件和目錄賦予訪問許可權rwx
2】ACL 的設定技巧: getfacl, setfacl

-x :刪除後續的 acl 參數,不可與 -m 合用;
-b :移除『所有的』 ACL 設定參數;
-k :移除『預設的』 ACL 參數,
-R :遞歸設定 acl ,亦即包括次目錄都會被設定起來;
-d :設定『預設 acl 參數』的意思!只對目錄有效,在該目錄新建的數據會引用此默認值
例:[root@centos7 ~]# touch acl_test1
[root@centos7 ~]# ll acl_test1
-rw-r--r--. 1 root root 0 Jul 21 17:33 acl_test1
[root@centos7 ~]# setfacl -m u:xiaoming:rx acl_test1
[root@centos7 ~]# ll acl_test1
-rw-r-xr--+ 1 root root 0 Jul 21 17:33 acl_test1
[root@centos7 ~]# setfacl -m u::rwx acl_test1
[root@centos7 ~]# ll acl_test1
-rwxr-xr--+ 1 root root 0 Jul 21 17:33 acl_test1
設定值中的 u 後面無使用者列表,代表設定該文件擁有者
2.getfacl 指令用法余setfacl一樣
例:[root@centos7 ~]# getfacl acl_test1
file: acl_test1 <==說明檔名而已!
owner: root <==說明此文件的擁有者,亦即 ls -l 看到的第三使用者欄位
group: root <==此文件的所屬群組,亦即 ls -l 看到的第四群組欄位
user::rwx <==使用者列表欄是空的,代表文件擁有者的許可權
user:xiaoming:r-x <==針對xiaoming 的許可權設定為 rx ,與擁有者並不同!
group::r-- <==針對文件群組的許可權設定僅有 r
mask::r-x <==此文件預設的有效許可權 (mask)
other::r--

3】特定的單一群組的許可權設定:『g:群組名:許可權』

4】主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 參數。但是tar等常見的備份工具是不會保留目錄和文件的ACL信息
getfacl -R /tmp/dir1 > acl.txt
setfacl -R -b /tmp/dir1
清除dir目錄的ACL許可權
setfacl -R --set-file=acl.txt /tmp/dir1
setfacl --restore acl.txt
getfacl -R /tmp/dir1

『肆』 Linux文件目錄許可權

Linux中文件目錄的許可權分為三個群組, 擁有者 、 所在群組 、 其他組 ,每個群組可以單獨設置 讀 、 寫 、 執行 三種許可權。

一般用3位數字表示,如:777,644,640等

數字的意義就是讀寫執行三個數字相加得來

解析:

777:所有用戶都有讀、寫、執行許可權
644:只有擁有者有讀寫許可權;而屬組用戶和其他用戶只有讀許可權
640:只有擁有者有讀寫許可權;而屬組用戶只有讀,其他用戶無許可權

修改許可權命令

用符號操作許可權

閱讀全文

與linux文件的特殊許可權相關的資料

熱點內容
udp凈荷加密 瀏覽:923
qq哪個文件夾占的內存大 瀏覽:628
哪個app賣葯是真的 瀏覽:826
半圓形計演算法 瀏覽:394
手機建立文件夾用什麼軟體 瀏覽:730
oss壓縮上傳 瀏覽:980
藍色學校網站源碼 瀏覽:827
androidgridview表格 瀏覽:604
壓縮怎麼eq閃 瀏覽:740
流密碼演算法openssl 瀏覽:262
怎麼數黃豆個數python 瀏覽:799
混沌序列加密的結論 瀏覽:224
最新脫單app哪個好 瀏覽:638
如何用自己電腦做伺服器做網頁 瀏覽:140
伺服器安全配置要考什麼證書 瀏覽:633
ipadpro可以編程 瀏覽:541
外國的程序員和中國的程序員 瀏覽:153
抖音小店app如何聯系客服 瀏覽:977
linux打開多個終端 瀏覽:502
linux中的命令 瀏覽:582