linux文件許可權和群組

来源:https://www.cnblogs.com/guantao/archive/2020/06/04/13034669.html
-Advertisement-
Play Games

1. linux文件許可權和幾種表示方法 文件長度大約最大為255bytes或128個漢字字元 linux文件許可權有幾種表示方法: 使用ls -al 即可查詢到目錄的許可權內容: 2.文件許可權說明: 格式為: drwxr-xr-x o 第一組為『文件擁有者可具備的許可權』,以『initial-setup- ...


1. linux文件許可權和幾種表示方法

文件長度大約最大為255bytes或128個漢字字元

linux文件許可權有幾種表示方法:

使用ls -al 即可查詢到目錄的許可權內容:

2.文件許可權說明:

格式為: drwxr-xr-x 

o 第一組為『文件擁有者可具備的許可權』,以『initial-setup-ks.cfg』那個文件為例, 該文件的擁有者 可以讀寫,但不可執行; o 第二組為『加入此群組之賬號的許可權』; o 第三組為『非本人且沒有加入本群組之其他賬號的許可權』。   當為[ d ]則是目錄 o 當為[ - ]則是文件 o 若是[ l ]則表示為連結檔(link file); o 若是[ b ]則表示為裝置文件裡面的可供儲存的介面設備(可隨機存取裝置); o 若是[ c ]則表示為裝置文件裡面的串列埠設備,例如鍵盤、滑鼠(一次性讀取裝置)。 o 若是[ P]則表示為數據輸送文件(FIFO) o 若是[ s]則表示為socket文件

文件許可權分為:

普通許可權:

read(r): 擁有目錄和文件的許可權:

write:(w): 擁有在目錄下建立和刪除文件的許可權或者修改文件的許可權

excute(x): 擁有執行文件的許可權和進入此目錄的許可權

 

特殊許可權:SUID:SGID:SBIT

如drwxrwsrwt

3.修改文件,目錄許可權和群組

  1. chgrp: 改變文件或目錄所屬群組
  2. chown:改變文件擁有者
  3. chmod:改變文件許可權

例子:

改變文件所屬群組
chgrp guan 1.txt
改變文件擁有者:
chown root 1.txt
同時改變目錄和目錄下文件要加上-R
chwon -R test 快捷改變方式:
chown alex:guan 1.txt

 

 

修改文件許可權有幾種方式:

1:根據4 + 2 + 1的方式, 如加上特殊許可權,則有隱藏許可權,則 SUID(4) SGID(2) SBIT(1):

 

 

 2: 根據加減法加減文件許可權: u:擁有者 g群組許可權 o其他人許可權  a:所有人

例子:

所有人的許可權:
chmod 2777 1.txt
加減許可權:
chmod u+x 1.txt
文件對所有人都有可以執行的許可權:
chmod a+x 1.txt

 3: 文件umask

通常建立文件之時我們的umask預設為0022

linux文件系統建立之時預設文件許可權為:

  1. 目錄許可權:drwxrwxrwx
  2. 文件許可權:drwxrw-rx-
  3. 新建目錄許可權為預設許可權減去設定的對應umask值, 即為目錄drwxrwxrwx - 0022(d----w--w-) 即為去除群組和其他人的w許可權,則目錄許可權為drwxr-xr-x: 文件則為drwxr--r--

如何設定umask和查看

  1. umask數字顯示
  2. umask -S 分類顯示文件許可權
  3. umask 0022設定文件許可權

 4. 文件隱藏屬性:

在linuxEXT2,EXT3,EXT4和部分文件系統可以用chattr設定文件隱藏屬性:

chattr [+-=][ASacdistu] 文件或目錄名稱   A :當設定了 A 這個屬性時,若你有存取此文件(或目錄)時,他的訪問時間 atime 將不會被修改, 可避免 I/O 較慢的機器過度的存取磁碟。(目前建議使用文件系統掛載參數處理這個項目) S :一般文件是非同步寫入磁碟的(原理請參考前一章 sync 的說明),如果加上 S 這個屬性時, 當你進行任何文件的修改,該更動會『同步』寫入磁碟中。 a :當設定 a 之後,這個文件將只能增加數據,而不能刪除也不能修改數據,只有 root 才能設定這屬性 c :這個屬性設定之後,將會自動的將此文件『壓縮』,在讀取的時候將會自動解壓縮, 但是在儲存的時候,將會先進行壓縮後再儲存(看來對於大文件似乎蠻有用的!) d :當 dump 程式被執行的時候,設定 d 屬性將可使該文件(或目錄)不會被 dump 備份 i :這個 i 可就很厲害了!他可以讓一個文件『不能被刪除、改名、設定連結也無法寫入或新增數據!』 對於系統安全性有相當大的幫助!只有 root 能設定此屬性 s :當文件設定了 s 屬性時,如果這個文件被刪除,他將會被完全的移除出這個硬碟空間, 所以如果誤刪了,完全無法救回來了喔! u :與 s 相反的,當使用 u 來配置文件案時,如果該文件被刪除了,則數據內容其實還存在磁碟中, 可以使用來救援該文件   註意 1:屬性設定常見的是 a 與 i 的設定值,而且很多設定值必須要身為 root 才能設定 註意 2:xfs 文件系統僅支援 AadiS 而已 例子:
chattr +i attrtest <==給予 i 的屬性

lsattr attrtest

 

5: 關於特殊許可權SUID,SGID,SBIT的說明:

5.1 SUID

說明:只要用戶擁有對程式具有X的許可權  SUID可以讓普通用戶暫時獲得擁有者的許可權從而執行此二進位程式

 SUID 許可權僅對二進位程式(binary program)有效;  執行者對於該程式需要具有 x 的可執行許可權;  本許可權僅在執行該程式的過程中有效 (run-time);  執行者將具有該程式擁有者 (owner) 的許可權。 註意:只能用於二進位文件,不能用於shell scripts  

5.2 SGID

說明:SGID可以用於目錄或者文件,當用戶具有X的許可權, SGID可以給與用戶所在群組的許可權

 SGID 對二進位程式有用;  程式執行者對於該程式來說,需具備 x 的許可權;  執行者在執行的過程中將會獲得該程式群組的支持!   建立目錄時:  用戶若對於此目錄具有 r 與 x 的許可權時,該用戶能夠進入此目錄;  用戶在此目錄下的有效群組(effective group)將會變成該目錄的群組;  用途:若用戶在此目錄下具有 w 的許可權(可以新建文件),則使用者所建立的新文件,該新文件的群組與此 目錄的群組相同。  

5.3 SBIT

說明:具有此許可權的用戶只能夠刪除自己建立的文件和目錄, 不能夠刪除其他用戶的 註意:此許可權只對目錄有用   當用戶對於此目錄具有 w, x 許可權,亦即具有寫入的許可權時; 當用戶在該目錄下建立文件或目錄時,僅有自己與 root 才有權力刪除該文件   例子: 當甲這個用戶於 A 目錄是具有群組或其他人的身份,並且擁有該目錄 w 的許可權, 這表 示『甲用戶對該目錄內任何人建立的目錄或文件均可進行 "刪除/更名/搬移" 等動作。』 不過,如果 將 A 目錄加上了 SBIT 的許可權項目時,則甲只能夠針對自己建立的文件或目錄進行刪除/更名/移動 等動作,而無法刪除他人的文件。

 

 

 

 

 

 

 

 

     
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 引用NModbus 在NuGet搜索NModbus,添加引用。 封裝ModbusTcp類 public class ModbusTCP { private ModbusFactory modbusFactory; private IModbusMaster master; private TcpCl ...
  • 參考文檔: https://www.cnblogs.com/liaods/p/10101513.html https://www.cnblogs.com/zyz-Notes/p/12030281.html 本示例使用MVC項目做演示(不推薦,推薦直接用WebAPI),框架版本使用 4.6.2 為了支 ...
  • 前幾天,公眾號後臺有朋友在問Core的中間件,所以專門抽時間整理了這樣一篇文章。 一、前言 中間件(Middleware)最初是一個機械上的概念,說的是兩個不同的運動結構中間的連接件。後來這個概念延伸到軟體行業,大家把應用操作系統和電腦硬體之間過渡的軟體或系統稱之為中間件,比方驅動程式,就是一個典型 ...
  • 為什麼編寫TaskSchedulerEx類? 因為.NET預設線程池只有一個線程池,如果某個批量任務一直占著大量線程,甚至耗盡預設線程池,則會嚴重影響應用程式域中其它任務或批量任務的性能。 特點: 1、使用獨立線程池,線程池中線程分為核心線程和輔助線程,輔助線程會動態增加和釋放,且匯流排程數不大於參數 ...
  • 過場CG: 接到公司領導的文件指示,“小熊”需要在6月底去海外執行一個行動代號為【定時任務】的營救計劃,這個計劃關係到公司某個項目的生死(數據安全漏洞),作戰部擬定兩個作戰方案: 方案一:使用務定時任務框架quartz; 方案二:使用windows Service服務。 最終的作戰方案為:兩者配套使 ...
  • 文章篇幅較長,閱讀完大概20min,建議收藏閱讀, 讀完會有收穫。歡迎點贊關註 原文鏈接:https://www.softwaretestinghelp.com/types-of-software-testing/ 有多少軟體測試類型呢? 我們作為測試人員瞭解很多種不同的軟體測試類型,例如功能測試( ...
  • 1.先停止資料庫伺服器 service mysqld stop 2.vim /etc/my.cnf 3.配置文件添加skip-grant-tables [root@VM_0_8_centos ~]# vim /etc/my.cnf # For advice on how to change sett ...
  • 1.linux常用命令及其參數 1.1 ls相關,文件與目錄的檢視 基本用法:ls [-options] 文件或者目錄名稱 ls [--color={never, auto, always}] 文件名或者目錄名稱 ls [--full-time] 文件名或目錄名稱 選項與參數: -a : 全部的文件 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...