歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux入門基礎(七) Linux權限機制

Linux入門基礎(七) Linux權限機制

日期:2017/3/3 16:05:18   编辑:關於Linux

權限

權限是操作系統用來限制對資源訪問的機制,權限一般分為讀,寫,執行。系統中每個文件都擁有特定的權限,所屬用戶及所屬組,通過這樣的機制來限制哪些用戶,哪些組可以對特定文件進行什麼樣的操作。

每個進程都是以某個用戶的身份運行的,所以進程的權限與該用戶的權限一樣,用戶的權限越大,該進程擁有的權限就越大。

文件的權限

目錄必須有x權限,否則無法查看其內容。x也叫浏覽權限

UGO

Linux權限基於UGO模型進行控制:

U代表User,G代表Group,O代表Other

每一個文件的權限基於UGO進行設置

權限三個一組(rwx),對應UGO分別設置

每一個文件擁有一個所屬用戶和所屬組,對應UG,不屬於該文件所屬用戶或所屬組的使用O權限

命令ls -l可以查看當前目錄下的文件信息

drwxrwxr-x 2 shuangde shuangde 4096 8月 25 00:33 hdu

-rw-rw-r-- 1 shuangde shuangde 26 8月 24 22:50 input.txt

drwxrwxr-x

d: 文件類型, d表示是目錄,-表示是普通文件

rwx: U權限

rwx: G權限

r-x: Other權限, -代表沒有該權限

修改文件所屬用戶,組

命令chown(change own)用以改變文件所屬用戶

$ chown shuangde test.cpp 把test.cpp文件的用戶修改為shuangde

-R 參數遞歸地修改目錄下的所有文件的所屬用戶

命令chgrp(change group)用來改變文件的所屬組:

$ chgrp lab104 test.cpp 把test.cpp文件的所屬組修改為lab104

-R 參數遞歸地修改目錄下的所有文件的所屬組

修改權限

命令chmod用以修改文件的權限

$ chmod 模式 文件

模式為如下格式:

u,g,o分別代表用戶,組和其他

a可以代指ugo

+, -代表加入或刪除對應的權限

r, w, x代表三種權限

示例:

$ chmod u+rw test.cpp 把test.cpp的用戶權限增加rw

$ chmod g-x test.cpp 把test.cpp的組權限刪除x

$ chmod go+r test.cpp 把test.cpp的組和其他權限增加r

$ chmod a-x test 把test.cpp的ugo權限刪除x

命令chmod也支持以數字(二進制)方式修改權限, 3個權限分別由三個數字表示:

-r = 4 (2^2)

-w = 2 (2^1)

-x = 1 (2^0)

實際上就是按照二進制: 111, 每位代表rwx相同順序的位置,如果該位為0,則表示沒有該權限。

沒有權限 = 0

使用數字表示權限時,每組分別為對應數字之和:

rw = 4 + 2 = 4 | 2 = 6

rwx = 4 + 2 + 1 = 4 | 2 | 1 = 7

r-x = 4 + 1 = 4 | 1 = 5

所以,使用數字表示ugo權限使用如下方式表示:

chmod 660 test.cpp 等價於 rw-rw----

chmod 775 test.cpp 等價於 rwxrwxr-x

 

Copyright © Linux教程網 All Rights Reserved