Linux自學之旅-基礎命令(umask默認權限的作用)
文章目錄
- 前言
- 一、umask?
- 二、umask運用
- 1.檔案和目錄最大權限
- 2.檔案默認權限
- 3.臨時修改默認權限(umask計算方式)
- 總結
前言
1.上節我們講述了chown和chgrp兩個修改所有者和所屬組的命令,還沒看的請點擊下方鏈接進入吧:chown和chgrp
2.這一節我們講講在Centos中的默認權限umask,也就是可以賦予檔案一個初始權限模式
提示:以下是本篇文章正文內容
一、umask?
1.大家前面和我一起學了很多修改權限的命令,
例如chmod:可以修改某個權限位的權限模式;
chown:可以修改檔案所有者或所屬組;
chgrp:可以修改檔案所屬組;
2.這時候大家可能就有個問題了,那既然我可以對這個創建出來的檔案進行修改權限,那么這個檔案為什么一定是創建出來的時候就被賦予了一定的權限呢?我能不能人工干預這個檔案剛創建出來時候的權限呢?(也就是你這個檔案用touch或者mkdir創建出來的時候都會已經自帶一個權限,那么這個自帶的權限為什么會是固定的呢?我能不能手工修改?)
3.當然可以手工修改,這就要用到我們的umask命令,它可以查看到你系統當前創建檔案的默認權限以及可以進行臨時修改,
二、umask運用
1.檔案和目錄最大權限
在我們Linux中,檔案和目錄實際上是有一個最大設定的權限的一個規范的
{
檔案:最大權限666,也就是所有者:rw,所屬組:rw,其他人:rw(沒有x權限是因為執行權限過于危險,你想想呀,你寫好一個可以執行的檔案,但是現在是不能直接執行的,否則會對系統造成一定威脅,這時候你去上廁所了,但碰巧這時候有個人手賤給你執行了,那豈不是涼涼了是吧,所以我們檔案的x權限只能管理員手工進行修改)
目錄:最大權限777,也就是所有者:rwx,所屬組:rwx:其他人:rwx(我們知道x權限對于目錄僅僅只是代表了你是否可以進入該目錄罷了,所以目錄默認創建的時候也會帶x權限)
(現在給大家普及的這些最大權限可以用在接下來我要講的umask默認權限中)
}
2.檔案默認權限
[root@student ceshi]# umask
0022
[root@student ceshi]#
1.我們直接輸入umask并回車可以看到四個數字,這里第一個數字是特殊權限,后面三個(022)才是對應檔案所有者、所屬組、其他人的默認權限,我們先不管第一個特殊權限,下次有機會會講,
2.上面我們用umask查看到的四個數字,拋去第一個的話,022就是我們系統創建出來的檔案的默認權限,第一個0就是我們檔案所有者的默認權限;第二個2就是我們所屬組的默認權限;第三個2就是我們其他人的默認權限,
3.那么這里大家就有點疑惑了,022是我們創建出來的檔案的默認權限?
[root@student ceshi]# touch ces
[root@student ceshi]# ls -lh
總用量 0
-rw-r--r--. 1 root root 0 1月 28 11:40 ces
[root@student ceshi]#
4.明明創建一個檔案出來的時候是644權限呀,不是什么022呀,那么作者你為什么要說022是默認權限呢?這之間難道有什么關聯么?
5.那不廢話嘛,不有關系拿出來說還有什么意義嘛!其實這串022是一個檔案創建的默認權限沒錯,但是你要拿這串022經過一系列的運算才能得出我們真正的默認權限,按照官方說法的話,是要通過二進制的邏輯與和邏輯非聯合運算才能得出真正的創建檔案的一個初始權限,(這種方法較難,而且不實用,所以不推薦,有另外一種方式可以計算)
6.還記得我前面所說的檔案和目錄檔案的最大權限嘛,那兩個最大權限就可以幫助我們運算出真正的檔案創建出來時的默認權限,
7.首先對于普通檔案和目錄檔案來說,他們兩個剛創建出來時的默認權限其實是不一樣的:
[root@student ceshi]# touch jh
[root@student ceshi]# mkdir yj
[root@student ceshi]# ls -lh
總用量 0
-rw-r--r--. 1 root root 0 1月 28 11:50 jh
drwxr-xr-x. 2 root root 6 1月 28 11:51 yj
[root@student ceshi]#
(我們可以看到普通檔案默認權限644,目錄檔案默認權限755)
8.那么我說了前面檔案和目錄檔案的最大權限能幫助我們算出真正的默認權限,那么這里我又說了,檔案的最大權限可以算出普通檔案創建出來時的默認權限;目錄檔案的最大權限可以算出我們創建出來的目錄檔案的默認權限,(也就是前面我不是說了兩個最大權限嗎 ,第一個檔案的最大權限只能算出普通檔案創建出來的默認權限,然后第二個目錄檔案的最大權限也只能算出目錄檔案創建出來時的默認權限)
9.那么怎么算呢,開始了!首先umask得出的那串022終于可以派上用場了,我們就是要拿這串022和我們的檔案最大權限、目錄檔案最大權限進行一個計算,然后就可以得出我們真正的檔案或目錄檔案創建出來時候的默認權限,
10.首先
{
1.如何算普通檔案創建出來時的默認權限:
通過上面我說的,我們知道要拿檔案的最大權限和umask的022進行計算:(絕不是簡單的數字相減!!!,只是大概可以這樣而已)


2.如何算目錄檔案創建出來時的默認權限:
通過上面我說的,我們知道要拿目錄檔案的最大權限和umask的022進行計算:


}
3.臨時修改默認權限(umask計算方式)
1.那么通過上面的我的計算方式,大家應該很清楚計算方式了把,對了記住一點,計算默認權限絕不是簡單的拿數字相減,不信你umask=033去計算一下

2.是不是又顛覆了大家的想法,咦?難道不是權限位的數字進行相減嘛?哈,因為前面的022的計算方式那樣解釋的話比較好懂,先讓大家大概了解那樣可以計算之后在進行一個真正的計算方式,(意思就是前面那種計算方式一般情況下沒錯,但是遇到比如像我現在說的033就不對了)
實際計算方式:


3.看!我們的結果是不是和上面的一樣,計算方式就是這樣,主要拿檔案或目錄的最大權限和umask的權限進行比較,然后就可以計算出來,
4.目錄檔案計算方式也是一樣的,大家可以自己去計算一下,這里修改默認權限的方式的話很簡單,直接umask xx,就是后面接數字就行,如下:(注意,只是臨時修改,重啟就失效了)

5.永久修改的話如下圖這兩個檔案里面進行更改一些配置,但是我們沒說vim,也不推薦修改,默認就好,

總結
那么本節我們主要就是講述了:
{
1.umask權限:定義創建檔案的一個默認創建權限
}
下節我們講講一些Linux中幫助手冊命令
我是結花,我們下次見!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/254013.html
標籤:其他
上一篇:Linux 的基礎知識回顧(安裝vmware) ---- No.1 后面都以Centos8 為例
下一篇:ubuntu磁盤磁區
