You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过Linux文件权限实现脚本可执行但禁止编辑?

如何通过Linux文件权限实现仅允许执行脚本但禁止编辑?

当然可以!Linux的文件权限系统天生就能搞定这个需求,核心思路就是给目标用户开放执行权限,同时彻底收回他们的写入权限,再配合合理的文件归属设置,就能完美实现限制。

下面是具体的操作步骤:

  1. 先设置脚本的所有者为非目标用户的账号(比如root,这样普通用户压根没资格修改它):
chown root:root /path/to/your/script.sh
  1. 配置文件权限,让所有者拥有完整权限,其他用户只能读和执行:
chmod 755 /path/to/your/script.sh

这里解释一下权限数字:7对应所有者的rwx(读+写+执行),5对应组和其他用户的r-x(读+执行,没有写入权限)。这样目标用户只能运行脚本,根本没法修改原文件。

额外注意事项

  • 如果你的脚本需要用户用sudo执行(比如涉及系统操作),一定要在sudoers配置里精准限制:只允许用户执行该脚本,别给他们宽泛的sudo权限。比如编辑sudoers文件(用visudo更安全),添加一行:
your_username ALL=(ALL) NOPASSWD: /path/to/your/script.sh

这样用户只能sudo跑这个脚本,没法修改它。

  • 这种权限控制只能限制原脚本的编辑,如果用户把脚本复制到自己的目录修改副本执行,那这个方法管不了——但如果你的需求只是保护原脚本不被篡改,上面的设置就完全够用了。

总的来说,通过调整文件所有者和读写执行权限,完全能实现“只能执行、不能编辑”的要求。

内容的提问来源于stack exchange,提问作者Giovani Grifante

火山引擎 最新活动