Linux權限管理-基本權限

閱讀目錄(Content)

回到頂部(go to top)

1.權限概述

1.1.什麼是權限?

我們可以把它理解爲操作系統對用戶能夠執行的功能所設立的限制,主要用於約束用戶能對系統所做的操作,以及內容訪問的範圍,或者說,權限是指某個特定的用戶具有特定的系統資源使用權⼒。

1.2.爲什麼要有權限?

因爲系統中不可能只存在⼀個root用戶,⼀定會存在多個用戶,爲了保護每個登陸用戶的隱私和⼯作環境,所以就有了權限。(比如三個租客合租同⼀個房子,a租客要使用b租客的肥皂,那這個事情??)

1.3.權限與用戶之間的關係?

在Linux系統中,針對文件定義了三種身份,分別是屬主(owner)、屬組(group)、其他人(others),每⼀種身份⼜對應三種權限,分別是可讀(readable)、可寫(writable)、可執行(excutable)。

對文件資源,有三種⻆⾊ugo,當⼀個用戶訪問文件流程如下
1) 判斷用戶是否爲文件所有者,如果是則按所有者的權限進行訪問
2) 判斷用戶是否爲文件所有組成員,如果是則按組的權限進行訪問
3) 如果不是所有者,也不是該文件所屬組,則按匿名權限進行訪問

1.4.權限中的rwx分別代表什麼含義?

當我們使用ls -l查看⼀個文件的詳細屬性時,能看到每個文件都有⼀個9位基本權限位,比如:rwxr-xr-x 其中每三位字符爲⼀組,分別表示屬主權限位,屬組權限位,匿名權限位。
linux中基本權限位則是使用這9位字符來表示,主要控制文件屬主(User)、屬組(Group)、其他用戶(Other)

字⺟ 含義 對應權限
r(read) 讀取權限 4
w(write) 寫入權限 2
x(execute) 執行權限 1
-(沒有權限) 沒有權限 0

PS: 如果權限位不可讀、不可寫、不可執行,則全部使用-作爲佔位符表示。

回到頂部(go to top)

2.權限設置示例

文件示例: rwxrw-r-- alice hr file1.txt
Q1: alice對file1文件擁有什麼權限?
Q2: jack 對 file1.txt 文件有什麼權限? 前提:jack 屬於 hr 組
Q3: tom 對 file1.txt 文件有什麼權限?

2.1.爲什麼要設定權限,我們⼜如何修改⼀個文件的權限?

Q1: 爲什麼要設定權限,可以賦於某個用戶或組 -- 能夠以何種⽅式 -- 訪問某個文件
Q2: Linux下使用chmod命令來變更權限,root用戶可以變更所有文件的權限,而普通用戶僅能變更屬於自己的文件。

2.2.使用chmod設定權限示例

⽅式⼀: ugo

[root@bgx   ~]#    touch   file    #創建文件
[root@bgx   ~]#    chmod   a=rwx   file    #給所有人添加讀寫執行權限
[root@bgx   ~]#    chmod   a=-rwx  file    #取消所有的權限
[root@bgx   ~]#    chmod   u=rwx,g=rw,o=-  file    #屬主讀寫執行,屬組讀寫,其他人無權限
[root@bgx   ~]#    chmod   ug=rwx,o=r  file    #屬主屬組讀寫執行,其他人讀權限
[root@bgx   ~]#    ll  file
-rwxrw-r--  1   root    root    0   Apr 13 03:29    file

⽅式⼆、number

#選項:    -R遞歸修改
[root@bgx   ~]#    touch   file
[root@bgx   ~]#    chmod   644 file
[root@bgx   ~]#    chmod   600 file
[root@bgx   ~]#    ll  file
-rw-------  1   root    root    0   Apr 13 03:29    file
#針對目錄設定權限
[root@bgx   ~]#    mkdir   dir
[root@bgx   ~]#    chmod   777 dir/    #修改目錄允許所有人訪問
[root@bgx   ~]#    chmod   -R  755 dir/    #修改目錄及子目錄權限
[root@bgx   ~]#    ll  -d  dir/
drwxr-xr-x  2   root    root    6   Apr 13 03:34    dir/

2.3.權限設置案例

針對 hr 部⻔的訪問目錄/home/hr 設置權限,要求如下:
1.root 用戶和 hr 組的員⼯可以讀、寫、執行
2.其他用戶沒有任何權限

[root@bgx   ~]#    groupadd    hr
[root@bgx   ~]#    useradd hr01    -G  hr
[root@bgx   ~]#    useradd hr02    -G  hr
[root@bgx   ~]#    mkdir   /home/hr
[root@bgx   ~]#    chgrp   hr  /home/hr[root@bgx   ~]#    chmod   770 /home/hr
[root@bgx   ~]#    ll  -d  /home/hr
drwxrwx---  2   root    hr  6   Apr 13 03:26    /home/hr

回到頂部(go to top)

3.權限設置案例

在Linux中權限對文件和對目錄的影響是有不同區別的。

 

權限 對文件的影響 對目錄的影響
讀取權限(r) 具有讀取\閱讀文件內容權限 具有瀏覽目錄及子目錄
寫入權限(w) 具有新增、修改文件內容的權限 具有增加和刪除目錄內文件
執行權限(x) 具有執行文件的權限 具有訪問目錄的內容(取決於目錄中文件權限)

文件權限實驗案例:

#1.新建文件,並添加內容⾄文件中,默認文件匿名用戶僅有讀權限
[root@xuliangwei    ~]#    echo    "date"  >   filename
[root@xuliangwei    ~]#    ll  filename
-rw-r--r--  1   root    root    5   Jan 24 08:24    filename

#2.切換bgx普通用戶
[root@xuliangwei    ~]#    su  -   bgx

#3.對文件擁有讀取的權限,但bgx用戶對文件沒有執行和刪除的權限
[bgx@xuliangwei ~]$   cat /root/filename
date

#4.使用root增加x執行權限
[root@xuliangwei    ~]#    chmod   o+x /root/filename
[root@xuliangwei    ~]#    ll  /root/filename
-rw-r--r-x  1   root    root    5   Jan 24 08:24    /root/filename

#5.測試x權限是否真的能執行該文件
[bgx@xuliangwei ~]$   /root/filename
Wed Jan 24 08:28:34 EST 2018

#6.增加w執行權限
[root@xuliangwei    ~]#    chmod   o+w /root/filename
[root@xuliangwei    ~]#    ll  /root/filename
-rw-r--rwx  1   root    root    5   Jan 24 08:24    /root/filename

#7.測試執行權限
[bgx@xuliangwei ~]$   vim /root/filename

PS: 總結rwx對文件的影響

讀取權限(r)具有讀取\閱讀文件內容權限
1.只能使用查看類命令cat、head、tail、less、more

寫入權限(w)具有新增、修改文件內容的權限
1.使用vim編輯會提示權限拒絕, 但可強制保存,會覆蓋文件的所有內容
2.使用echo命令重定向的⽅式可以往文件內寫入數據,>>可以進行追加
3.不能刪除文件,因爲刪除文件看的不是文件的屬性,需要看上級目錄是否有w的權限

執行權限(x)具有執行文件的權限
1.執行權限什麼用都沒有
2.如果普通用戶需要執行文件,需要配合r權限


目錄權限實驗案例:

#示例1:   創建目錄,並在該目錄下創建文件,匿名用戶對目錄沒有w權限,對文件有777權限
[root@xuliangwei    ~]#    mkdir   /dirname
[root@xuliangwei    ~]#    echo    "test"  >>  /dirname/filename
[root@xuliangwei    ~]#    chmod   777 /dirname/filename

#普通用戶驗證權限,能正常查看,但無法刪除[奇怪]
[bgx@xuliangwei ~]$   cat /dirname/filename
test
[bgx@xuliangwei ~]$   rm  -f  /dirname/filename
rm: cannot  remove  ‘/dirname/filename’:    Permission  denied

#示例2:   設置目錄777權限,相當於匿名用戶對目錄有w權限,對文件沒有任何權限
[root@xuliangwei    ~]#    chmod   777 /dirname/
[root@xuliangwei    ~]#    chmod   000 /dirname/filename

#普通用戶驗證權限
[bgx@xuliangwei ~]$   cat /dirname/filename
cat:    /dirname/filename:  Permission  denied
[bgx@xuliangwei ~]$   rm  -f  /dirname/filename
[bgx@xuliangwei ~]$   touch   /dirname/filename_2

PS: 總結rwx對目錄的影響
讀取權限(r),如果目錄只有r權限: 具有瀏覽目錄及子目錄權限
1.可以使用ls命令瀏覽目錄及子目錄, 但同時也會提示權限拒絕
2.使用ls -l命令瀏覽目錄及子目錄,文件屬性會帶問號,並且只能看到文件名
總結: 目錄只有r權限,僅僅只能瀏覽內的文件名,無其他操作權限

寫入權限(w),如果目錄只有w權限: 具有增加、刪除或修改目錄內文件名權限(需要x權限配合)
PS: 如果目錄有w權限, 可以在目錄內創建文件, 刪除文件(跟文件本身權限無關)
不能進入目錄、不能複製目錄、不能刪除目錄、不能移動目錄

執行權限(x),如果目錄只有x權限
1.只能進入目錄
2.不能瀏覽、複製、移動、刪除

Linux權限總結與注意事項

文件r權限, 只給用戶查看,無其他操作

文件rw權限, 可以查看和編輯文件內容

文件rx權限, 允許查看和執行文件、但不能修改文件----->PASS

文件rwx權限, 能讀,能寫,能執行,但不能刪除,因爲刪除需要看上級目錄的權限有沒有w----->PASS

目錄rx權限, 允許瀏覽目錄內文件以及子目錄、並允許在目錄內新建文件, 不允許創建、刪除文件和目錄

目錄wx權限, 能進入目錄,能刪除內容,能寫入內容,但就是無法使用ls cat這樣的命令----->PASS

目錄rw權限, 能看,能寫,但無法進入目錄----->PASS

PS: 文件的 x權限小心給予,目錄的 w權限小心給予。

PS: 文件通常設定的權限是644,目錄設定的權限是755

PS: 控制目錄權限755, 如果有普通用戶需要操作目錄⾥⾯的文件,在來看文件的權限變更文件屬主和屬組的意義?

比如: 我現在⼿⾥有多套房,希望出售其中的A房進行變現,那麼我會考慮將A房過戶給金主,過戶成功後A房就屬於金主了,那麼此時A房的擁有者就屬於金主而不再屬於我。

回到頂部(go to top)

4.屬主屬組設置

在Linux中如何變更⼀個文件或者⼀個資源的屬主和屬組呢,可以使用chown、chgrp命令實現。
chown能設置屬主和屬組,chgrp僅能設置屬組。(所以用哪個你懂的)

#chown  更改屬主以及屬組    -R:遞歸修改

#準備環境,創建文件和目錄
[root@bgx   ~]#    mkdir   dir/test1   &&  touch   dir/file

#示例1:   修改所屬主爲bin
[root@bgx   ~]#    chown   bin dir/

#示例2:   修改所屬組爲adm
[root@bgx   ~]#    chown   .adm    dir/

#示例3:   遞歸修改目錄及目錄下的所有文件屬主和屬組
[root@bgx   ~]#    chown   -R  root.root   dir/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章