Linux檔案ACL和壓縮歸檔

2021-12-29 23:27:26 字數 3372 閱讀 7124

檔案許可權管理的拓展

標誌位:-rwsrwxrwx

suid:當乙個檔案帶有suid時,檔案預設加上可執行許可權,且所有人臨時具有管理員許可權來執行。

標誌位:-rwxrwsrwx

sgid:當乙個目錄檔案帶有sgid時,所有使用者在此目錄下建立檔案的屬組都是此目錄的基本組。

標誌位:-rwxrwxrwt

sticky:當乙個目錄檔案帶有sticky時,所有使用者在此目錄中不能刪除屬主不是自己的檔案。

實際應用:

現有2普通使用者redhat和gentoo,想讓他們兩個都能訪問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壓縮時會保留原檔案,且對資料夾進行歸檔處理後壓縮

本文出自 「welcome amigo !」 部落格

Linux檔案歸檔和壓縮

歸檔檔案是乙個檔案和目錄的集合,而這個集合被貯存在乙個檔案中。歸檔檔案沒有經過壓縮 它占用的空間是其中所有檔案和目錄的總和。壓縮檔案也是乙個檔案和目錄的集合,且這個集合也被貯存在乙個檔案中,但是,它的貯存方式使其所占用的磁碟空間比其中所有檔案和目錄的總和要少。歸檔檔案不是壓縮檔案,但是壓縮檔案可以是...

Linux檔案壓縮和歸檔

壓縮 運用某種演算法,將檔案壓在一塊減少空間 歸檔 將很多檔案放在一起 解壓縮 將壓在一塊的內容,解壓縮開來 壓縮 解壓縮命令 壓縮格式 gz,bz2,xz,zip,z 壓縮演算法 演算法不同,壓縮比也不會不同 gzip gz 壓縮後會刪除原始檔,只能壓縮單個檔案 gzip路徑檔案 d 解壓縮 gu...

linux檔案壓縮歸檔

gz gzip gunzip gzip d tar tar cf xf tar.gz tar zcf zxf zip zip r unzip bz2 bzip2 bunzip2 tar.bz2 tar cjf xjf 1 tar cf bak.tar log 將當前目錄下的所有log檔案打成乙個叫做...