歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux權限管理命令詳解

Linux權限管理命令詳解

日期:2017/2/28 13:46:59   编辑:Linux教程

在說權限管理命令前,我無意中發現了一個命令 ll,驗證了一下,發現跟ls -al效果是一樣的,這個確實方便些,好了,接下來看下幾個權限管理的命令:
一 chmod:改變文件或目錄的權限
第一種用法chmod [{ugoa} {+-=} {rwx}] [文件或目錄]
u代表user g代表group o代表other a代表all
+代表增加權限 -代表減少權限 =代表賦予權限
下面看個例子,創建目錄 /tmp/fuqiang/fuqiang1
查看/tmp/fuqiang/fuqiang1目錄的權限

我們看到權限是rwxr-xr-x,現在我們增加用戶所在組的可寫權限chmod g+w /tmp/fuqiang/fuqiang1

發現成功了,我們把用戶權限,所在組權限和其他人權限全部改成rwx,chmod a=rwx /tmp/fuqiang/fuqiang1

我們把user去掉執行權限,所在組去掉執行權限
chmod u-x,g-x /tmp/fuqiang/fuqiang1
,好了第一種用法就是這樣,我們發現每次加u g o a的很麻煩,有沒有簡單點的用法呢
第二種用法,數字表示法,我們把rwx分別用數字4 2 1來代替,那麼如果三個權限全有,就是4+2+1=7,如果只有讀和寫權限就是4+2=6,如果只有讀和執行權限就是4+1=5,如果只有寫和執行權限就是2+1=3,很簡單吧,下面我們把剛才的目錄權限設定為所有權限都有,也就是777,chmod 777 /tmp/fuqiang/fuqiang1,來看下
我們發現成功了,用法很簡單不多說了,下面來看一個很簡單的問題,現在我們的目錄/tmp/fuqiang/fuqiang1的權限是777了,也就是所有權限都有,我們在這個路徑下創建一個文件fq.list,並且把這個文件的權限設置為770,也就是其他人對這個文件沒有任何權限
好了,設置完了,接下來我們用useradd來添加一個f1的用戶,屬於是其他人了,然後su切換到f1用戶,我用這個f1的其他人來刪除我剛才創建的文件fq.list,看看能否成功
我們發現竟然成功了,這個文件對其他人明明是沒有權限的啊,怎麼會成功呢,好了,根本原因在於這個文件所在的目錄的權限是777,我們都明白r是讀權限,w是寫權限,x是執行權限,那麼這個rwx對於文件或者目錄到底意味著什麼呢

我們看這個表就會發現,這些權限對於目錄和普文件的作用是不同的,對於普通文件,我們可以分別理解為讀取文件的,修改文件和可執行文件,但是對於目錄來說,就分別是可以列出目錄的內容,可以在目錄中創建或刪除問題,可以進入目錄,那麼剛才的問題就很清晰了,由於文件所在路徑具體777權限,所以其他人也可以在這個路徑下創建和刪除文件。
對於chmod命令,還有一點忘記說了,就是加選項-R 的話,就是遞歸修改目錄下的所有目錄或文件的權限
好了,第一個命令說到這,看第二個

二 chown:修改文件或目錄的所有者
語法:chown [用戶] [文件或目錄]
注意,必須是root用戶才有chown的權限
我們把/tmp/fuqiang/fuqiang1/fq.list的所有者修改為root,如下:

我們發現成功了,這個命令很簡單,沒什麼好說的,下面看第三個命令

三 chgrp:修改文件或目錄的所屬組
語法:chown [用戶組] [文件或目錄]
注意,必須是root用戶才有chgrp的權限
同樣,我們把/tmp/fuqiang/fuqiang1/fq.list的所屬組改為root,如下:

好了,很簡單,我們看最後一個命令

四 umask:顯示,設置文件或目錄的缺省權限
umask -S 顯示我們一般創建目錄的權限,來看一下

也就是說我們創建一個目錄的默認權限就是u=rwx,g=rx,0=rx,下面我們創建一個目錄看一下

好了,果然是這樣的,下面我們再創建一個文件看一下

我們發現文件的用戶權限,所屬組權限和其他人權限都少了一個x執行權限,這是linux的一種保護,因為x權限比較敏感,病毒什麼的可以執行,除了x權限之外,其他權限都是跟umask默認是一樣的
那麼如果我們直接執行umask呢

我們得到了一個0022,第一個0我們先不管,後面三個022跟u=rwx,g=rx,0=rx剛好是777-022=755的結果,所以這個得到的結果是777-默認權限的結果,那麼如果我們要修改一下默認權限,改為u=rw,g=rx,0=rx,那麼就是655,用777-655=122,我們執行umask 122

接著我們再創建一個目錄來驗證下

發現跟我們要改成的權限655一致了,那麼我們再創建一個文件呢

發現只是少了x執行權限,跟我們剛才說的對上了。

好了,linux常用的權限管理命令就說到這裡,如果有問題,歡迎執行,謝謝!

Copyright © Linux教程網 All Rights Reserved