Linux文件ACL和壓縮歸檔

文件權限管理的拓展

標誌位:-rwsrwxrwx
SUID:當一個文件帶有suid時,文件默認加上可執行權限,且所有人臨時具有管理員權限來執行。

 

標誌位:-rwxrwsrwx
SGID:當一個目錄文件帶有sgid時,所有用戶在此目錄下創建文件的屬組都是此目錄的基本組。

 

標誌位:-rwxrwxrwt
sticky:當一個目錄文件帶有sticky時,所有用戶在此目錄中不能刪除屬主不是自己的文件。

 

實際應用:
現有2普通用戶redhatgentoo,想讓他們兩個都能訪問develop文件夾,且雙方能夠修改彼此創建的文件,但不能刪除。

 

解決辦法:

1.    創建文件develop 

mkdir develop
新建組devgrp並把develop的基本組改爲此組
groupadd devgrp
chown  :devgrp develop
修改文件夾權限成-rwxrws—T
chomod 3770 develop  #首位3表示兩用戶創建的文件的屬組都是devgrp,實現他們能夠同構組權限來相互修改對方的文件,且不能刪除。

2.    給兩用戶添加附加組devgrp

usermod –aG devgrp redhat
usermod –aG devgrp gentoo

 

 

系統默認權限umask的概念
在不同用戶新建文件時文件的權限是有系統默認設定的:
目錄文件=777 – umask
普通文件=666 – umask
如果計算結果爲奇數,加一後作爲最終權限(防止生成執行權限)

 

文件的訪問控制列表file access control list

 

實現目的給普通用戶控制訪問自己文件規則的權限。
acl添加:
setfacl –m u:用戶名:權限 文件 #給指定用戶添加文件的權限
setfacl –m g:組名:權限 文件  #給指定組添加文件的權限
eg
# setfacl -m u:student:wrx redhat.c
drwxrwxr-x+ 2 root root 4096 Aug  2 04:11 redhat.c
權限後加上了“+”

 

acl查看:
查看文件的訪問控制列表使用命令getfacl
[root@server28 tmp]# getfacl redhat.c
# file: redhat.c
# owner: root
# group: root
user::rwx
user:student:rwx
group::r-x
mask::rwx
other::r-x

 

acl的刪除:
[root@server28 tmp]# setfacl -x u:student redhat.c/
刪除對應用戶在該文件上的acl
[root@server28 tmp]# getfacl redhat.c
# file: redhat.c
# owner: root
# group: root
user::rwx
group::r-x
mask::r-x
other::r-x

 

刪除所有acl
[root@server28 tmp]# setfacl -b redhat.c/
[root@server28 tmp]# getfacl redhat.c
# file: redhat.c
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
注意:此時acl mask已被刪除

 

所謂mask類似子網掩碼的效果,有它存在所有acl權限只能小於等於它的權限

 

acl mask的設置:
[root@server28 redhat.c]# setfacl -m m::rx test
[root@server28 redhat.c]# getfacl test
# file: test
# owner: root
# group: root
user::rw-
user:redhat:rwx          #effective:r-x   此時系統已經自動給出提示受到mask影響
group::r--
mask::r-x
other::r--

 

默認acl
默認acl只對目錄文件有效,表示對所有在目錄中新建的文件繼承目錄的acl
[root@server28 tmp]# setfacl -m d:u:redhat:rwx redhat.c/
[root@server28 tmp]# getfacl redhat.c/
# file: redhat.c
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx           #此行往下表示default權限
default:user:redhat:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

 

常用的集中壓縮、歸檔程序

gzip 選項 文件
gzip壓縮文件,且刪除源文件
選項:
-d 解壓縮
-n 指定壓縮比(1-9
zcat在不解壓的情況下查看文件內容
壓縮文件後綴名: .gz

 

bzip2 選項 壓縮目的文件 源文件(可多個)
bzip2 選項 文件  (意爲壓縮此文件到當前目錄)
選項
-d 解壓縮
-k 壓縮時保留源文件
bzcat在不解壓時查看壓縮包內容
壓縮文件後綴名 .bz2

 

注意:不論是gzip還是bzip2都不支持對文檔的壓縮

 

tar 選項 壓縮目的文件  源文件(可多個可目錄)
壓縮常用的兩種格式
tar zcvf MYFILE.tar.gz source..
z 進行gzip壓縮
c 創建壓縮文件
v 顯示壓縮過程
f 後跟文件名

 

tar jcvf MYFILE.tar.bz2 source..
j 進行bzip2壓縮

 

解壓
tar xf 壓縮包 [–C 目的路徑]
如不加-C 默認爲當前目錄

 

注意:tar壓縮時會保留原文件,且對文件夾進行歸檔處理後壓縮

 


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