用戶和組及權限(ACL)

一、USERS

UID為0的用戶為管理員用戶祭往,任何一個UID為0的用戶,都可為管理員用戶
若系統(tǒng)沒有了UID=0的管理員用戶火窒,則系統(tǒng)無法啟動
用戶ID:

管理員:root硼补,UID為0
系統(tǒng)用戶:UID為1-499,1-999,對守護進程獲取資源進行權限分配
普通用戶:UID為500-65535,1000-65535熏矿,交互式登錄
創(chuàng)建用戶時指定UID時已骇,可指定UID>65535的UID,即UID可指定為70000

組(group)GID

管理員組:root GID為0
系統(tǒng)組:1-499,1-999(CENTOS7)
普通組:500-65535,1000-65535

liunx中曲掰,允許用戶名和組名相同,windows中不允許用戶和組同名

  • linux安全上下文:
    運行中的程序即進程奈辰,進程所能夠訪問資源的權限取決于進程的運行者的身份
  • linux組的類別:

用戶的主要組:
用戶必須屬于一個且只有一個主組
組名同用戶名栏妖,且僅包含一個用戶
用戶的附加組:
一個用戶可以屬于零個或多個輔助組

  • passwd文件格式:

login name:登錄用名(danran)
passwd:密碼位(X)
UID:用戶身份編碼(1000)
GID:登錄默認所在組編號(1000)
GECOS:用戶全名或注釋即描述
home directory:用戶主目錄(/home/danran)
shell:用戶默認使用shell(/bin/bash)

  • passwd配置文件格式描述:

name:passwd:UID:GID:GECOS:directory:shell

修改用戶的屬性信息也可直接修改/etc/passwd配置文件
如果刪除用戶的家目錄,則在登錄時會自動登錄到/目錄上奖恰,但不會禁止登錄

  • shadow文件格式

1吊趾、登錄用名
2、用戶密碼: 一般用sha512 加密瑟啃,$6位sha512算法论泛,$5位sha256算法,$1為md5加密
3蛹屿、從1970 年1 月1 日起到密碼最近一次被更改的時間屁奏,單位day
4、密碼再過幾天可以被變更(0 表示隨時可被變更)
5错负、密碼再過幾天必須被變更(99999 表示永不過期)
6坟瓢、密碼過期前幾天系統(tǒng)提醒用戶(默認為一周)
7、密碼過期幾天后帳號會被鎖定
8犹撒、從1970 年1 月1日算起折联,多少天賬號失效

  • !禁止用戶登錄

鎖定用戶時识颊,禁止用戶登錄和切換诚镰,但root用戶不受限制可以正常切換,空口令可以登錄

  • 密碼加密:

加密機制:

加密:明文--> 密文
解密:密文--> 明文

單向加密:哈希算法(散列算法)祥款,原文不同清笨,密文必不同,密碼數據一致刃跛,加密過后的結果也是一樣的
哈希算法的特點:如果兩個密碼的數據一樣函筋,則加密處理后的結果也是一樣的,因此用戶密碼在加密時又因為前面又加了一些隨機的隨機數奠伪,即加密過后第2個和第三個$$之間的數跌帐,因此口令跟隨機數綜合起來的結果也就不一致首懈。加的隨機數稱之為salt(鹽)

如果知道確定的salt隨機數,則使用openssl命令推算密碼口令谨敛,相同的算法及相同的密碼究履,算出來的加密口令不一致,但是指定salt數據脸狸,則推算出來的md5數據則是完全一致的

相同算法定長輸出最仑,獲得密文不可逆推出原始數據
雪崩效應:初始條件的微小改變,引起結果的巨大改變
md5: message digest, 128bits
sha1: secure hash algorithm, 160bits
sha224: 224bits
sha256: 256bits
sha384: 384bits $5
sha512: 512bits $6

centos6加密算法為sha512炊甲,shadow文件中表示為$6,$1對應的加密算法是md5

  • man authconfig | grep passwd 可查找支持更新的加密算法
    更改定義加密算法 authconfig --passalgo=sha256 -- update

  • 加密算法保存文件為 ==/etc/login.defs==

  • 口令有效期策略:


  • 密碼復雜性策略

使用數字泥彤、大寫字母、小寫字母及特殊字符中至少3種
足夠長
使用隨機密碼
定期更換, 不要使用最近曾經使用過的密碼

  • group文件格式

群組名稱:就是群組名稱
群組密碼:通常不需要設定卿啡,密碼是被記錄在/etc/gshadow
GID的 :就是群組的 ID
以當前組為附加組的用戶列表( 分隔符為逗號)

  • gshadow文件格式

群組名稱:就是群組名稱
群組密碼:
組管理員列表:組管理員的列表吟吝,更改組密碼和成員
以當前組為附加組的用戶列表:(分隔符為逗號)

  • 新建用戶的相關配置文件模板和命令

vim /etc/default/useradd
/etc/skel/* 存放用戶系統(tǒng)環(huán)境
/etc/login.defs 加密算法保存文件
newusers passwd 格式文件 批量創(chuàng)建用戶
chpasswd 批量修改用戶口令

  • 用戶和組的配置文件

/etc/passwd:用戶及其屬性信息(名稱、UID颈娜、主組ID等)
/etc/grup:組及其屬性信息
/etc/shadow:用戶密碼及其相關屬性
/etc/gshadow:組密碼及其相關屬性
/var/spool/mail:用戶的郵件目錄

  • 加密算法保存文件為 ==/etc/login.defs==

  • 命令:

    pwunconv:將用戶密碼從shadow文件中顯示在passwd文件中剑逃,即取消密碼映射,則/etc/shadow文件將自動消失
    pwconv:打開用戶投影密碼官辽,將密碼映射到/etc/shadow文件
    chfn 修改用戶的描述信息
    finger:查看用戶的描述信息(需安裝finger*軟件包)
    chfn danrna 修改danran用戶描述信息
    finger danran 查看danran用戶的描述信息
    chsh -s /bin/csh danran 修改danran用戶的shell類型

  • 用戶和組管理命令

用戶管理命令
useradd
usermod
userdel
組帳號維護命令
groupadd
groupmod
groupdel

  • 用戶創(chuàng)建useadd

      useradd [options] LOGIN     
          -u  UID :  [UID_MIN, UID_MAX] 定義在/etc/login.defs   
          -o  配合-u  選項蛹磺,不檢查UID 的唯一性,可使用重復的uid號   
          -g GID :指明用戶所屬基本組同仆,可為組名萤捆,也可以GID   
          -c  "COMMENT" :用戶的注釋信息   
          -d  HOME_DIR: 以指定的路徑( 不存在) 為家目錄   
          -s  SHELL :  指明用戶的默認shell 程序,可用列表在/etc/shells文件中   
          -G  GROUP1[,GROUP2,...] :為用戶指明附加組俗批,組須事先存在   
          -N  不創(chuàng)建私用組做主組鳖轰,使用users 組做主組   
          -m:創(chuàng)建家目錄   
          -M:不創(chuàng)建家目錄   
          -r: 創(chuàng)建系統(tǒng)用戶 CentOS 6: ID<500 ,CentOS 7: ID<1000   
              系統(tǒng)用戶不自動創(chuàng)建家目錄扶镀,也不會創(chuàng)建郵件目錄蕴侣,shell環(huán)境不一定
    

新建用戶的默認值設定:/etc/default/useradd 文件中

顯示或更改默認設置:
useradd -D
useradd –D -s SHELL
useradd –D –b BASE_DIR,更改默認家目錄位置eg /app
useradd –D –g GROUP

  • 用戶屬性修改:

      usermod [OPTION] login
          -u UID:  新UID
          -g GID: 新主 組
          -G GROUP1[,GROUP2,...[,GROUPN]]] :新附加組臭觉,原來的附加組將會被覆蓋昆雀;若保留原有,則要同時使用 -a 選項
          -a:附加不覆蓋原來的組
          -s SHELL :新的默認SHELL
          -c 'COMMENT' :新的注釋信息
          -d HOME:  新家目錄不會自動創(chuàng)建蝠筑;若要創(chuàng)建新家目錄并移動原家數據狞膘,同時使用-m 選項
          -l login_name:  新的名字   eg usermod -l newtom tom
          -L: lock 指定用戶, 在/etc/shadow 加密碼欄的增加 !
          -U: unlock 指定用戶,將 將 /etc/shadow 的 密碼欄的 !  拿掉
          -e YYYY-MM-DD:  指明用戶賬號過期日期
          -f INACTIVE:  設定非活動期限
    
  • 查看用戶的相關id信息

      id [OPTION]... [USER]
          -u:  顯示UID
          -g:  顯示GID
          -G:  顯示用戶所屬的組的ID
          -n:  顯示名稱,需配合ugG 使用
    
  • 創(chuàng)建組

      groupadd [OPTION]... group_name
          -g GID:  指明GID 號什乙;[GID_MIN, GID_MAX]
          -r:  創(chuàng)建系統(tǒng)組
              CentOS 6: ID<500
              CentOS 7: ID<1000
    
  • 修改和刪除組

組屬性修改:groupmod

groupmod [OPTION]... group

-n group_name: 新名字
-g GID: 新的GID
組刪除:groupdel
groupdel GROUP

刪除附加組

usermod -G "" tom 刪除tom的附加組
gpasswd -d tom bin 將tom從bin附加組刪除

  • 更改組密碼:
    組密碼:gpasswd

      gpasswd [OPTION] GROUP    
          -a user:  將user 添加至指定組中   
          -d user:  從指定組中移除用戶user   
          -A user1,user2,...:  設置有管理權限的用戶列表   
    
  • newgrp 命令:臨時切換主組

如果用戶本不屬于此組挽封,則需要組密碼
newgrp danran 將自己的主組臨時變?yōu)閐anran

  • 更改和查看組成員

      groupmems [options] [action]    
      options:
          -g, --group groupname 更改為指定組 ( 只有root)
      Actions:   
          -a, --add username 指定用戶加入組   
          -d, --delete username 從組中刪除用戶   
          -p, --purge 從組中清除所有成員
          -l, --list 顯示組成員列表
    

groups [OPTION].[USERNAME]... 查看用戶所屬組列表


  • su切換用戶

切換用戶的方式:

su UserName :非登錄式切換,即不會讀取目標用戶的配置文件臣镣,不改變當前工作目錄
su - UserName :登錄式切換辅愿,會讀取目標用戶的配置文件智亮,切換至家目錄,完全切換

root su 至其他用戶無須密碼点待;非root 用戶切換時需要密碼

換個身份執(zhí)行命令:

su [-] UserName -c 'COMMAND'

su - root 'cat /etc/shadow' 以root的身份執(zhí)行cat命令

選項:-l --login

su -l UserName 于 相當于 su - UserName

  • 刪除用戶

userdel [OPTION]... login

-r: 刪除用戶 家目錄

  • 設置密碼

passwd [OPTIONS] UserName: 修改指定用戶的密碼阔蛉,僅root 用戶權限
passwd: 修改自己的密碼

常用選項:     
    -l: 鎖定指定用戶   
    -u: 解鎖指定用戶
    -e: 強制用戶下次登錄修改密碼   
    -n mindays:  指定最短使用期限   
    -x maxdays :最大使用期限   
    -w warndays :提前多少天開始警告   
    -i inactivedays :非活動期限   
    --stdin :從標準輸入接收用戶密碼   

echo " PASSWORD " | passwd --stdin USERNAME

  • 修改用戶密碼策略
chage [OPTION]... LOGIN
    -d:最近一次修改時間
    -E:過期時間
    -I:非活動時間
    -m:最短使用期限
    -M:最長使用期限
    -W:警告時間
    –l 顯示密碼策略
        chage -l danran 列出用戶口令策略的相關信息

示例:

chage -d 0 tom 下一次登錄強制重設密碼
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom

  • change:更改賬號口令策略
  • getent:查看文件的記錄信息,只查看文件中某個用戶的全部信息

getent passwd danran 查看passwd文件中danran用戶的信息


  • 將用戶添加進組

Gpasswd +組名 修改組密碼
Newgrp +用戶 把該用戶添加進組

gpasswd -a dan danran 將danran用戶添加進dan組里

  • 修改用戶和組命令使用
useradd 創(chuàng)建用戶  eg  useradd danran(創(chuàng)建淡然用戶)
groupadd 創(chuàng)建組
Userdel 刪除用戶
Groupdel 刪除組
Passwd 修改用戶密碼
ghpasswd 批量修改用戶口令
Gpasswd 修改組密碼
Finger 用來簡單的查看系統(tǒng)上的用戶信息   eg finger rich
Useradd -c 描述信息 -d 指定家目錄 -g 指定私有組 -G指定附加組 -s 指定shell環(huán)境    
    eg useradd -c       boss -d /user -u 1000 -G root -s /bin/bash
    -m:創(chuàng)建用戶時癞埠,強制給用戶創(chuàng)建目錄
    -M:創(chuàng)建用戶時状原,但不創(chuàng)建家目錄
    -D:default,為useradd命令創(chuàng)建的用戶指定新的默認值
Useradd -r 增加系統(tǒng)用戶
Useradd -D 查看系統(tǒng)默認用戶屬性
Useradd -D -s /bin/tsch 修改系統(tǒng)默認用戶的登錄屬性
Usermod 修改用戶屬性苗踪,參數同useradd一樣颠区,-
    -G GID:默認會覆蓋原有的附加組,如果是添加通铲,則同時使用-a選項
    -d /path/to/new_home:默認不會遷移用戶的家目錄毕莱,如果要遷移,則同時使用-m
    -l New_login_name:修改登錄名稱
Usermod -l 修改用戶賬號的登錄名
Usermod -p 修改用戶密碼
usermod -s /bin/csh danran  修改用戶的默認shell    
chsh -s /bin/bash danran   修改用戶的默認shell   
Groupmod -g 修改GID   eg groupmod -g 2000 test
Groupmod -n 修改組名   eg groupmod -g test1 test
Passwd -e 強制用戶下次登錄時修改密碼
Passwd -l 鎖定用戶
Passwd -u 解鎖用戶
    鎖定用戶時测暗,禁止用戶登錄和切換央串,但root用戶不受限制可以正常切換 
Passwd -d 刪除用戶密碼
Userdel 刪除用戶及passwd磨澡、shadow碗啄、group、gshadow四個文件稳摄,保留用戶名文件和電子郵件
Userdel -r 刪除用戶和用戶的所有文件稚字,包括用戶名文件和電子郵件
groupmems -g danran -l   查看danran組里的其他成員,即顯示以danran為附加組的用戶
groupmems -g danran -d harry   將harry組從danran附加組里刪除
gpasswd -d harry danran    從danran附加組中刪除harry組
groups danran   列出danran用戶的主組  
gpasswd danran  修改danran組的密碼    
newgrp danran  將自己的主組臨時變?yōu)閐anran    
    如果用戶本身就屬于danran附加組的成員厦酬,并shadow文件中記錄了屬于danran附加組胆描,則不需要輸入密碼就可直接更換臨時主組,但如果不屬于附加組仗阅,則切換為danran主組需要輸入danran組的密碼    
gpasswd -a dan danran    將dan用戶添加進danran組里      
    成員更改組成員關系后昌讲,用戶必須重新登錄才能獲得最近更改的組成員關系

Chsh:修改用戶默認shell
Chfn:修改注釋信息
vipw:vim 編輯passwd文件
vigr:vim 編輯group文件
pwck:語法檢查,檢查用戶文件格式
grpck:語法檢查减噪,檢查組文件格式
newusers passwd     根據passwd格式文件批量創(chuàng)建用戶

二短绸、文件權限

  • 文件權限
r(readable) w(writable) x(eXcuable) u(owner) g(group) o(other) a(all)
執(zhí)行 所有者 所屬組 其他人 所有人
4 2 1

用戶訪問文件,按照匹配順序依次匹配筹裕,如果普通用戶文件的所有者和所屬組其中一個有執(zhí)行權限醋闭,-o沒有-x權限,盡管root用戶不屬于該文件所有者和所有組,root用戶依然可以借用-X執(zhí)行權限

  • 刪除文件,跟文件本身的權限沒有關系诸老,而跟目錄本身有關系拒迅,因為文件名存儲在父目錄結構塊中寓调,
  • 目錄權限:

目錄若只有讀寫權限哆料,只能查看目錄文件列表袖裕,不能訪問文件和cd進目錄(查看躺率,刪除)洞拨,如果只有執(zhí)行權限扯罐,可以cd進目錄,但是不能ls列出文件列表烦衣,可以執(zhí)行目錄中的文件歹河,執(zhí)行是基礎權限,若知道文件名花吟,可以直接訪問目錄中的文件秸歧;寫權限,需配合x權限才能生效衅澈,如果要刪除目錄下的文件键菱,目錄必須要有執(zhí)行權限和寫權限

文件:
    r:  可使用文件查看類工具獲取其內容
    w:  可修改其內容
    x:  可以把此文件提請內核啟動為一個進程
目錄:
    r:  可以使用ls 查看此目錄中文件列表
    w:  可在此目錄中創(chuàng)建文件,也可刪除此目錄中的文件
    x:  可以使用ls -l 查看此目錄中文件列表今布,可以cd 進入此目錄
    X:遞歸修改目錄執(zhí)行權限時经备,只給所有的目錄x 權限,而不給文件x執(zhí)行權限部默,但是如果文件中有任何一個人有執(zhí)行權限侵蒙,則文件將會全部加上執(zhí)行權限  
  • chmod 修改文件權限
chmod [OPTION]... OCTAL-MODE FILE...
    -R:  遞歸修改權限
chmod [OPTION]... MODE[,MODE]... FILE...
    MODE: 
        修改一類用戶的所有權限:
        u= g= o= ug= a= u=,g=
    修改一類用戶某位或某些位權限
        u+ u- g+ g- o+ o- a+ a- + -

chmod [OPTION]... --reference=RFILE FILE...  參考RFILE 文件的權限,將FILE 的修改為同RFILE

權限設置eg:

chgrp sales testfile
chown root:admins testfile
chmod u+wx,g-r,o=rx file
chmod -R g+rwX /testdir
chmod 600 file
chown mage testfile

若用戶沒有任何權限傅蹂,則設置權限為空纷闺,賦值權限也可直接賦八進制數字

  • 八進制權限:
000 001 010 011 100 101 110 111
--- --x -w- -wx r-- r-x rw- rwx
0 1 2 3 4 5 6 7
640:rw- r-- --- 755:rwx r-x r-x 7:--- --- rwx 0:--- --- ---
  • 文件屬性操作
    chown  設置文件的所有者   
chgrp  設置文件的屬組信息   

修改文件的屬組和屬主

修改文件的屬主:chown

chown [OPTION]... [OWNER][:[GROUP]] FILE...
    用法:
        命令中的冒號可用. 替換
        -R:  遞歸
        chown [OPTION]... --reference=RFILE FILE...
            eg:chown -R danran:danran qq
                chown -R danran.danran qq

修改文件的屬組:chgrp

chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
    -R  遞歸

用戶屬于某個附加組時,才能修改文件的屬組為這個附加組
  • 新建文件或目錄的默認權限

umask掩碼:從777或666中份蝴,將文件對應的權限位去掉犁功,從而得出默認權限
umask值:可以用來保留在創(chuàng)建文件權限
新建FILE 權限: 666-umask

如果所得結果某位存在執(zhí)行(奇數)權限,則將其權限+1

  • umask值計算權限

新建DIR 權限: 777-umask
非特權用戶umask是002

root 的umask是022
umask: 查看umask值
umask #: 設定umask值

umask 002

umask –S 模式方式顯示


umask –p 輸出可被調用

  • umask全局設置: /etc/bashrc umask用戶設置:~/.bashrc

三婚夫、文件系統(tǒng)的特殊權限

  • Suid 和 guid 的特殊權限及sticky位

Suid 當在一個二進制文件上應用了suid后浸卦,那么任何人在執(zhí)行該命令時臨時擁有命令擁有人的權限,只能應 用在可執(zhí)行文件上
u+s

sgid 當在一個二進制文件上應用了sgid后案糙,那么任何人在執(zhí)行該命令時臨時擁有命令擁有組的權限限嫌,只能應用在可執(zhí)行文件上,如果在一個目錄上應用了sgid后侍筛,那么任何人在該目錄創(chuàng)建文件/目錄的擁有組會繼承目錄本身的組
g+s

Sticky 如果在一個目錄上應用了sticky權限后萤皂,那么該目錄中的文件僅文件擁有人和root用戶能刪除
o+t

  • SUID, SGID, Sticky

三種常用權限:r, w, x user, group, other
安全上下文
前提:進程有屬主和屬組;文件有屬主和屬組

(1) 任何一個可執(zhí)行程序文件能不能啟動為進程, 取決發(fā)起者對程序文件是否擁有執(zhí)行權限
(2) 啟動為進程之后匣椰,其進程的屬主為發(fā)起者, 進程的屬組為發(fā)起者所屬的組
(3) 進程訪問文件時的權限裆熙,取決于進程的發(fā)起者

(a) 進程的發(fā)起者,同文件的屬主:則應用文件屬主權限
(b) 進程的發(fā)起者,屬于文件屬組入录;則應用文件屬組權限
(c) 應用文件‘其他’權限

  • 可執(zhí)行文件上的SUID權限

任何一個可執(zhí)行程序文件能不能啟動為進程:取決發(fā)起者對程序文件是否擁有執(zhí)行權限

啟動為進程之后蛤奥,其進程的屬主為原程序文件的屬主
SUID 只對二進制可執(zhí)行程序有效;SUID 設置在目錄上無意義
權限設定:

chmod u+s FILE...
chmod u-s FILE...

  • 可執(zhí)行文件上的SGID權限

任何一個可執(zhí)行程序文件能不能啟動為進程:取決發(fā)起者對程序文件是否擁有執(zhí)行權限

啟動為進程之后僚稿,其進程的屬主為原程序文件的屬主
權限設定:

chmod g+s FILE...
chmod g-s FILE...

  • 目錄上的SGID權限

默認情況下凡桥,用戶創(chuàng)建文件時,其屬組為此用戶所屬的主組
一旦某目錄被設定了SGID 蚀同,則對此目錄有寫權限的用戶在此目錄中創(chuàng)建的文件所屬的組為此目錄的屬組
通常用于創(chuàng)建一個協(xié)作目錄

權限設定:

chmod g+s DIR...
chmod g-s DIR...

  • Sticky位

具有寫權限的目錄通常用戶可以刪除該目錄中的任何文件缅刽,不管該文件的權限或擁有權
在目錄設置Sticky 位,只有文件的所有者或root可以刪除該文件
sticky設置在文件上無意義

權限設定:

chmod o+t DIR...
chmod o-t DIR...

  • 權限位
SUID:4 SGID:2 STICKY:1
  • 權限位映射:

SUID: user, 占據屬主的執(zhí)行權限位

s:屬主擁有x權限
S:屬主沒有x權限

SGID: group, 占據屬組的執(zhí)行權限位

s: group擁有x權限
S: group沒有x權限

Sticky: other, 占據other 的執(zhí)行權限位

t: other 擁有x 權限
T:other 沒有x 權限
  • 設定文件的特殊屬性

chattr +i 不能刪除蠢络,改名衰猛,更改
chattr +a 只能追加內容
lsattr 顯示特定屬性

四、ACL權限

ACL訪問控制列表:Access Control List 刹孔,實現靈活的權限管理
除了文件的所有者啡省,所屬組和其它人,可以對更多的用戶設置權限
CentOS7 默認創(chuàng)建的xfs 和ext4 文件系統(tǒng)具有ACL功能
CentOS7 之前版本髓霞,默認手工創(chuàng)建的ext4 文件系統(tǒng)無ACL功能, 需手動增加

tune2fs –o acl /dev/sdb1
mount –o acl /dev/sdb1 /mnt/test

  • ACL 生效順序:所有者卦睹,自定義用戶,自定義組方库,其他

getfacl 查看文件的acl屬性
setfacl設置文件的acl屬性

-m:創(chuàng)建cal
    u:用戶
    g:組
    o:其他人
-x:刪除acl權限  
-b:清除所有的acl設置
-m:設置mask的值
-b,--remove-all:刪除所有擴展的acl規(guī)則结序,基本的acl規(guī)則(所有者,群組薪捍,其他)將被保留笼痹。
-k,--remove-default:刪除缺省的acl規(guī)則配喳。如果沒有缺省規(guī)則酪穿,將不提示。
-n晴裹,--no-mask:不要重新計算有效權限被济。setfacl默認會重新計算ACL mask,除非mask被明確的制定涧团。 
--mask:重新計算有效權限只磷,即使ACL mask被明確指定。
-d泌绣,--default:設定默認的acl規(guī)則钮追。 
--restore=file:從文件恢復備份的acl規(guī)則(這些文件可由getfacl -R產生)。通過這種機制可以恢復整個目錄樹的acl規(guī)則阿迈。此參數不能和除--test以外的任何參數一同執(zhí)行元媚。
--test:測試模式,不會改變任何文件的acl規(guī)則,操作后的acl規(guī)格將被列出刊棕。
-R炭晒,--recursive:遞歸的對所有文件及目錄進行操作。 
-L甥角,--logical:跟蹤符號鏈接网严,默認情況下只跟蹤符號鏈接文件,跳過符號鏈接目錄嗤无。
-P震束,--physical:跳過所有符號鏈接,包括符號鏈接文件当犯。 
--version:輸出setfacl的版本號并退出驴一。

setfacl -x u:wang file |directory 刪除wang用戶的acl權限,刪除不干凈
setfacl -k dir 刪除默認ACL權限
setfacl –b file1 清除所有ACL權限
getfacl file1 | setfacl --set-file=- file2 復制file1的acl 權限給file2


setfacl -m u:danran:rwx passwd 對passwd文件添加danran用戶rwx權限灶壶,

  • 用戶或組的設置必須存在于mask權限設定范圍內才會生效

setfacl -m mask::rx file

--set 選項會把原有的ACL 項都刪除肝断,用新的替代,需要注意的是一定要包含UGO 的設置驰凛,不能象-m 一樣只是添加ACL就可以
示例:

setfacl --set u::rw,u:wang:rw,g::r,o::- file1

為多用戶或者組的文件和目錄賦予訪問權限rwx

? mount -o acl /directory
? getfacl file |directory
? setfacl -m u:wang:rwx file|directory
? setfacl -Rm g:sales:rwX directory
? setfacl -M file.acl file|directory 利用編輯好的acl設置文件批量設置acl


? setfacl -m g:salesgroup:rw file| directory 創(chuàng)建某組的acl權限
? setfacl -m d:u:wang:rx directory 對目錄創(chuàng)建默認的acl權限胸懈,會作為目錄下新建文件的默認權限

? setfacl -x u:wang file |directory 刪除wang用戶的acl權限,刪除不干凈
? setfacl -X file.acl directory 根據acl權限文件批量刪除acl權限

  • 備份和恢復ACL

主要的文件操作命令cp和mv都支持ACL,只是cp 命令需要加上-p參數恰响。但是tar 等常見的備份工具是不會保留目錄和文件的ACL信息

getfacl -R /tmp/dir1 > acl.txt 將tmp/dir1目錄下所有文件的權限導入到act.txt文件中保存
setfacl -R -b /tmp/dir1 刪除/tmp/dir1目錄下所有文件的權限
setfacl -R --set-file=acl.txt /tmp/dir1 根據act.txt文件中記錄的acl權限還原/tmp/dir1目錄下所有文件的acl權限

setfacl --set u::rw,u:wang:rw,g::r,o::- file1

>為多用戶或者組的文件和目錄賦予訪問權限rwx
>>? mount -o acl /directory
? getfacl file |directory
? setfacl -m u:wang:rwx file|directory
? setfacl -Rm g:sales:rwX directory
? setfacl -M file.acl file|directory 利用編輯好的acl設置文件批量設置acl


? setfacl -m g:salesgroup:rw file| directory 創(chuàng)建某組的acl權限
? setfacl -m d:u:wang:rx directory 對目錄創(chuàng)建默認的acl權限趣钱,會作為目錄下新建文件的默認權限

? setfacl -x u:wang file |directory 刪除wang用戶的acl權限,刪除不干凈
? setfacl -X file.acl directory 根據acl權限文件批量刪除acl權限


- 備份和恢復ACL
>主要的文件操作命令cp和mv都支持ACL,只是cp 命令需要加上-p參數胚宦。但是tar 等常見的備份工具是不會保留目錄和文件的ACL信息
>>getfacl -R /tmp/dir1 > acl.txt 將tmp/dir1目錄下所有文件的權限導入到act.txt文件中保存
setfacl -R -b /tmp/dir1 刪除/tmp/dir1目錄下所有文件的權限
setfacl -R --set-file=acl.txt /tmp/dir1 根據act.txt文件中記錄的acl權限還原/tmp/dir1目錄下所有文件的acl權限
setfacl --restore acl.txt 根據act.txt文件中記錄的acl權限還原當前目錄下所有文件的acl權限
getfacl -R /tmp/dir1 查看當前目錄下所有文件的ACL權限

  • ACL小結

ACL 文件上的group權限是mask值(自定義用戶首有,自定義組,擁有組的最大權限), 而非傳統(tǒng)的組權限
getfacl 可看到特殊權限:flags
通過ACL 賦予目錄默認x 權限 枢劝, 目錄內文件也不會繼承x權限
base ACL 不能刪除井联,即默認的權限
mask 只影響除所有者和other 的之外的人和組的最大權限
Mask 需要與用戶的權限進行邏輯與運算后,才能變成有限的權限(Effective Permission)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末您旁,一起剝皮案震驚了整個濱河市烙常,隨后出現的幾起案子,更是在濱河造成了極大的恐慌鹤盒,老刑警劉巖蚕脏,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異侦锯,居然都是意外死亡驼鞭,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門尺碰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挣棕,“玉大人汇竭,你說我怎么就攤上這事⊙ㄕ牛” “怎么了细燎?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長皂甘。 經常有香客問我玻驻,道長,這世上最難降的妖魔是什么偿枕? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任璧瞬,我火速辦了婚禮,結果婚禮上渐夸,老公的妹妹穿的比我還像新娘嗤锉。我一直安慰自己,他們只是感情好墓塌,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布瘟忱。 她就那樣靜靜地躺著,像睡著了一般苫幢。 火紅的嫁衣襯著肌膚如雪访诱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天韩肝,我揣著相機與錄音触菜,去河邊找鬼。 笑死哀峻,一個胖子當著我的面吹牛涡相,可吹牛的內容都是我干的。 我是一名探鬼主播剩蟀,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼催蝗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了喻旷?” 一聲冷哼從身側響起生逸,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤牢屋,失蹤者是張志新(化名)和其女友劉穎且预,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體烙无,經...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡锋谐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了截酷。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涮拗。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出三热,到底是詐尸還是另有隱情鼓择,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布就漾,位于F島的核電站呐能,受9級特大地震影響,放射性物質發(fā)生泄漏抑堡。R本人自食惡果不足惜摆出,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望首妖。 院中可真熱鬧偎漫,春花似錦、人聲如沸有缆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棚壁。三九已至通危,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灌曙,已是汗流浹背菊碟。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留在刺,地道東北人逆害。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像蚣驼,于是被迫代替她去往敵國和親魄幕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內容