日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linuxumask詳解:令新建文件和目錄擁有默認(rèn)權(quán)限
linux 是注重安全性的操作系統(tǒng),而安全的基礎(chǔ)在于對(duì)權(quán)限的設(shè)定,不僅所有已存在的文件和目錄要設(shè)定必要的訪問權(quán)限,創(chuàng)建新的文件和目錄時(shí),也要設(shè)定必要的初始權(quán)限。

我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、新沂ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的新沂網(wǎng)站制作公司

Windows 系統(tǒng)中,新建的文件和目錄時(shí)通過繼承上級(jí)目錄的權(quán)限獲得的初始權(quán)限,而 Linux 不同,它是通過使用 umask 默認(rèn)權(quán)限來給所有新建的文件和目錄賦予初始權(quán)限的。

那么,我們?nèi)绾蔚弥?umask 默認(rèn)權(quán)限的值呢?直接通過 umask 命令即可:

[root@localhost ~]# umask
0022
#root用戶默認(rèn)是0022,普通用戶默認(rèn)是 0002

讀者可能會(huì)問,不應(yīng)該只有 3 個(gè)數(shù)字(分別對(duì)應(yīng) 3 種用戶身份)嗎,為什么有 4 個(gè)? umask 默認(rèn)權(quán)限確實(shí)由 4 個(gè)八進(jìn)制數(shù)組成,但第 1 個(gè)數(shù)代表的是文件所具有的特殊權(quán)限(SetUID、SetGID、Sticky BIT),此部分內(nèi)容放到后續(xù)章節(jié)中講解,現(xiàn)在先不討論。也就是說,后 3 位數(shù)字 "022" 才是本節(jié)真正要用到的 umask 權(quán)限值,將其轉(zhuǎn)變?yōu)樽帜感问綖?----w--w-。

注意,雖然 umask 默認(rèn)權(quán)限是用來設(shè)定文件或目錄的初始權(quán)限,但并不是直接將 umask 默認(rèn)權(quán)限作為文件或目錄的初始權(quán)限,還要對(duì)其進(jìn)行 "再加工"。

文件和目錄的真正初始權(quán)限,可通過以下的計(jì)算得到:

文件(或目錄)的初始權(quán)限 = 文件(或目錄)的最大默認(rèn)權(quán)限 - umask權(quán)限

如果按照官方的標(biāo)準(zhǔn)算法,需要將 umask 默認(rèn)權(quán)限使用二進(jìn)制并經(jīng)過邏輯與和邏輯非運(yùn)算后,才能得到最終文件或目錄的初始權(quán)限,計(jì)算過程比較復(fù)雜,且容易出錯(cuò),因此本節(jié)給大家介紹了更簡(jiǎn)單的計(jì)算方式。

顯然,如果想最終得到文件或目錄的初始權(quán)限值,我們還需要了解文件和目錄的最大默認(rèn)權(quán)限值。在 Linux 系統(tǒng)中,文件和目錄的最大默認(rèn)權(quán)限是不一樣的:

  • 對(duì)文件來講,其可擁有的最大默認(rèn)權(quán)限是 666,即 rw-rw-rw-。也就是說,使用文件的任何用戶都沒有執(zhí)行(x)權(quán)限。原因很簡(jiǎn)單,執(zhí)行權(quán)限是文件的最高權(quán)限,賦予時(shí)絕對(duì)要慎重,因此絕不能在新建文件的時(shí)候就默認(rèn)賦予,只能通過用戶手工賦予。
  • 對(duì)目錄來講,其可擁有的最大默認(rèn)權(quán)限是 777,即 rwxrwxrwx。

接下來,我們利用字母權(quán)限的方式計(jì)算文件或目錄的初始權(quán)限。以 umask 值為 022 為例,分別計(jì)算新建文件和目錄的初始權(quán)限:

  • 文件的最大默認(rèn)權(quán)限是 666,換算成字母就是 "-rw-rw-rw-",umask 的值是 022,換算成字母為 "-----w--w-"。把兩個(gè)字母權(quán)限相減,得到 (-rw-rw-rw-) - (-----w--w-) = (-rw-r--r--),這就是新建文件的初始權(quán)限。我們測(cè)試一下:

    [root@localhost ~]# umask
    0022
    #默認(rèn)umask的值是0022
    [root@localhost ~]# touch file  <--新建file空文件
    [root@localhost ~]# ll -d file
    -rw-r--r--. 1 root root 0 Apr 18 02:36 file

  • 目錄的默認(rèn)權(quán)限最大可以是 777,換算成字母就是 "drwxrwxrwx",umask 的值是 022,也就是 "-----w--w-"。把兩個(gè)字母權(quán)限相減,得到的就是新建目錄的默認(rèn)權(quán)限,即 (drwxrwxrwx) - (-----w--w-) = (drwxr-xr-x)。我們?cè)賮頊y(cè)試一下:

    [root@localhost ~]# umask
    0022
    [root@localhost ~]# mkdir catalog  <--新建catalog目錄
    [root@localhost ~]# ll -d catalog
    drwxr-xr-x. 2 root root 4096 Apr 18 02:36 catalog

注意,在計(jì)算文件或目錄的初始權(quán)限時(shí),不能直接使用最大默認(rèn)權(quán)限和 umask 權(quán)限的數(shù)字形式做減法,這是不對(duì)的。例如,若 umask 默認(rèn)權(quán)限的值為 033,按照數(shù)字形式計(jì)算文件的初始權(quán)限,666-033=633,但我們按照字母的形式計(jì)算會(huì)得到 (rw-rw-rw-) - (----wx-wx) = (rw-r--r--),換算成數(shù)字形式是 644。

這里的減法,其實(shí)是“遮蓋”的意思,也就是說,最大默認(rèn)權(quán)限中和 umask 權(quán)限公共的部分,通過減法運(yùn)算會(huì)被遮蓋掉,最終剩下的“最大默認(rèn)權(quán)限”,才是最終賦予文件或目錄的初始權(quán)限。

umask默認(rèn)權(quán)限的修改方法

umask 權(quán)限值可以通過如下命令直接修改:

[root@localhost ~]# umask 002
[root@localhost ~]# umask
0002
[root@localhost ~]# umask 033
[root@localhost ~]# umask
0033

不過,這種方式修改的 umask 只是臨時(shí)有效,一旦重啟或重新登陸系統(tǒng),就會(huì)失效。如果想讓修改永久生效,則需要修改對(duì)應(yīng)的環(huán)境變量配置文件 /etc/profile。例如:

[root@localhost ~]# vim /etc/profile
...省略部分內(nèi)容...
if [ $UID -gt 199]&&[ "'id -gn'" = "'id -un'" ]; then
    umask 002
    #如果UID大于199(普通用戶),則使用此umask值
else
    umask 022
    #如果UID小于199(超級(jí)用戶),則使用此umask值
fi
…省略部分內(nèi)容…

這是一段 Shell 腳本程序,不懂也沒關(guān)系,大家只需要知道,普通用戶的 umask 由 if 語句的第一段定義,而超級(jí)用戶 root 的 umask 值由 else 語句定義即可。 修改此文件,則 umask 值就會(huì)永久生效。


網(wǎng)頁標(biāo)題:Linuxumask詳解:令新建文件和目錄擁有默認(rèn)權(quán)限
當(dāng)前鏈接:http://m.5511xx.com/article/ccoieei.html