Linux服务器中实现文件夹可写不可删除
chattr實現文件不可刪除
用自己的話解釋清楚這件事兒~
目前問題:
Android手機,在/system/app 目錄下的apk,使用chmod 修改權限失敗,rm命令也刪除不掉。
現象:
rm failed for wandoujia-zhuodashi1_xianxia.apk, Operation not permitted
解決辦法:
busybox chattr -i wandoujia-zhuodashi1_xianxia.apk
chattr 命令詳解
概述
命令chattr 可用于修改文件的屬性以提高系統的安全性,(不過它的許多功能需要內核的支持,如-D 檢查壓縮文件中的錯誤功能,需要2.5.19以上的內核版本支持)。lsattr的功能比較簡單查看這些屬性。
命令的用法:
chattr [ -RVf ] [ -v version ] [ mode ] files...
最關鍵的是【mode】部分,[mode]部分是由+-=和[ASacDdIijsTtu]這些字符組成,用來控制文件屬性。
+:再原有參數基礎上追加參數
-:在原定參數基礎上,移除參數
=:更新為指定的參數
A:文件或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁盤I/O錯誤的發生。
S:硬盤I/O同步選項,功能類似sync。
a:即append,設定該參數后,只能向文件中添加數據,而不能刪除,多用于服務器日志文 件安全,只有root才能設定這個屬性。
c:即compresse,設定文件是否經壓縮后再存儲。讀取時需要經過自動解壓操作。
d:即no dump,設定文件不能成為dump程序的備份目標。
i:設定文件不能被刪除、改名、設定鏈接關系,同時不能寫入或新增內容。i參數對于文件 系統的安全設置有很大幫助。
j:即journal,設定此參數使得當通過mount參數:data=ordered 或者 data=writeback 掛 載的文件系統,文件在寫入時會先被記錄(在journal中)。如果filesystem被設定參數為 data=journal,則該參數自動失效。
s:保密性地刪除文件或目錄,即硬盤空間被全部收回。
u:與s相反,當設定為u時,數據內容其實還存在磁盤中,可以用于undeletion.
各參數選項中常用到的是a和i。a選項強制只可添加不可刪除,多用于日志系統的安全設定。而i是更為嚴格的安全設定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE處理能力(標識)的進程能夠施加該選項。
///**************************************************************************
給Hongkong那邊Linux主機ftp給配置好了,突然想到應該得讓用戶能夠上傳,但是不能刪除文件,在Windows下很容易實現,可是在Linux里面咋辦呢?
使用samba倒是可以控制,難不成我為了這個還去專門配置一個samba
不行,得另外想辦法才成
想到去年碰到一件事,一個目錄死命都無法刪除,后來使用chattr
是不是可以利用chattr來達到目的呢?
man了一下chattr命令,發現:
A file with the `a’ attribute set can only be open in append mode for
writing. Only the superuser or a process pessessing the
CAP_Linux_IMMUTABLE capability can set or clear this attribute.
好像可以達到目的呢
試驗了一下chattr +a /tmp/aaa
lsattr
—–a——- ./aaa
然后登錄ftp,果然不能刪除了
大功告成。
總結
以上是生活随笔為你收集整理的Linux服务器中实现文件夹可写不可删除的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS6.3 Samba安装配置、
- 下一篇: 诺亚面向语音语义的深度学习研究进展