導航:首頁 > 文件類型 > linux特殊文件有哪些許可權

linux特殊文件有哪些許可權

發布時間:2025-04-15 23:21:17

㈠ 許可權linux下讓文件具有可執行許可權的方法linux設置文件可執行

Linux系統文件的許可權是由文件的所有者、群組、其他用戶三種人擁有的許可權構成的,也就是說這三類人可以根據自己的許可權操作文件。而且為文件設置許可權也是決定了文件可以以何種方式進行操作(讀、寫或執行),文件有可執行許可權,就可以以程序或腳本的形式運行。
在Linux系統中,文件具有可執行許可權的方法有多種,其中最常用的方法就是使用chmod命令修改文件的許可權,將文件設置為可執行狀態來實現可執行文件的功能。具體操作如下:
1. 打開終端,輸入chmod命令行。你可以使用如下代碼
chmod u+x file_name
2. 其中u表示user,表示文件所有者,+x表示將文件設置為可執行狀態。如果沒有指定文件所有者,則默認為當前登錄用戶。
3. 另外,還可以使用chmod命令修改文件的許可權,如果要使所有用戶都擁有文件的可執行許可權,則可以使用如下代碼:
chmod a+x file_name
4. 該命令的含義是:將文件的許可權設置為所有者、群組和其他用戶均擁有讀、寫和可執行許可權。
最後,如果要查看文件許可權,可以執行如下命令:
ls -l
5. 命令結果將顯示文件的許可權、所有者、大小等信息,其中二進制八進制形式的數據就是表示文件的許可權。
以上就是Linux下使文件具有可執行許可權的方法,也是Linux系統中文件許可權的主要操作方法。因此,在使用Linux系統時,如果想要使文件具有可執行許可權,可以使用這些方法設置文件的許可權,以便能夠得到更好的使用效果。

㈡ Linux特殊許可權 SUID、SGID、Sticky

文件的特殊許可權有三種:1、suid;2、sgid;3、sticky,其中,suid和sgid用於累加提升許可權,簡單來說就是如果原來的用戶可以訪問,反而切換到的用戶或者組不能訪問,這時候照樣是可以訪問的,下面介紹下這三種許可權。

SUID:

1、需要注意的是,只對二進制可執行程序有效,不能為普通文件;

2、發起者對程序文件必須擁有執行許可權;

3、啟動為進程之後,其進程的宿主為原程序文件的宿主;

4、SUID設置在目錄上毫無意義。

SGID:

可以應用在二進制文件和作用在文件夾下,當作用在二進制文件下時,作用和SUID相似,只不過SUID是把發起者臨時變為文件的所有者,而SGID是把進程的發起者變成源程序文件的屬組,默認情況下,用戶創建文件時,其屬組為此用戶所屬的主組,當SGID作用在目錄下時,則對此目錄有寫許可權的用戶在此目錄中創建的文件所屬的組為此目錄的屬組,通常用於創建一個協作目錄。

Sticky:

默認情況下用戶可以刪除具有寫許可權的目錄中的任何文件,無論該文件的許可權或擁有權,如果在目錄設置Sticky位,只有文件的所有者或root**可以刪除該文件,Sticky位是作用在文件夾的,設置在文件上毫無意義。

㈢ 掌握Linux文件許可權,看這篇就夠了

許可權是操作系統管理資源訪問的重要機制,涉及到安全性的文件、文件夾、磁碟以及伺服器都需要進行許可權設置以確保安全性。Linux系統中的許可權基於UGO模型進行控制,即u代表用戶(User),g代表組(Group),o代表其他用戶(Other)。許可權分為讀(r)、寫(w)、執行(x)三類,可以通過數字表示:r=4、w=2、x=1。例如,許可權為755意味著文件主具有讀、寫、執行許可權,文件組具有讀、寫許可權,其他用戶具有執行許可權。

在Linux中,可以通過chown命令修改文件或目錄的所屬用戶和組。命令格式為:`chown 用戶 文件名/目錄名`。例如,將文件test.txt的所屬用戶從root更改為demo用戶,命令為`chown demo test.txt`。若要遞歸修改目錄下的所有文件所屬用戶,可以使用`-R`參數,如`chown -R demo /test/`。

chgrp命令用於改變文件或目錄的所屬組,命令格式為:`chgrp 用戶 文件/目錄名`。例如,將目錄/test/的所屬組更改為demo,命令為`chgrp demo /test/`。通常情況下,推薦使用chown命令同時修改用戶和組。

chmod命令允許以多種方式修改文件或目錄的許可權,包括直接使用字元形式或數字形式。字元形式的命令格式為:`chmod +模式 +文件`,其中模式由三個部分組成:u、g、o分別代表用戶、組和其他用戶,a可以代表所有用戶。+、-代表增加或刪除許可權,r、w、x代表讀、寫、執行。例如,命令`chmod u+rw test.txt`表示給文件所屬用戶添加讀寫許可權。

數字形式的chmod命令更直觀,每三位代表用戶、組和其他用戶的許可權,每位許可權由4、2、1表示。例如,命令`chmod 755 文件或文件夾名字`表示文件或目錄具有所有用戶讀、寫、執行的許可權。

Linux系統默認通過umask屬性確定新建文件和目錄的默認許可權。例如,root用戶的umask值通常為002,新建文件默認許可權為644,新建目錄默認許可權為777。若要自定義默認許可權,可以通過`umask`命令查看和修改當前umask值。例如,要將默認umask設置為035,命令為`umask 035`,此時新建文件默認許可權為642。

Linux系統中文件具有特殊許可權,包括suid(Set UID)、sgid(Set GID)和sticky位。suid允許普通用戶以root或其他用戶角色運行特定程序,sgid作用於目錄,使新建文件的所屬組繼承上級目錄的所屬組。sticky位可以保護文件不受目錄所有者以外的用戶刪除或修改。

在Linux系統中,可以使用lsattr命令查看文件屬性,使用chattr命令修改文件屬性。例如,使用`chattr +i 文件名`可以給文件添加不可修改(Immutable)屬性,即即使root用戶也無法修改或刪除文件,除非先移除該屬性。

以上內容涵蓋了Linux文件許可權的基本概念、修改方法以及特殊許可權的使用,希望對您理解Linux文件許可權提供幫助。

㈣ 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特殊文件有哪些許可權相關的資料

熱點內容
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525
upx專用脫殼工具 瀏覽:171
cad圖紙怎麼以電子文件傳送 瀏覽:13
電腦pdf文件無法重命名怎麼辦 瀏覽:382
戴爾工業編程筆記本哪個好 瀏覽:932
網格線數據圖表格如何換數據 瀏覽:37
5s升級到ios10會卡嗎 瀏覽:166
excel共享後文件鎖定 瀏覽:392
判斷給定路徑是一個文件 瀏覽:365
耳機注冊表文件丟失win10 瀏覽:762

友情鏈接