linux简单实用的系统级防篡改命令
注意:这个只是手段之一,还需要配合其他强有力的防篡改措施
增加防篡改限制
给宝塔所有网站目录是template模板文件夹及其文件增加不可修改的权限
cd /www/wwwroot/
sudo find . -path "*/template/*" -exec sudo chattr +i {} \;
这条命令的作用是给 /www/wwwroot/
目录及其子目录下,所有路径中包含 template
文件夹的文件,添加不可修改(+i
)的权限。
逐部分解释:
-
cd /www/wwwroot/
这部分命令将当前工作目录切换到/www/wwwroot/
,这通常是宝塔面板所在的目录。 -
sudo find . -path "*/template/*"
find .
:表示在当前目录(即/www/wwwroot/
)及其所有子目录中查找文件。-path "*/template/*"
:仅查找路径中包含template
文件夹的文件或目录。这里的*
是通配符,表示匹配任何字符。
-
-exec sudo chattr +i {} \;
-exec
:表示对每个符合条件的文件执行后面的命令。sudo chattr +i {}
:对每个找到的文件执行chattr +i
命令,+i
设置文件为不可修改(immutable)。{}
代表find
查找到的每个文件。\;
:表示-exec
的命令结束,必需加上\;
来告诉find
命令执行完该操作。
总结:
这条命令会在 /www/wwwroot/
目录及其子目录下,查找所有路径包含 template
文件夹的文件,并给这些文件设置不可修改的权限,防止它们被更改或删除。
解除防篡改限制
如果你已经 cd
到 /www/wwwroot/
目录,并希望只在该目录下的所有文件夹和文件中查找和修改,而不是全系统搜索,可以修改命令的路径限制,只针对 /www/wwwroot/
及其子目录进行查找。
解除 chattr +i
权限的命令(只针对 /www/wwwroot/
下的文件):
cd /www/wwwroot/
# 解除在 /www/wwwroot/ 下所有包含 template 模板文件的不可修改权限
sudo find . -path "*/template/*" -exec sudo chattr -i {} \;
解释:
cd /www/wwwroot/
:进入目标目录。find . -path "*/template/*"
:查找当前目录(即/www/wwwroot/
)及其子目录下路径中包含template
文件夹的文件和目录。-exec sudo chattr -i {} \;
:对找到的每个文件和目录,执行chattr -i
命令,解除不可修改权限。
通过这种方式,命令只会影响 /www/wwwroot/
目录及其子目录下的文件,而不会遍历整个系统。