權限是指為了保證職責的有效 履行 ,任職者 必須 具備的,對某事項進行決策的範圍和程度。它常常用“具有批準……事項的權限”來進行表達。例如,具有批準預算外5000元以内的禮品費支出的權限。
為什麼linux要有權限
Linux的權限不是很細緻,隻有RWX三種
r(Read,讀取):對文件而言,具有讀取文件内容的權限;對目錄來說,具有浏覽目錄的權限。
w(Write,寫入):對文件而言,具有新增,修改,删除文件内容的權限;對目錄來說,具有新建,删除,修改,移動目錄内文件的權限。
x(eXecute,執行):對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限。
1、目錄的隻讀訪問不允許使用cd進入目錄,必須要有執行的權限才能進入。
2、隻有執行權限隻能進入目錄,不能看到目錄下的内容,要想看到目錄下的文件名和目錄名,需要可讀權限。
3、一個文件能不能被删除,主要看該文件所在的目錄對用戶是否具有寫權限,如果目錄對用戶沒有寫權限,則該目錄下的所有文件都不能被删除,文件所有者除外
4、目錄的w位不設置,即使你擁有目錄中某文件的w權限也不能寫該文件
查看文件的權限我們來查看一下zhaoyuqiang.html這個網頁文件的權限。
方法:在終端輸入:
ls -l xxx.xxx (xxx.xxx是文件名)查看的是xxx文件之中的文件權限
那麼就會出現相類似的信息,主要都是這些:-rw-rw-r--
一共有十位數,其中:最前面那個 - 代表的是類型
中間那三個 rw- 代表的是所有者(user)擁有的權限
然後那三個 r-- 代表的是組群(group)擁有的權限
最後那三個 r-- 代表的是其他人(other)擁有的權限
然後
r 表示文件可以被讀(read)
w 表示文件可以被寫(write)
x 表示文件可以被執行(如果它是程序的話)
- 表示相應的權限還沒有被授予
之後的root root 就是用戶擁有者了。
需要注意的是:查看文件權限的目錄問題: 如果有文件夾 /a/b/c
那麼執行 ls -l /a/b 查看權限的文件并不是b,而是查看的c的權限。
ls -l /a 查看的是b文件的權限
ls -l /a/b 查看的是c文件的權限
ls -l /a/b/c 查看的是c文件的權限
修改權限簡介在終端輸入:
chmod o w xxx.xxx
表示給其他人授予寫xxx.xxx這個文件的權限
chmod go-rw xxx.xxx
表示删除xxx.xxx中組群和其他人的讀和寫的權限
其中:
u 代表所有者(user)
g 代表所有者所在的組群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被讀(read)
w 表示文件可以被寫(write)
x 表示文件可以被執行(如果它是程序的話)
其中:rwx也可以用數字來代替
r ------------4
w -----------2
x ------------1
- ------------0
行動:
表示添加權限
- 表示删除權限
= 表示使之成為唯一的權限
當大家都明白了上面的東西之後,那麼我們常見的以下的一些權限就很容易都明白了:
-rw------- (600) 隻有所有者才有讀和寫的權限
-rw-r--r-- (644) 隻有所有者才有讀和寫的權限,組群和其他人隻有讀的權限
-rwx------ (700) 隻有所有者才有讀,寫,執行的權限
-rwxr-xr-x (755) 隻有所有者才有讀,寫,執行的權限,組群和其他人隻有讀和執行的權限
-rwx--x--x (711) 隻有所有者才有讀,寫,執行的權限,組群和其他人隻有執行的權限
-rw-rw-rw- (666) 每個人都有讀寫的權限
-rwxrwxrwx (777) 每個人都有讀寫和執行的權限
umask的使用
一 查看默認權限命令
umask
查看默認權限
0022
第一位0:文件特殊權限
022:文件默認權限
二 文件的默認權限
1、文件默認不能建立未執行文件,必須手工賦予執行權限
2、所以文件默認權限最大未666
3、默認權限需要換算成字母再相減
4、建立文件之後的默認權限,為666減去umask值
三 文件的默認權限計算方法
以上文件權限計算方法完全錯誤,下面我們看正确的計算方法
① 以二進制方式換算:
先将将總的權限(目錄777,文件666)和umask值都轉換為2進制,然後對umask取反,再将兩個2進制值做與運算,得到的二進制值再轉換十進制,即為權限,
例如: 666=0110 0110 0110 umask=000=0000 0000 0000 NOT運算 1111 1111 1111 0110 0110 0110 1111 1111 1111 ------------------------------ 0110 0110 0110=666 umask=011=0000 0001 0001 NOT運算 1111 1110 1110 0110 0110 0110 1111 1110 1110 ------------------------------ 0110 0110 0110=666 umask=022=0000 0010 0010 NOT運算 1111 1101 1101 0110 0110 0110 1111 1101 1101 ------------------------------ 0110 0100 0100=644 umask=033=0000 0011 0011 NOT運算 1111 1100 1100 0110 0110 0110 1111 1100 1100 ------------------------------ 0110 0100 0100=644
②第二種方法就是直接将權限數字代表的欄位寫出來,進行對比判斷,比較簡單直觀,适用于知道umask然後計算權限的考題,而對于給予權限然後計算umask的題目第一種方法可做參考:
umask=000 (rw-rw-rw-)-(---------)=rw-rw-rw-=666 umask=011 (rw-rw-rw-)-(-----x--x)=rw-rw-rw-=666 umask=022 (rw-rw-rw-)-(----w--w-)=rw-r--r--=644 umask=033 (rw-rw-rw-)-(----wx-wx)=rw-r--r--=644 umask=044 (rw-rw-rw-)-(---r--r--)=rw--w--w-=622 umask=055 (rw-rw-rw-)-(---r-xr-x)=rw--w--w-=622
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!