權限這管理命令:chmod
所在路徑:/bin/chmod
執行權限:所有用戶
功能描述:改變文件或者目錄權限
用戶分成三類:
u:user所有者
g:group所屬組
o:other其他人
權限也分成三類:
r:read讀
w:write寫
x:exe執行
權限一般有9個字符
例如:
rw- r-- r--:
前三個代表所有者(user)的權限,在這裏表示所有者讀寫的權限
接着代表所屬組(group)的權限,在這裏表示所屬組讀的權限
最後代表其他人的權限,在這裏表示其他人有讀的權限。
更改權限只有所有者和管理員root才能更改
如果想給所有者加上執行的權限,執行命令(用root或者所有者進入):
chomd u+s 文件名
如果想去掉所屬組的讀的權限:
chomd g-r 文件名
還可以用等號授予權限:
chomd g=rwx文件名
加號授予權限,減號去掉權限,等號直接授予權限不用考慮之前的權限。
可以同時執行管理權限:
chomd u-r,o+w文件名
權限用數字表示:
r---4
w--2
x---1
rwxrw-r--:
7 6 4
532代表:r-x-wx-w-
用數字改變權限:
chmod 640 文件名
這樣就將文件權限改成了rw-r-----
-R:遞歸修改
如果想改變權限並且目錄下所有權限都改變用R
chmod -R 777 /tmp/a
將a目錄下所有權限更改爲rwxrwxrwx例如存在/tmp/a/b
此時b的權限也爲rwxrwxrwx
刪除文件是對這個文件所在的目錄有w權限才能刪除
rwx真正的屬性
文件 目錄
r 可以查看文件內容 可以列出目錄的內容
w 可以修改文件內容 可以在目錄中創建、刪除文件
X 可以執行文件 可以進入目錄
rx一般成對出現
權限管理命令:chown
所在路徑:/bin/chown
執行權限:所有用戶
功能描述:改變文件或者目錄的所有者
例子:$ chown huangpingyi helloworld
改變文件helloworld的權限爲huangpingyi
chmod只能是root或者所有者,而chown只有root可以操作
例如 hello文件是由huangpingyi創建,那麼hello文件的所有者。如果想改變它的所有者用huangpingyi更改會報錯。只能用管理員(root)更改。
權限管理命令:chgrp
所在路徑:/bin/chgrp
執行權限:所有用戶
功能描述:改變文件或者目錄的所有組
範例:$ chgrp friends hello
改變文件hello的所屬組爲friends
權限管理命令:umask
所在路徑:Shell內置命令
執行權限:所有用戶
功能描述:顯示,設置文件的缺省(默認)權限
範例:
比如 hello文件的權限爲rwxr-xr-x
在hello路徑下,使用:
$umask -S
就會顯示:
u=rwx,g=rx,o=rx
在hello文件路徑下創建目錄:mkdir lamp
就會看見
ls -ld lamp
出現的權限會是:
rwxr-xr-x
和umask -S看見的結果一樣的
再在這個路徑下新建一個文本文件:
touch haha
查看文本文件的權限就會發現權限爲:
rw-r--r--
缺省創建的文件都缺少x權限
在liunx新建文件都會把可執行權限去掉
直接執行umask
出現0022
0代表特殊權限
022代表正常權限
用777-022就得到真正的權限755
用umask更改權限:
直接執行:umask 023
執行umask -S查看得到我們想要的權限:
u=rwx,g=rx,o=r
小結:linux默認權限755,在新建一個文件的時候會有個默認的權限,這個權限是通過umask來定義的缺省的文件,我們可以用chmod來改變這個文件的權限(只有管理員和root),chown來改變文件的所有者(只有root),chgrp來改變文件所屬組。