日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

淺談Java安全編碼之文件和共享目錄的安全性

瀏覽:228日期:2022-08-10 17:10:42
目錄一、linux下的文件基本權限二、linux文件的特殊權限2.1、Set UID 和 Set GID2.2、Sticky Bit2.3、SUID/SGID/SBIT權限設置三、文件隱藏屬性四、特殊文件五、java中在共享目錄中使用文件要注意的問題六、安全目錄一、linux下的文件基本權限

chmod是linux下面的權限管理命令,我們可以通過chmod來對文件的權限進行修改。

普通文件的權限有三種,rwx分別是讀,寫和執行。再加上三個用戶分組:owner,group,other 我們可以很方便的使用三個0-7的數字來表示一個文件的權限。

舉個例子,我們創建一個文件:

touch test.log

看一下默認的文件權限:

ll test.log

-rw-r--r--  1 flydean  wheel     0B  8 16 10:36 test.log

默認的文件權限是644,也就是說owner權限是讀寫,group權限是讀,其他權限是讀。

我們可以使用chmod命令對其進行修改,比如:

chmod 777 test.log

ll test.log

-rwxrwxrwx  1 flydean  wheel     0B  8 16 10:36 test.log

可以看出權限被修改成為777。

二、linux文件的特殊權限

講完普通權限,我們接下來講一下linux文件中的特殊權限。

2.1、Set UID 和 Set GID

考慮一個常用的修改密碼的例子,修改密碼調用的是/usr/bin/passwd,看下這個文件的權限:

ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

可以看到有個很奇怪的s權限。這個s是什么意思呢?s實際是x的變種,是一種特殊的可執行權限。

特殊在哪里呢?passwd是修改用戶的密碼,密碼文件實際上是存放在 /etc/shadow中的。

我們看下/etc/shadow的權限:

ll /etc/shadow

---------- 1 root root 707 Jan  2  2020 /etc/shadow

/etc/shadow的owner是root,只有root才權限強行寫入這個文件。

那么問題來了,普通用戶調用passwd是怎么修改的/etc/shadow呢?

這就是s的妙用,s表示Set UID,簡稱為SUID,這個UID表示User的ID,而User表示這個程序(/usr/bin/passwd)的擁有者(root),那么我們在調用passwd的過程時候,就會暫時擁有passwd owner的權限,也就是root權限。

注意,SUID只能用在二進制文件中,它是對x權限的一個替換,并且SUID對目錄是無效的。

同樣的,我們也可以給group設置UID權限,也就是Set GID。

不同的是SGID可以使用在文件和目錄兩個地方。

用在文件中是和SUID一樣的,用在目錄中的意思是在該目錄中所建的文件或目錄的用戶組都和該目錄的用戶組是一樣的。

2.2、Sticky Bit

Sticky Bit表示的是特殊的other權限,用t來表示。

/tmp目錄就是一個Sticky Bit的例子: drwxrwxrwt 。

SBit對目錄的作用是:“在具有SBit的目錄下,用戶若在該目錄下具有w及x權限,則當用戶在該目錄下建立文件或目錄時,只有文件擁有者與root才有權力刪除”

這個特性就是為了保護我們在共享目錄下的文件不被別人刪除。

2.3、SUID/SGID/SBIT權限設置

怎么設置這些權限呢?

普通權限我們是用3個數字來表示的,我們可以在3個數字之前再加上一個數字表示SUID/SGID/SBIT權限。

和普通權限一樣,我們用4來表示SUID,2表示SGID,1表示SBIT。

舉個例子:

touch test

chmod 6755 test

ll test

-rwsr-sr-x 1 crawler crawler 0 Aug 16 11:43 test

注意,有時候我們會遇到大寫的S與T的情況,這種情況出現在user、group以及others都沒有x這個可執行的標志,所以大寫的S和T表示為空。

三、文件隱藏屬性

有些linux系統提供了chattr命令來設置文件隱藏屬性。

我們看下chattr的使用:

Usage: chattr [-RVf] [-+=aAcCdDeijsStTu] [-v version] files...

參數:

增加某個特殊參數,其他原本存在的參數不動。 刪除某個特殊參數,其他原本存在的參數不動。

= : 設置一定,且僅有后面接的參數

A : 當設置了A屬性時,這個文件(或目錄)的存取時間atime(access)將不可被修改,可避免例如手提電腦有磁盤I/O錯誤的情況發生。

S : 這個功能有點類似sync.就是將數據同步寫入磁盤中。可以有效地避免數據流失。

a : 設置a之后,這個文件將只能增加數據,而不能刪除,只有root才能設置這個屬性。

c : 這個屬性設置之后,將會自動將此文件“壓縮”,在讀取的時候將會自動解壓縮,但在存儲的時候,將會先進行壓縮后再存儲(對于大文件有用)。

d : 當執行dump(備份)程序的時候,設置d屬性將可使該文件(或目錄)具有轉儲功效。

i : i的作用很大。它可以讓一個文件“不能被刪除、改名、設置連接,也無法寫入或新增數據”。對于系統安全性有相當大的幫助。

j : 當使用ext3文件系統格式時,設置j屬性將會使文件在寫入時先記錄在journal中。但是,當文件系統設置參數為data=journalled時,由于已經設置日志了,所以這個屬性無效。

s : 當文件設置了s參數時,它將會從這個硬盤空間完全刪除。

u : 與s相反,當使用u來設置文件時,則數據內容其實還存在磁盤中,可以用來還原刪除。

四、特殊文件

linux中還有一些特殊的文件,比如鏈接文件和設備文件。

在處理鏈接文件的時候,我們需要注意判斷鏈接文件的真實指向。

而設備文件我們需要注意不合理的授權訪問。

五、java中在共享目錄中使用文件要注意的問題

共享目錄中因為所有人都有操作文件的權限,所以,我們需要特別注意在java中共享目錄中文件的操作。

根據java的規范, java.nio.channels.FileLock可以用來表示文件的鎖定。

通常來講,鎖定有兩種,一種是排他鎖,一種是共享鎖。

共享鎖可防止其他同時運行的程序獲取重疊的排他鎖,但確實允許它們獲取重疊的共享鎖。排他鎖可防止其他程序獲取任一類型的重疊鎖。

共享鎖支持來自多個進程的并發讀取訪問;獨占鎖支持獨占寫訪問。

但是,加鎖是否真正的阻塞其他程序對該文件的訪問,實際是取決于操作系統。

在使用中,我們需要對用戶用戶傳入的文件進行一些必要的校驗,比如是否是常規文件:

String filename = /* Provided by user */;Path path = new File(filename).toPath();try { BasicFileAttributes attr = Files.readAttributes( path, BasicFileAttributes.class, LinkOption.NOFOLLOW_LINKS); // Check if (!attr.isRegularFile()) { System.out.println('Not a regular file'); return; } // Other necessary checks // Use try (InputStream in = Files.newInputStream(path)) { // Read file };} catch (IOException x) { // Handle error}

上面的例子中,我們通過獲取File的屬性,來判斷這個屬性是否regularFile,注意,我們在讀取文件屬性的時候,傳入了一個LinkOption.NOFOLLOW_LINKS,表示的是不要follow鏈接。

雖然我們首先判斷了file的權限,然后再對其進行操作,但是上面的例子還是會有問題的。因為存在時間差的問題,如果惡意用戶在判斷之后將文件替換成了惡意的鏈接文件,就會出現問題。

六、安全目錄

為了保證用戶的文件操作安全性,我們引入一個安全目錄的概念,所謂安全目錄就是目錄除了用戶本身和超級管理員之外,沒有其他用戶的寫訪問權限,并且給定文件的父目錄不會被除了系統管理員之外的其他任何用戶刪除或重命名。

在下方的源碼鏈接中,我提供了一個查看安全目錄的class,大家可以自行查看。

本文的代碼:learn-java-base-9-to-20/tree/master/security

以上就是淺談Java安全編碼之文件和共享目錄的安全性的詳細內容,更多關于Java安全編碼 文件和共享目錄的安全性的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91免费精品国偷自产在线在线| 国产成人精品一区二区三区在线| 日韩欧美三级| 日韩a一区二区| 国内自拍视频一区二区三区| 久久影视三级福利片| 97精品资源在线观看| 欧美日韩亚洲一区在线观看| 国产日韩欧美一区二区三区在线观看 | 久久a爱视频| 国产精品欧美在线观看| 精品视频自拍| 偷拍精品精品一区二区三区| 蜜桃国内精品久久久久软件9| 亚洲精品123区| 亚洲区国产区| 国产精品夜夜夜| 久久69成人| 欧洲av一区二区| 香蕉视频成人在线观看| 日韩精品一区二区三区中文在线| 国产欧美午夜| 91一区二区| 99在线精品视频在线观看| 日本va欧美va瓶| 国产成人免费视频网站视频社区| 成人午夜精品| 午夜一区在线| 国产精品中文字幕制服诱惑| 欧美丰满日韩| 噜噜噜躁狠狠躁狠狠精品视频 | 亚洲国产不卡| 日韩影片在线观看| 国内揄拍国内精品久久| 亚洲欧美伊人| 欧美中文高清| 日韩欧美综合| 亚洲精品极品| 国产不卡人人| 亚洲一区二区三区免费在线观看 | 国产精品mm| 99久久激情| 日韩三级精品| 日韩深夜视频| 四虎国产精品免费久久| 成人亚洲精品| 综合一区av| 91视频一区| 亚洲精品高潮| 日韩一区欧美| 日本三级亚洲精品| 久久免费黄色| 青青伊人久久| 亚洲91视频| 91九色综合| 亚洲成av人片一区二区密柚| 日本不卡一二三区黄网| 国产综合精品| 国产精品7m凸凹视频分类| 日韩三级久久| 亚洲爱爱视频| 国产日韩免费| 欧美搞黄网站| 精品视频高潮| 综合精品一区| 久久精品动漫| 国产精品一区二区三区www| 亚洲精品一级二级| 国产精品嫩草影院在线看| 久久一级电影| 欧美激情麻豆| 亚洲91在线| 黑丝一区二区三区| 成午夜精品一区二区三区软件| 一区二区三区四区日韩| 欧美日韩亚洲在线观看| 久久99国产精品视频| 亚洲精品伦理| 激情综合自拍| 美女久久久久久| 日韩精品一页| 美女久久一区| 91精品国产乱码久久久久久久| 日本欧美大码aⅴ在线播放| 国产真实久久| 国产美女高潮在线| 国产欧美日韩免费观看| 美美哒免费高清在线观看视频一区二区| 国产不卡人人| 麻豆精品99| 国产三级精品三级在线观看国产| 蜜臀精品久久久久久蜜臀| 亚洲高清不卡| 波多视频一区| 精品久久影院| 国产精品国产三级在线观看| 亚洲精品成人一区| 9色国产精品| 99精品在线观看| 色爱av综合网| 日韩伦理一区| 日韩国产欧美一区二区| 免费一区二区三区在线视频| 无码日韩精品一区二区免费| 日韩中文字幕91| 狠狠干成人综合网| 久久精品国产99久久| 天堂√中文最新版在线| 黄色网一区二区| 久久精品理论片| 国产精品videosex极品| 国产精品三p一区二区| 日韩精品一区二区三区免费视频| 亚洲综合五月| 亚州欧美在线| 日韩精品a在线观看91| 免费人成黄页网站在线一区二区| 亚洲激情中文在线| av不卡免费看| 视频一区视频二区中文| 丝袜亚洲另类欧美| 日韩在线播放一区二区| 丝袜a∨在线一区二区三区不卡| 欧美综合国产| 中文不卡在线| 亚洲精品系列| 日韩不卡一区二区| 日韩精品社区| 欧美日韩精品一区二区三区视频 | 国产三级精品三级在线观看国产| 日本在线一区二区三区| 亚洲精品影院在线观看| 亚洲综合专区| 欧美精品福利| 欧美精品导航| 老色鬼精品视频在线观看播放| 国产精品一区二区美女视频免费看| 国产精品一区二区中文字幕| 精品国产a一区二区三区v免费| 精品网站999| 欧美日韩视频免费观看| 久久精品官网| 欧美日韩视频| 综合激情网站| 欧美日韩中出| 成人日韩av| 欧美成人综合| 免费国产自线拍一欧美视频| 亚洲三区欧美一区国产二区| 丝袜美腿亚洲色图| 日韩精选在线| 国产亚洲一区| 国产成人精品一区二区免费看京 | 爽爽淫人综合网网站| 亚洲精品乱码| 国产日韩欧美三级| 久久麻豆视频| 精品九九在线| av在线日韩| 国产毛片一区| 日韩av一区二区在线影视| 国产欧美一区二区三区国产幕精品 | 免费视频一区二区三区在线观看 | 四虎4545www国产精品| 欧美aa国产视频| 久久高清免费观看| 欧美偷窥清纯综合图区| 国产精品一区二区免费福利视频| 91视频久久| 蜜桃一区二区三区在线| 国产精品中文字幕制服诱惑| 欧美freesex黑人又粗又大| 91久久午夜| 亚洲欧美日本国产| 国产欧美69| 亚洲精品.com| 欧美日韩中文| 久久久久国产| 在线亚洲自拍| 国产精品欧美一区二区三区不卡| 国产一区二区三区四区五区 | 国产精品宾馆| 99久久亚洲精品| 日韩福利视频导航| 在线一区av| 日韩激情综合| 国产中文字幕一区二区三区| 欧美精选一区二区三区| 国产亚洲字幕| 午夜精品免费| 久久中文字幕一区二区| 91精品亚洲| 国产精品一区二区三区av麻| 亚洲精品一区二区在线看| 久久99偷拍| 石原莉奈在线亚洲三区| 成人综合一区| 日本一区二区中文字幕| 国精品一区二区| 精品一区二区男人吃奶|