Linux權限管理(基本權限、默認權限)

1、文件基本權限

1-1.基本權限的修改

-rw-r--r--
  - 第一個"-"表示文件類型(- 文件,d 目錄,l 軟連接文件)
  - rw-       r--       r--
    u全部者   g所屬組   o其它人
其中r讀,w寫,x執行

(1).chmod  [選項]  模式  文件名
  - 選項
    . -R  遞歸
  - 模式
    [ugoa] [+-=] [rwx]
    [mode=421]

#爲全部者添加rw權限, 所屬組去除w權限
chmod u+rw, g-w test.txt

權限的數字表示(用二進制轉的數)
r---4;  w----2;  x ----1;
如rwxr-xr-x,則對應7 5 5python

1-2.權限對文件的做用

r: 讀取文件內容(cat more  head tail)
w: 編輯、新增、修改文件內容(vi echo)
  -可是不包含刪除文件,由於文件名和文件數據存放位置不一樣
x: 可進入目錄
注意:
  對文件來說:最高權限是 x
  對目錄來說:最高權限是 w

  head:默認是查看文件的前10行
  tail:默認是查看文件的最後10行
    -n 指定查看多少行
  more:顯示滿一頁時暫停,按空格健繼續顯示下頁,或按Q中止顯示。ubuntu

(2).chown: 修改文件的全部者
格式:chown  用戶名  文件名

(3).chgrp:修改文件的所屬組
格式:chgrp  組名  文件名app

實例要求
  - 擁有一個test目錄
  - 讓testuser擁有全部的權限 
  - 讓用戶組有查看的權限
  - 其餘全部人不準查看這個目錄spa

 

[python] view plain copy.net

  1. # 擁有一個test目錄  
  2. changwen@ubuntu:~$ ll -d test  
  3. drwxrwxr-x 3 changwen changwen 4096 Jul 24 05:41 test/  
  4.   
  5. # 添加一個testuser用戶  
  6. changwen@ubuntu:~$ sudo useradd testuser  
  7.   
  8. # 設置該用戶的密碼  
  9. changwen@ubuntu:~$ sudo passwd testuser  
  10. Enter new UNIX password:   
  11. Retype new UNIX password:   
  12. passwd: password updated successfully  
  13.   
  14. # 在用戶組裏添加兩個用戶  
  15. changwen@ubuntu:~$ sudo useradd -g usergroup user1  
  16. changwen@ubuntu:~$ sudo useradd -g usergroup user2  
  17.   
  18. # 設置test目錄的全部者:所屬組  
  19. changwen@ubuntu:~$ sudo chown testuser:usergroup test  
  20.   
  21. changwen@ubuntu:~$ ll -d test  
  22. drwxrwxr-x 3 testuser usergroup 4096 Jul 24 05:41 test/  
  23.   
  24. # 按實例要求設置權限  
  25. changwen@ubuntu:~$ sudo chmod 750 test  
  26. changwen@ubuntu:~$ ll -d test  
  27. drwxr-x--- 3 testuser usergroup 4096 Jul 24 05:41 test/  

2、文件默認權限

(4).unmak: 查看默認權限
如0022
  - 第一位0: 文件特殊權限
  - 022 : 文件默認權限
臨時修改: umask 0002
永久修改: vi  /etc/profile

文件默認權限
  1).文件默認不能創建執行文件,必須手工賦予執行權限
  2).因此文件默認權限最大爲666
  3).默認權限須要換算成字母再相減
  4).創建文件以後的默認權限,爲666減去umask值
例如:
 - 文件默認最大權限是666, umask值爲022
 - -rw-rw-rw-  減去  -----w--w-  等於 -rw-r--r--

目錄的默認權限
  1).目錄默認權限最大爲777
  2).默認權限須要換算成字母再相減
  3).創建文件以後的默認權限,爲777減去umask值
例如:
 - 目錄默認權限最大爲777, umask值爲022  
 - -rwxrwxrwx  減去  -----w--w-  等於 -rwxr-xr-x3d

3、ACL簡介

    ACL就是用來解決用戶身份不足的問題

# 查看分區ACL權限是否開啓
(5).dupe2fs 命令是查詢指定分區詳細文件系統信息的命令
 dupe2fs -h /dev/sda51
   -h  僅顯示超級塊中信息,而不是磁盤塊的詳細信息

# 臨時開啓分區ACL權限
mount  -o  remount, acl  /
  - 從新掛載根分區,並掛載加入acl權限

# 永久開啓分區ACL權限(不建議修改)
vi  /etc/fstab
#加入acl
而後修改UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2  /  ext4  defalults  acl  1 1

# 從新掛載文件系統或重啓系統,使修改生效
mount  -o  remount  /blog

3-1查看與設定ACL權限

# 查看acl權限
getfacl  文件名

# 設定acl權限
setfacl  選項  文件名
  -m  設定ACL權限
  -x  刪除指定的ACL權限
  -b  刪除全部的ACL權限
  -d  設定默認ACL權限
  -k  刪除默認ACL權限
  -R  遞歸設定ACL權限繼承

 

[python] view plain copy遞歸

  1. changwen@ubuntu:~$ mkdir av  
  2.   
  3. # 增長全部者和用戶組,並設置av目錄的權限  
  4. changwen@ubuntu:~$ sudo useradd tony  
  5. changwen@ubuntu:~$ sudo groupadd stu  
  6. changwen@ubuntu:~$ sudo chown tony:stu av  
  7. # 設置av權限  
  8. changwen@ubuntu:~$ sudo chmod 770 av  
  9.   
  10. # 添加老王用戶並設置密碼  
  11. changwen@ubuntu:~$ sudo useradd lw  
  12. changwen@ubuntu:~$ sudo passwd lw  
  13. Enter new UNIX password:   
  14. Retype new UNIX password:   
  15. passwd: password updated successfully  
  16.   
  17. # 給用戶lw賦予r-x權限,使用 "u:用戶名:權限" 格式  
  18. changwen@ubuntu:~$ sudo setfacl -m u:lw:rx  /home/changwen/av  
  19.   
  20. # 爲用戶組tgroup2分配ACL權限。使用 "g:組名:權限" 格式  
  21. setfacl -m g:tgroupt2:rwx  /home/changwen/av  


能夠看到用戶lw不屬於用戶組,也不屬於其它組,這就是ACL權限ip

 

3-二、最大有效權限與刪除

上面getfacl av能夠看到有一個mask
mask:是用來指定最大有效權限的。若是我給用戶賦予ACL權限,是須要和mask的權限」相與」才能獲得用戶的真正權限。

# 修改最大有效權限
setfacl -m m:rx 文件名
 - 設定mask權限爲r-x。使用"m:權限"格式

刪除ACL權限
# 刪除指定用戶的ACL權限
setfacl -x u:用戶名  文件名

# 刪除指用戶組的ACL權限
setfacl  -x g:組名  文件名

# 刪除文件的全部的ACL權限
setfacl -b 文件名

3-三、默認ACL權限與遞歸ACL權限

   1).遞歸是父目錄在設定ACL權限時,全部的子文件和子目錄也會擁有相同的ACL權限。遞歸權限僅能賦予目錄,不能賦予文件。
setfacl -m u:用戶名:權限 -R  文件名
  -R 若是不加R,那麼該目錄下建立的文件沒有ACL權限
     但加R,會有權限溢出
因此建議少用ACL權限

   2).默認ACL權限的做用是若是給們目錄設定了默認ACL權限,那麼父目錄中全部新建的子文件都會繼承父目錄的ACL權限。 setfacl -m d:u:用戶名:權限  文件名

相關文章
相關標籤/搜索