<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    linux中使用ACL保護文件目錄

    VSole2021-09-23 08:54:09
    ACl (Access Control List),主要目的是提供傳統的 owner、group、others 的 read、write、execute 權限之外的特殊權限需求設置。ACL 可以針對單一使用者、單一文件或目錄來進行 r、w、x 的權限規范,對于需要特殊權限的使用狀況非常有幫助
    ACl 主要針對以下方面來控制權限:
    • 使用者 user
    • 群組 group
    • 默認屬性 mask:針對在該目錄下在建立新文件/目錄時,規范新數據的默認權限
    有一個目錄,給一堆人使用,每個人或每個群組所需要的權限并不相同,使用傳統 Linux 三種身份的三種權限是無法達到的,因此基本上,傳統的 Linux 權限只能針對一個用戶、一個群組以及非此群組的其他人設置權限。無法針對單一用戶或個人來設計權限。
    Note:根據 Redhat 產品文檔,它為 ext3 文件系統和 NFS 導出文件系統提供 ACL 支持。

    如何檢查 Linux 系統中的 ACL 支持

    在繼續之前,你應該在當前內核和掛載的文件系統上支持 ACL。

    1. 檢查內核是否支持 ACL

    運行以下命令檢查文件系統的 ACL 支持和 POSIX_ACL=Y 選項(如果有 N 代替 Y,則表示內核不支持ACL,需要重新編譯)。
    [root@linux ~]# grep -i acl /boot/config*
    
    CONFIG_`EXT4_FS_POSIX_ACL=y`
    CONFIG_`REISERFS_FS_POSIX_ACL=y`
    CONFIG_JFS_POSIX_ACL=y
    CONFIG_XFS_POSIX_ACL=y
    CONFIG_BTRFS_FS_POSIX_ACL=y
    CONFIG_FS_POSIX_ACL=y
    CONFIG_GENERIC_ACL=y
    CONFIG_TMPFS_POSIX_ACL=y
    CONFIG_NFS_V3_ACL=y
    CONFIG_NFSD_V2_ACL=y
    CONFIG_NFSD_V3_ACL=y
    CONFIG_NFS_ACL_SUPPORT=m
    CONFIG_CIFS_ACL=y
    CONFIG_9P_FS_POSIX_ACL=y
    

    2.檢查所需的包

    在開始使用 ACL 之前,請確保你已安裝所需的軟件包。以下是需要使用安裝的必需軟件包yum 或者 apt-get.
    [root@linux ~]# yum install nfs4-acl-tools acl libacl  [on `RedHat` based systems]
    [rumenz@linux ~]$ sudo apt-get install nfs4-acl-tools acl [on `Debian` based systems]
    

    3. 檢查掛載的文件系統是否支持 ACL

    現在,檢查掛載的文件系統是否使用 ACL 選項掛載。我們可以用mount 用于檢查相同的命令,如下所示。
    [root@linux ~]# mount  | grep -i root
    /dev/mapper/fedora-root on / type ext4 (rw,relatime,data=ordered)
    
    但在我們的例子中,它默認不顯示 acl。因此,接下來我們可以選擇使用 acl 選項再次重新掛載已安裝的分區。但是,在繼續之前,我們有另一個選項來確保分區是否使用 acl 選項掛載,因為對于最近的系統,它可能與默認掛載選項集成。
    [root@linux ~]# tune2fs -l /dev/mapper/fedora-root | grep acl
    Default mount options:    user_xattr acl
    
    在上面的輸出中,你可以看到默認掛載選項已經支持 acl。另一種選擇是重新掛載分區,如下所示。
    [root@linux ~]# mount -o remount,acl /
    
    接下來,將以下條目添加到/etc/fstab文件中以使其永久化。
    /dev/mapper/fedora-root / ext4    defaults,acl 1 1
    
    再次,重新掛載分區。
    [root@linux ~]# mount -o remount  /
    

    4.對于NFS服務器

    在 NFS 服務器上,如果 NSF 服務器導出的文件系統支持 ACL,并且 NFS 客戶端可以讀取 ACL,那么客戶端系統就會使用 ACL。
    要禁用 NFS 共享上的 ACL,你必須添加選項no_acl 在 /etc/exportfs NFS 服務器上的文件。要再次在 NSF 客戶端禁用它,請使用no_acl 掛載時間的選項。

    如何在 Linux 系統中實現 ACL 支持

    有兩種類型 ACLs
    1. Access ACLs:訪問 ACL 用于授予對任何文件或目錄的權限。
    2. Default ACLs:默認 ACL 僅用于在特定目錄上授予/設置訪問控制列表。
    訪問 ACL 和默認 ACL 的區別:
    1. 默認 ACL 只能在目錄級別使用。
    2. 在該目錄中創建的任何子目錄或文件都將從其父目錄繼承 ACL。另一方面,文件繼承默認 ACL 作為其訪問 ACL。
    3. 我們利用 –d用于設置默認 ACL,默認 ACL 是可選的。
    設置默認 ACL 之前
    要確定特定文件或目錄的默認 ACL,請使用 getfacl 命令。在下面的例子中,getfacl 用于獲取文件夾的默認 ACL Music
    [root@linux ~]# getfacl Music/
    
    # file: Music/
    # owner: root
    # group: root
    user::rwx
    group::r-x
    other::r-x
    default:user::rwx
    default:group::r-x
    default:other::rw-
    
    設置默認 ACL 后
    要為特定文件或目錄設置默認 ACL,請使用 setfacl 命令。在下面的例子中,setfacl 命令將設置一個新的 ACL(read 和 execute) 給文件夾 Music.
    [root@linux ~]# setfacl -m d:o:rx Music/
    [root@linux ~]# getfacl Music/
    # file: Music/
    # owner: root
    # group: root
    user::rwx
    group::r-x
    other::r-x
    `default:user::rwx
    default:group::r-x
    default:other::r-x`
    

    如何設置新的 ACL

    使用 setfacl用于設置或修改任何文件或目錄的命令。例如,rumenz1用戶賦予read和 write 的權限。
    # setfacl -m u:rumenz1:rw /rumenz1/example
    

    如何查看 ACL

    使用 getfacl 用于查看任何文件或目錄上的 ACL 的命令。例如,要查看 上的 ACL/rumenz1/example 使用下面的命令。
    # getfacl /rumenz1/example
    
    # file: rumenz1/example/
    # owner: rumenz1
    # group: rumenz1
    user::rwx
    user:rumenz1:rwx
    user:rumenz2:r--
    group::rwx
    mask::rwx
    other::---
    

    如何刪除 ACL

    為了從任何文件/目錄中刪除 ACL,我們使用 x 和 b 選項
    # setfacl -x ACL file/directory   # remove only specified ACL from file/directory.
    # setfacl -b  file/directory     #removing all ACL from file/direcoty
    
    兩個用戶(rumenz1 和 rumenz2),兩者都有名為的共同次要組acl。我們將創建一個所有者是rumenz1的目錄, 并將該目錄的 read 和 execute 授權給用戶 rumenz2
    Step 1: 創建兩個用戶并從兩者中刪除密碼
    [root@linux ~]# for user in rumenz1 rumenz2
    > do
    > useradd $user
    > passwd -d $user
    > done
    Removing password for user rumenz
    passwd: Success
    Removing password for user rumenz
    passwd: Success
    
    Step 2: 創建一個組和用戶到次要組。
    [root@linux ~]# groupadd acl
    [root@linux ~]# usermod -G acl rumenz1
    [root@linux ~]# usermod -G acl rumenz2
    
    Step 3:創建目錄/rumenz并將所有權更改為rumenz1`.
    [root@linux ~]# mkdir /rumenz1
    [root@linux ~]# chown rumenz1 /rumenz1/
    [root@linux ~]# ls -ld /rumenz1/
    
    drwxr-xr-x 2 rumenz1 root 4096 Apr 17 14:46 /rumenz1/
    [root@linux ~]# getfacl /rumenz1
    
    `getfacl: Removing leading '/' from absolute path names`
    # file: rumenz1
    # owner: rumenz1
    # group: root
    user::rwx
    group::r-x
    other::r-x
    
    Step 4: 登錄 rumenz1 并在其中創建一個目錄。
    [rumenz@linux ~]$ su - rumenz1
    
    Last login: Thu Apr 17 14:49:16 IST 2014 on pts/4
    [rumenz1@linux ~]$ cd /rumenz1/
    [rumenz1@linux rumenz1]$ mkdir example
    [rumenz1@linux rumenz1]$ ll
    
    total 4
    drwxrwxr-x 2 rumenz1 rumenz1 4096 Apr 17 14:50 example
    [rumenz1@linux rumenz1]$ whoami 
    rumenz1
    
    Step 5: 現在使用設置ACLsetfacl, rumenz1 將擁有所有 rwx 權限,rumenz2 將只有 read 的權限,example 文件夾和其他文件夾將沒有權限。
    $ setfacl -m u:rumenz1:rwx example/
    $ setfacl -m u:rumenz2:r-- example/
    $ setfacl -m  other:--- example/
    $ getfacl example/
    
    # file: example
    # owner: rumenz1
    # group: rumenz1
    user::rwx
    user:rumenz1:rwx
    user:rumenz2:r--
    group::r-x
    mask::rwx
    other::---
    
    Step 6: rumenz2 在另一個終端上并將目錄更改為 /rumenz1。現在嘗試使用ls命令 查看內容,然后嘗試更改目錄并查看如下差異。
    [rumenz@linux ~]$ su - rumenz2
    
    Last login: Thu Apr 17 15:03:31 IST 2014 on pts/5
    [rumenz2@linux ~]$ cd /rumenz1/
    [rumenz2@linux rumenz1]$ ls -lR example/
    example/:
    total 0
    [rumenz2@linux rumenz1]$ cd example/
    
    -bash: cd: example/: Permission denied
    [rumenz2@linux rumenz1]$ getfacl example/
    
    # file: example
    # owner: rumenz1
    # group: rumenz1
    user::rwx
    user:rumenz1:rwx
    user:rumenz2:r--
    group::rwx
    mask::rwx
    other::---
    
    Step 7: 現在給 execute許可rumenz2 在 example 文件夾,然后使用 cd 命令查看效果。現在 rumenz2 具有查看和更改目錄的權限,但沒有寫入任何內容的權限。
    [rumenz1@linux rumenz1]$ setfacl -m u:rumenz2:r-x example/
    [rumenz1@linux rumenz1]$ getfacl example/
    
    # file: example
    # owner: rumenz1
    # group: rumenz1
    user::rwx
    user:rumenz1:rwx
    user:rumenz2:r-x
    group::rwx
    mask::rwx
    other::---
    [rumenz@linux ~]$ su - rumenz2
    
    Last login: Thu Apr 17 15:09:49 IST 2014 on pts/5
    [rumenz2@linux ~]$ cd /rumenz1/
    [rumenz2@linux rumenz1]$ cd example/
    [rumenz2@linux example]$ getfacl .
    [rumenz2@linux example]$ mkdir test
    
    mkdir: cannot create directory test: Permission denied
    [rumenz2@linux example]$ touch test
    
    touch: cannot touch test: Permission denied
    
    Note: 執行 ACL 后,你將看到一個額外的 + 符號為 ls –l 輸出如下。
    [root@linux rumenz1]# ll
    
    total 4
    drwxrwx---+ 2 rumenz1 rumenz1 4096 Apr 17 17:01 example
    
    文件目錄acl
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    ACL保護文件目錄?
    2021-09-24 08:29:06
    ACl (Access Control List),主要目的是提供傳統的 owner、group、others 的 read、write、execute 權限之外的特殊權限需求設置。
    ACl (Access Control List),主要目的是提供傳統的 owner、group、others 的 read、write、execute 權限之外的特殊權限需求設置。ACL 可以針對單一使用者、單一文件或目錄來進行 r、w、x 的權限規范,對于需要特殊權限的使用狀況非常有幫助
    本文主要對國內主流的阿里云Bucket劫持利用姿勢進行總結,漏洞原理在《劫持亞馬遜S3 Bucket》一文中已經分析的很透徹了,這里就不再贅述,鏈接如下:
    HTTP走私及變體總結
    2022-09-01 22:12:58
    HTTP請求走私是一種干擾網站處理從一個或多個用戶接收的HTTP請求序列的方式,用以繞過安全控制并獲得未經授權的訪問,執行惡意活動。Content-Length比實際消息長度長,請求將無響應直到超時。Transfer-Encoding: chunked代表數據以一系列分塊的形式進行發送.。Content-Length 首部在這種情況下應該不被發送。在HTTP協議消息頭中,使用Content-Type來表示請求和響應中的媒體類型信息。這個攻擊者便成功的利用了http請求走私漏洞。
    vm單獨添加一個網卡用來進行域環境隔離。機器配置:windows
    WebLogic是由美國Oracle公司出品的一application server,準確的說就是一個基于JAVAEE而開發的一個中間件,類似Tomcat,WebLogic是一個用于開發,集成,部署與管理大型分布式Web應用,網絡應用和數據庫的java應用服務器。將java動態功能與java Enterprise標準的安全性引入大型網絡應用的開發,集成,部署與管理之中。
    目錄掃描可以讓我們發現這個網站存在多少個目錄,多少個頁面,探索出網站的整體結構。通過目錄掃描我們還能掃描敏感文件,后臺文件,數據庫文件,和信息泄漏文件等等 目錄掃描有兩種方式: ?使用目錄字典進行暴力才接存在該目錄或文件返回200或者403;?使用爬蟲爬行主頁上的所有鏈接,對每個鏈接進行再次爬行,收集這個域名下的所有鏈接,然后總結出需要的信息。
    大意就是這不一定是完整的代碼,請大家fck 微軟。windows_research_kernel目錄: 這個目錄下有兩個壓縮包,一個是Windows Kernel Source Code like,一個是wrktools。接下來是 microsoft-gaming-zone和 misc_microsoft_gamedev_source_code兩個跟游戲開發有關的源碼包。包括在’’是截至2020-08-21的最新版本。然后是Windows 2000 Native API ,里面有C語言的示例及原始API代碼。,XP的源碼,收集的人賣了個關子,加了密,要自己破解。Pdf目錄: 搜集的一些文檔,比如2017年win10泄露32T源碼事件等。Xbox目錄 三個文件如下,可以看到最下面的是一個2020年5月剛泄露的版本。
    Linux常用命令總結
    2021-11-20 05:45:17
    系統信息 關機網卡命令 文件目錄 find命令 ps命令 防火墻命令 用戶命令 其他命令 最近再使用Linux感覺Linux系統使用起來也挺順手的不過就是命令掌握的并不是很牢固,今天整理一下Linux一些常用命令。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类