linux 用戶組權限管理

 

權限管理作爲在學linux的人來說,覺得無所爲事。如何來保障個人的隱私以及個人工作環境,你學完這個之後你就覺得權限是多麼多麼的重要。



#ls -l 1.sh

- rw-r--r-- 1 root root 0 Sep 12 19:36 1.sh

第1列

第1字符:代表文件類型

- 普通文件

f 普通文件

d 目錄

b 設備文件

l 鏈接文件

c 串行端口設備

s scocket 文件

第2-10字符:文件的普通權限

r -讀權限      數字表示:4     u 文件的擁有者

w -可寫權限  數字標識:2     g  文件屬組

x-可執行權限  數字標識:1    o  文件的其他人權限


第2列:代表文件的子目錄個數或者鏈接文件的個數

第3列:文件的屬主

第4列:文件的屬組

第5列:文件的大小(單位默認字節)

第6~8列:文件的日期時間(修改時間或創建時間)

第九列:文件


默認情況下

root用戶文件的權限是644,創建目錄權限是755

普通用戶:默認情況下,創建文件的權限是664,創建目錄的權限是775


文件和目錄的權限都是通過 umask 值決定的 ,默認的爲umask=022

修改默認權限:      
        1、臨時修改(只在當前終端生效)
             #umask  0002
     
        2、永久修改(針對所有用戶 | 針對某個用戶)
                針對user01用戶:    
                             vim ~/.bashrc
                          # .bashrc

                          # Source global definitions
                           if [ -f /etc/bashrc ]; then
                              . /etc/bashrc
                            fi
                           umask 0033     放在最後

                           # source ~/.bashrc

                           0033  
                           0666-0033=0633 0644
                           0777-0033=0744


                針對所有用戶:
                            #  vim /etc/bashrc
                              ...
                              umask 0014

                            # source /etc/bashrc

                              0014
                              0666-0014=0652 0662
                              0777-0014=0763


特殊權限 (冒險位)"S"”

一般針對的命令,臨時擁有文件的擁有者權限。

# chmod u+s /bin/rm   用戶加"s"權限 | g+s 組“s”權限 | o+s 其他人權限 

ll /bin/rm
-rwsr-xr-x. 1 root root 57440 Oct 17  2013 /bin/rm

# su - 用戶名

# rm 文件名 (可以刪除了)


粘制位:(stick bit )

 一般針對的是公共目錄,只有root和文件的擁有者可以刪除文件,其他任何人不能刪除其他人的文件。只能自己管理自己

ACL 訪問策略

setfacl:設置文件的acl策略
-R:遞歸授權,對於目錄下已存在的目錄或者文件有acl策略。但是該目錄下新創建的文件沒有acl策略
-d:默認acl策略,針對目錄;該目錄下新建的文件或者目錄會繼承acl策略,老的文件不繼承
-m:修改設置acl策略
-x:刪掉某個用戶的acl策略
-b:刪除所有的acl策略
mask:定義除了other和owner以外的最大權限

  #setfacl  -m u:user01:rw   file1 ——>給單個用戶ACL  策略權限
[root@vm01 test]# setfacl -m u:user01:rw file1
                           [root@vm01 test]# getfacl file1
                           # file: file1
                           # owner: root
                           # group: root
                            user::rw-
                            user:user01:rw-
                            group::rw-
                            mask::rw-
                            other::r--
 
       
  #setfacl  -m m::r   file1       ——>設置最大權限,最大權限只有 r   
  [root@vm01 test]# setfacl -m m::r file1
  [root@vm01 test]# getfacl file1
 # file: file1
 # owner: root
 # group: root
   user::rw-
   user:user01:rw-		#effective:r--
   user:user03:r-x			#effective:r--
   group::rw-			#effective:r--
   group:admin:rw-			#effective:r--
   mask::r--
   other::r--
    
  
       
#setfacl   -x  u:user01  file1      ——> 刪除 user01 對文件 file1 的   ACL 策略權限
#setfacl   -x  g:admin   file1     ——>刪除組 admin  對文件 file1 的  ACL 策略權限
#setfacl   -x  m  file1    ——>刪除文件的最大權限
#setfacl  -b    file1    ——> 移除所有的 ACL 策略權限 
       
       
   -R  :老的文件和目錄會繼承 ACL 策略
   
                  [root@vm01 test]# setfacl -R -m u:user01:rwx dir1
                  [root@vm01 test]# getfacl dir1
                   # file: dir1
                   # owner: root
                   # group: root
                   user::rwx
                   user:user01:rwx
                   group::r-x
                   mask::rwx
                   other::r
      -d  : 新創建的文件或者目錄會繼承 ACL 策略   
       
            [root@vm01 test]# setfacl -d -m g:admin:rwx dir2
            [root@vm01 test]# getfacl dir2
            # file: dir2
            # owner: root
            # group: root
            user::rwx
            group::r-x
            other::r-x
            default:user::rwx
            default:group::r-x
            default:group:admin:rwx
            default:mask::rwx
            default:other::r-x

測試結果:
  # id user02
  uid=501(user02) gid=501(user02) groups=501(user02),502(admin)
  user02用戶不可以在該目錄下創建任何文件,但是在新建的目錄下可以創建文件
  setfacl -m g:admin:rwx dir2

       
   -Rd  一起使用:    # setfacl -Rd -m u:user02:rwx dir1/
   
 1、老的目錄可以繼承 ACL 策略,但是不能再該目錄下創建文件; 文件不會繼承 ACL 策略
 2、新建的目錄和文件都會繼承ACL策略,並且可以創建文件


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