亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

linux之umask權限掩碼解讀

 更新時間:2025年05月30日 08:57:58   作者:kucupung  
這篇文章主要介紹了linux之umask權限掩碼,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

umask這個接口在一些程序初始化的時候經常會見到,處于安全性,可以縮小進程落盤文件的權限。

linux文件系統(tǒng)的權限規(guī)則

文件的默認權限由系統(tǒng)決定(通常是 0666,即所有人可讀可寫)。

目錄的默認權限通常是 0777(所有人可讀可寫可執(zhí)行)。

實際創(chuàng)建的文件 / 目錄權限 = 默認權限 & ~mask(按位取反后與默認權限按位與)。

1. 權限的二進制與八進制對應

權限二進制值八進制值符號表示
讀 (Read)1004r
寫 (Write)0102w
執(zhí)行 (Execute)0011x
無權限0000-

2. 組合權限計算

通過二進制加法八進制數(shù)值相加來組合多個權限:

  • 可讀可寫 = 讀 (4) + 寫 (2) = 6(二進制:110)。
  • 可讀可執(zhí)行 = 讀 (4) + 執(zhí)行 (1) = 5(二進制:101)。
  • 讀寫執(zhí)行全權限 = 4 + 2 + 1 = 7(二進制:111)。

3. 用戶組與權限表示

權限分為三個用戶組:所有者 (Owner)、組用戶 (Group)其他用戶 (Others),每個組對應一個八進制數(shù):

文件權限示例0644

  • 第一位 0:八進制前綴。
  • 第二位 6(所有者):4 (r) + 2 (w) = 可讀可寫。
  • 第三位 4(組用戶):4 (r) = 只讀。
  • 第四位 4(其他用戶):4 (r) = 只讀。
  • 符號表示:-rw-r--r--。

目錄權限示例0755

  • 所有者:7 (rwx) = 讀寫執(zhí)行。
  • 組用戶和其他用戶:5 (r-x) = 可讀可執(zhí)行。
  • 符號表示:drwxr-xr-x

4. 特殊權限位(SetUID/SetGID/Sticky)

特殊權限二進制值八進制值符號表示(文件)符號表示(目錄)
SetUID10004s 或 Ss 或 S
SetGID01002s 或 Ss 或 S
Sticky Bit00101t 或 Tt 或 T

SetUID(4)

  • 作用:當文件被執(zhí)行時,臨時獲得文件所有者的權限。
  • 典型場景:/usr/bin/passwd(修改密碼需要訪問 /etc/shadow,但普通用戶無權限)。

SetGID(2)

  • 文件:執(zhí)行時臨時獲得文件所屬組的權限。
  • 目錄:在此目錄下創(chuàng)建的文件自動繼承目錄的組,而非創(chuàng)建者的主組。
  • 典型場景:團隊共享目錄(如 chmod g+s /team_data)。

Sticky Bit(1)

  • 作用:僅文件所有者或 root 能刪除該文件,即使其他用戶有寫權限。
  • 典型場景:公共目錄 /tmp(權限通常為 1777,即 drwxrwxrwt)。

內核提供的接口

umask 是 Unix/Linux 系統(tǒng)中的一個系統(tǒng)調用,用于設置當前進程創(chuàng)建文件或目錄時的默認權限掩碼。

基本信息

  • 頭文件#include <sys/stat.h>
  • 函數(shù)原型mode_t umask(mode_t mask);
  • 作用:設置當前進程的文件模式創(chuàng)建掩碼,并返回之前的掩碼值。
  • 掩碼規(guī)則:新文件的實際權限 = 預設權限(如 0666按位與 ~umask。

權限計算示例

文件類型預設權限umask 值實際權限計算最終權限
文件066600220666 & (~0022) = 0644-rw-r–r–
目錄077700220777 & (~0022) = 0755drwxr-xr-x

使用注意事項

  1. 永久性umask 設置僅對當前進程及其子進程有效,不會影響系統(tǒng)全局設置。
  2. 默認值:通常系統(tǒng)默認 umask0022(屏蔽其他用戶的寫權限)。
  3. 目錄與文件差異:目錄默認權限通常為 0777,文件默認權限為 0666(受限于系統(tǒng)限制,文件不能被設置為可執(zhí)行)。

一些使用技巧

umask(server.umask = umask(0777));

這么寫可以安全地獲取并保存系統(tǒng)當前的 umask 值,同時避免多線程環(huán)境下的競態(tài)條件。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Apache配置文件中的deny與allow小結

    Apache配置文件中的deny與allow小結

    這篇文章主要介紹了Apache配置文件中的deny與allow小結,本文著重講解了deny和allow的執(zhí)行順序問題,需要的朋友可以參考下
    2015-01-01
  • Linux的二進制文件無法運行問題及解決

    Linux的二進制文件無法運行問題及解決

    解決“不能執(zhí)行二進制文件”的問題,通常涉及檢查環(huán)境變量和腳本路徑,在本例中,通過將腳本中的文件路徑改為全路徑,成功解決了問題
    2024-11-11
  • linux中設置nexus開機自啟動的方法

    linux中設置nexus開機自啟動的方法

    這篇文章主要介紹了linux中設置nexus開機自啟動的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • centos下yum搭建安裝linux+apache+mysql+php環(huán)境教程

    centos下yum搭建安裝linux+apache+mysql+php環(huán)境教程

    本篇文章介紹了centos下yum搭建安裝linux+apache+mysql+php環(huán)境,對學習centos有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • linux下使用rsync同步目錄

    linux下使用rsync同步目錄

    本篇文章詳細介紹了linux下使用rsync同步目錄,使用rsync同步后可以保持目錄的一致性,有需要的可以了解一下。
    2016-11-11
  • 詳解bash中的腳本調試機制

    詳解bash中的腳本調試機制

    這篇文章主要介紹了bash中的腳本調試機制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • 讓DOSBox啟動后自動執(zhí)行命令的方法講解

    讓DOSBox啟動后自動執(zhí)行命令的方法講解

    今天小編就為大家分享一篇關于讓DOSBox啟動后自動執(zhí)行命令的方法講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Linux跨服務器文件傳輸?shù)牟僮鞑襟E

    Linux跨服務器文件傳輸?shù)牟僮鞑襟E

    scp命令是Secure Copy的縮寫,可以在不同的Linux服務器之間安全地復制文件,這篇文章主要介紹了Linux跨服務器文件傳輸?shù)牟僮鞑襟E,需要的朋友可以參考下
    2024-07-07
  • Linux虛擬機&Docker安裝RabbitMQ方式

    Linux虛擬機&Docker安裝RabbitMQ方式

    這篇文章主要介紹了Linux虛擬機&Docker安裝RabbitMQ方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 對linux下syslogd以及syslog.conf文件的解讀說明

    對linux下syslogd以及syslog.conf文件的解讀說明

    今天小編就為大家分享一篇對linux下syslogd以及syslog.conf文件的解讀說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07

最新評論