1.問題:
在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如: alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。
[root@wen-7 testdir]# mkdir -p /data/testdir [root@wen-7 testdir]# ll -d /data/testdir drwxr-xr-x 2 root root 6 8月 4 10:58 /data/testdir [root@wen-7 testdir]# chmod g+s /data/testdir [root@wen-7 testdir]# groupadd g1 [root@wen-7 testdir]# groupadd g2 [root@wen-7 testdir]# groupadd g3 [root@wen-7 testdir]# chown :g1 /data/testdir/ [root@wen-7 testdir]# touch /data/testdir/f1 [root@wen-7 testdir]# ll /data/testdir/f1 -rw-r--r-- 1 root g1 0 8月 4 10:59 /data/testdir/f1 [root@wen-7 testdir]# setfacl -m d:g:g2:rw /data/testdir/ root@wen-7 testdir]# setfacl -m d:g:g3:r /data/testdir/ [root@wen-7 testdir]# getfacl /data/testdir/ getfacl: Removing leading '/' from absolute path names # file: data/testdir/ # owner: root # group: g1 # flags: -s- user::rwx group::r-x other::r-x default:user::rwx default:group::r-x default:group:g2:rw- default:group:g3:r-- default:mask::rwx default:other::r-x [root@wen-7 testdir]# chmod o= /data/testdir/ [root@wen-7 testdir]# ll -d /data/testdir/ drwxr-s---+ 2 root g1 15 8月 4 10:59 /data/testdir/
2、三種權限rwx對文件和目錄的不同意義
文件:
r:可獲取文件的數據
w:可修改文件的數據 (不可刪除文件)
x:可將此文件運行為進程(針對二進制程序或腳本)
X:不會增加X(前提本身無X權限)
目錄:
r:可使用ls命令獲取其下的所有的文件列表
w:可修改此目錄下的文件列表:即創建或刪除文件 不看文件權限
x:可cd至此目錄中,且可使用ls -l來獲取所有文件的詳細屬性信息
X:不會增加X(前提本身無X權限)
3、umask和acl mask 的區別和聯系
區別:
1.本質不同.umake是文件權限的反向掩碼,屏蔽最大權限位,反向得出文件的默認權限,而make是直接定義文件權限的最大值.某些用戶不能超過mask權限.
2.對象不同,umake針對的是屬主,屬組和other,但mask針對的對象是排除屬主和other的所有人
3.標識不同.umake只是單純的對比數值,沒有相對的權限表達位.而mask會替代屬組的權限位
4計算方式不同.umake是用最大權限減去umake值得到文件實際權限,而mask是直接用mask的權限與指定用戶權限最對比,屏蔽最大權限.
聯系:
1.都是文件的默認權限.
2.都能針對某個對象實現權限控制
4、三種特殊權限的應用場景和作用
SUID:
應用場景:默認情況下,用戶發起的進程,進程的屬主是其發起者,因此,其以發起者的身份在運行,想使用更大的權限運行程序
功用: 用戶運行某程序時,如果此程序擁有SUID權限,那些二進制程序運行為進程時,其屬主不是發起者,而是程序文件自己的屬主
SGID:
應用場景:同一屬組的用戶,可以更改或刪除組內其他用戶的文件
功用:當某目錄屬組有寫權限,且有SGID權限時,那么所有屬于此目錄的屬組的用戶,且以屬組身份再此目錄中新建文件或目錄時,新文件的屬組不是用戶的基本組,而是此目錄是屬組;
STICKY:
應用場景:同一屬組的用戶,可以更改或閱讀組內其他用戶的文件,但不可刪除
功用:對于屬組或全局可寫的目錄,組內所有用戶或系統上的所有用戶對在此目錄中都能創建新文件或刪除所有的已有文件;如果為此類目錄設置Sticky權限,則每個用戶都能創建新文件,且只能刪除自已的文件
5、設置user1,使之新建文件權限為rw——-
[user1@wen-7 ~]$ umask 0002 [user1@wen-7 ~]$ touch asd [user1@wen-7 ~]$ ll asd -rw-rw-r-- 1 user1 user1 0 8月 4 13:50 asd [user1@wen-7 ~]$ umask 066 [user1@wen-7 ~]$ umask 0066 [user1@wen-7 ~]$ touch asdf [user1@wen-7 ~]$ ll asdf -rw------- 1 user1 user1 0 8月 4 13:51 asdf
6、設置/testdir/f1的權限,使user1用戶不可以讀寫執行,g1組可以讀寫
/testdir/dir的權限,使新建文件自動具有acl權限:user1:rw,g1:—
備份/testdir目錄中所有文件的ACL,清除/testdir的所有ACL權限,并利用備份還原
root@wen-7 testdir]# touch f1 [root@wen-7 testdir]# setfacl -m u:user1:0 f1 [root@wen-7 testdir]# setfacl -m g:g1:rw f [root@wen-7 testdir]# getfacl f1 # file: f1 # owner: root # group: root user::rw- user:user1:--- group::r-- group:g1:rw- mask::rw- other::r-- [root@wen-7 testdir]# mkdir dir [root@wen-7 testdir]# setfacl -m d:u:user1:rw dir/ [root@wen-7 testdir]# setfacl -m d:g:g1:0 dir/ [root@wen-7 testdir]# getfacl dir # file: dir # owner: root # group: root user::rwx group::r-x other::r-x default:user::rwx default:user:user1:rw- default:group::r-x default:group:g1:--- default:mask::rwx default:other::r-x [root@wen-7 testdir]# touch dir/qwe [root@wen-7 testdir]# cd dir/ [root@wen-7 dir]# getfacl qwe # file: qwe # owner: root # group: root user::rw- user:user1:rw- group::r-x #effective:r-- group:g1:--- mask::rw- other::r-- [root@wen-7 testdir]# getfacl /testdir/* > acl.txt getfacl: Removing leading '/' from absolute path names [root@wen-7 testdir]# setfacl -R -b /testdir/* [root@wen-7 testdir]# getfacl f1 # file: f1 # owner: root # group: root user::rw- group::r-- other::r-- [root@wen-7 testdir]# getfacl dir # file: dir # owner: root # group: root user::rwx group::r-x other::r-x [root@wen-7 testdir]# setfacl -R --set-file=acl.txt /testdir/* [root@wen-7 testdir]# getfacl -R /testdir/* getfacl: Removing leading '/' from absolute path names # file: testdir/acl.txt # owner: root # group: root user::rw- user:user1:--- group::r-- group:g1:rw- mask::rw- other::r-- # file: testdir/dir # owner: root # group: root user::rw- user:user1:--- group::r-- group:g1:rw- mask::rw- other::r-- default:user::rwx default:user:user1:rw- default:group::r-x default:group:g1:--- default:mask::rwx default:other::r-x # file: testdir/dir/qwe # owner: root # group: root user::rw- user:user1:--- group::r-- group:g1:rw- mask::rw- other::r-- # file: testdir/f1 # owner: root # group: root user::rw- user:user1:--- group::r-- group:g1:rw- mask::rw- other::r--
原創文章,作者:wencx,如若轉載,請注明出處:http://www.www58058.com/28732