0

0

Linux 如何降低人为操作风险?

冰川箭仙

冰川箭仙

发布时间:2026-01-24 18:38:02

|

880人浏览过

|

来源于php中文网

原创

应优先使用 sudo 而非 su - 切换 root,配合禁用 root 密码、限制 sudo 命令范围、chattr 设置文件不可变属性、高危命令 alias 拦截、etckeeper 自动备份等多重防护机制。

linux 如何降低人为操作风险?

sudo 代替直接切 root

直接 su - 切到 root 后,所有命令都以最高权限运行,一个误删、路径写错或通配符没加引号,就可能清空 /usr 或覆盖 /etc。而 sudo 强制显式声明要提权的命令,天然带“确认感”。

实操建议:

  • 禁用 root 密码:sudo passwd -l root,彻底关闭直接登录 root 的通道
  • 把运维人员加入 sudo 组,但限制可执行命令范围,例如在 /etc/sudoers.d/deploy 中写:%deploy ALL=(ALL) /usr/bin/systemctl start nginx, /usr/bin/systemctl reload nginx
  • 启用 sudo -i(带环境的交互式 shell)仅用于调试,日常一律用 sudo command 单行执行

关键目录设为不可删除(chattr +a+i

/etc/passwd/etc/shadow/boot/grub2/grub.cfg 这类文件,不是靠权限位能防住的——只要你是 root 或有 sudo 权限,rm -f 照样能删。得用文件系统级属性。

实操建议:

  • 对只追加日志的文件(如 /var/log/secure),用 sudo chattr +a /var/log/secure,禁止删除和覆盖,只允许 append
  • 对核心配置文件(如 /etc/fstab),用 sudo chattr +i /etc/fstab,连 root 也无法修改或删除,修改前必须先 chattr -i
  • 注意:+i 属性下,vim 保存会失败(它实际是删旧建新),改配置得先临时移除属性,操作完立刻加回

alias 覆盖高危命令

很多人习惯敲 rm -rf *,但当前目录一旦是 //home 就全完了。与其靠人记,不如让 shell 主动拦截。

WeShop唯象
WeShop唯象

WeShop唯象是国内首款AI商拍工具,专注电商产品图片的智能生成。

下载

实操建议:

  • ~/.bashrc/etc/skel/.bashrc 中加别名:alias rm='rm -I'(大写 I,删多个文件时强制确认)
  • 更进一步,禁用裸 rmalias rm='echo "Use: rm -I or sudo rm -f. Aborting." >&2; false'
  • 同理处理 cpmvalias cp='cp -i'alias mv='mv -i',避免静默覆盖
  • 别名只对交互式 shell 生效,脚本里不会触发——所以生产脚本仍需严格校验路径变量

操作前自动备份关键文件(用 etckeeper 或简单 preexec 钩子)

不是所有修改都能靠 chattr 挡住,比如你确实需要改 /etc/nginx/nginx.conf。这时候,自动留一份快照比事后从备份恢复快得多。

实操建议:

  • etckeeper(Debian/Ubuntu 自带,RHEL/CentOS 需 yum install etckeeper),它用 git 自动 commit /etc 变更,每次 apt install 或手动改配置都会触发记录
  • 若不想引入新工具,可用 preexec 函数钩住每次命令执行前动作,在 .bashrc 中加一段逻辑:检测命令是否含 vivimnano 且参数是 /etc/ 下文件,就自动生成 .bak 时间戳副本
  • 备份本身不解决误操作,但它把“恢复窗口”从小时级压缩到秒级——前提是备份路径和原文件不在同一逻辑卷,否则一次 rm -rf / 全完

最易被忽略的一点:所有这些机制都依赖用户登录后加载的 shell 配置。如果有人绕过 ssh 直接进单用户模式,或用 Live CD 挂载根分区,那 sudo 规则、aliasetckeeper 全部失效。物理/宿主机层面的访问控制,才是最后一道防线。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

231

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

501

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

498

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

232

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

337

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3510

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

24

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

27

2026.01.13

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

25

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.7万人学习

Git 教程
Git 教程

共21课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号