Narsil 是一个系统安全加固工具,可以帮助强化系统安全,防止未授权的访问与攻击。



还有很多特性没有被列举出来,可以参考 scripts 目录下的文件了解更多信息。
国外用户可以使用 GitHub 克隆仓库:
git clone --depth 1 https://github.com/seatonjiang/narsil.git
国内用户可以使用 CNB 克隆仓库:
git clone --depth 1 https://cnb.cool/seatonjiang/narsil.git
进入项目文件夹:
cd narsil/
核对配置文件中的配置信息:
vi narsil.conf
sudo bash narsil.sh
提示:需要使用 root 账号或 sudo 权限运行该脚本。
# 验证操作(每一项操作完成后显示验证信息)
VERIFY='Y'
# 云服务器元数据覆盖(DNS 服务器、NTP 服务器、主机名、Docker 镜像)
METADATA='Y'
# 生产环境提醒(登录时提示生产环境)
PROD_TIPS='Y'
# 无响应注销时间(单位:秒)
LOGOUT_TIME='300'
# SSH 端口配置
SSH_PORT='22'
# 时区配置
TIME_ZONE='Asia/Shanghai'
# 主机名配置(开启云服务器元数据覆盖,云服务器会自动设置为元数据的主机名)
HOSTNAME='Narsil'
# DNS 服务器配置(开启云服务器元数据覆盖,云服务器会自动设置为元数据的 DNS 服务器)
DNS_SERVER='119.29.29.29 223.5.5.5'
# NTP 服务器配置(开启云服务器元数据覆盖,云服务器会自动设置为元数据的 NTP 服务器)
NTP_SERVER='ntp1.tencent.com ntp2.tencent.com ntp3.tencent.com ntp4.tencent.com ntp5.tencent.com'
# Docker Engine 配置
DOCKER_CE_REPO='https://mirrors.cloud.tencent.com/docker-ce'
项目目录结构说明:
narsil ├── config 配置文件目录 │ └── banner 登录横幅目录 ├── logs 日志文件目录 ├── scripts 脚本文件目录 ├── narsil.conf 配置文件 └── narsil.sh 主脚本文件
Narsil 中包含了一些独立的功能,这些功能并不在自动执行的脚本中,需要使用参数单独使用,可以使用 sudo bash narsil.sh -h 命令查看所有独立功能。
清理所有的系统日志文件。
建议在初始化系统之前先进行清理。
sudo bash narsil.sh -c
安装 Docker 服务并设置镜像加速。
安装完成后,可以使用
docker run hello-world测试 Docker 相关功能是否正常。
sudo bash narsil.sh -d
交互式挂载数据盘,数据无价,操作过程切记小心!
如果所选的硬盘已经被挂载,会提示解除挂载及格式化操作(腾讯云会优先使用弹性云硬盘的软链接方式挂载)。
sudo bash narsil.sh -f
默认为 Narsil,如果 METADATA=Y 那么默认名称会是元数据中获取的 instance-name 数据。
sudo bash narsil.sh -n
删除腾讯云轻量服务器专属用户 lighthouse 和组 lighthouse。
sudo bash narsil.sh -l
交互式修改 SSH 端口。
端口范围需要在 10000 到 65535 之间。
sudo bash narsil.sh -p
卸载服务商安装到服务器中的各种监控组件。
此功能目前仅支持腾讯云服务器。
sudo bash narsil.sh -r
如果物理内存太小,建议添加交换空间。
sudo bash narsil.sh -s
如果这个项目为你带来了便利,请考虑为这个项目点个 Star 或者通过微信赞赏码支持我,每一份支持都是我持续优化和添加新功能的动力源泉!
我们欢迎所有的贡献,你可以将任何想法作为 Pull Requests 或 Issues 提交。
项目基于 MIT 许可证发布,详细说明请参阅 LICENSE 文件。