權限:用於指定用戶對目錄或者文件的適用範圍。root權限最大,可以做任何事,一般企業生產環境中基本不用root來操作,只有在必要時才使用。
一.用戶權限下放(sudo)
普通用戶對系統文件沒有寫入和執行權限,對目錄沒有寫入的權限,所以在必要時候需要將系統管理員的權限下放給普通用戶,使其對系統有特定的管理權限,以便於更好的維護系統文件。
(1).權限下放動作的配置文件 :/etc/sudoers,用visudo命令編輯
文件內容編輯模式
授權目標用戶 主機名稱=(授權用戶得到的新用戶身份) 授權用戶執行命令
test ALL=(ALL) ALL
例:[root@server1 ~]# visudo
test ALL=(ALL) ALL
[root@server1 ~]# su - test
Last login: Mon Apr 11 19:00:36 CST 2016 on pts/0
[test@server1 ~]$ sudo mkdir 1
[sudo] password for test: ##輸入普通用戶的密碼
[test@server1 ~]$ ls
1
二.權限列表
對於文件的權限進行附加補充說名的一個權限設定方式
權限列表查看:# ls -l test_acl
-rw-rw-r-- + 1 root root 0 4月 12 00:03 test_acl
“.”表示特殊權限控制位,“.”表示沒有權限列表,“+”表示有權限列表
權限位對列表的含義:
r:可以使用cat等命令查看文件內容
w:可以編輯或者刪除文件
x:可以運行此文件
1. ACL用戶權限設置
ACL針對單一用戶,單一文件或目錄進行r,w,x的權限設置。 .
(1).查看當前系統是否支持acl
# df -h
/dev/mapper/VolGroup-lv_root 6.7G 877M 5.5G 14% /
#dumpe2fs -h /dev/mapper/VolGroup-lv_root
Default mount options: user_xattr acl ##結果顯示支持
噹噹前系統不支持時,設置當前系統支持acl。
# mount -o remount,acl / ##暫時性修改
或者
# vim /etc/fstab ##永久性修改,開機會自動加載
/dev/mapper/rhel-root / xfs defaults,acl 1 1 .
(2).權限設置
setfacl ##設置某個文件/目錄的acl權限列表
格式
setfacl -m <u|g>:<username|groupname>:權限 filename
setfacl -m <m>:權限 filename ##mask權限設置
setfacl -x <u|g>:<username|groupname> filename
setfacl -x <m>: filename ##mask權限取消
setfacl -b filename ##刪除文件所有用戶權限
-m:設置acl參數,不可與-x合用
# setfacl -m u:test:rw test_acl
-x:刪除acl參數,不可與-m合用
# setfacl -x u:test test_acl
-d:給目錄設置acl權限列表
# setfacl -m d:u:test:rx yang/
-b:刪除所有acl參數
# setfacl -b yang/
-k:刪除默認的acl參數
-R:遞歸設置acl權限
取消mask有效權限:setfacl -x m: test_facl
# setfacl -x m: test_acl
設置mask有效權限:setfacl -m m:rwx test_acl
# setfacl -m m:rwx test_acl
注:用戶或用戶組設置的權限必須要存在於mask有效權限設置範圍之內才
可以生效。
getfacl ##查看某個文件/目錄的acl權限
getfacl filename