银河麒麟系统中执行脚本失败或提示“Permission denied”,需用chmod数字模式(如755、644、600)或符号模式(如u+x、o-rx)精准设置权限,递归操作须区分目录与文件,图形界面修改后需刷新或用sudo生效。

在银河麒麟系统中执行脚本失败、无法保存配置文件或提示“Permission denied”,通常是因为文件权限设置不匹配当前操作需求,必须通过命令行精准调整读、写、执行位才能解决。
用数字模式一次性设定标准权限
该方法适合快速统一配置,比如让脚本可运行、配置文件仅限所有者编辑。
打开终端,先确认目标文件当前权限:ls -l /path/to/file
输入sudo chmod 755 /path/to/file,赋予所有者读+写+执行(rwx=7),所属组与其他用户读+执行(rx=5)——这是可执行脚本的标准权限。
输入sudo chmod 644 /path/to/file,使所有者具备读写(rw=6),所属组与其他用户仅读(r=4),适用于普通文本配置文件。
输入sudo chmod 600 /path/to/file,仅允许所有者读写,【其他用户完全无访问权限,敏感密钥文件必须用此设置】。
用符号模式动态增减特定权限
当你只想微调某类用户的权限,又不想重设全部位时,符号模式更安全、直观。
方法一:为所有者添加执行权限 → sudo chmod u+x /path/to/file
方法二:移除其他用户读和执行权限 → sudo chmod o-rx /path/to/file
方法三:给所属组加上写权限,同时保留其原有读和执行状态 → sudo chmod g+w /path/to/file
注意:符号模式不会影响未指定的用户类别,也不会覆盖已存在的权限位,比数字模式容错性更高。
递归修改整个目录及内部所有文件权限
当需要批量授权一个项目文件夹(如/webapp/)及其下所有子目录、脚本、配置文件时,必须使用递归参数,否则只改目录本身。
第一步:进入目标目录所在父路径 → cd /srv
第二步:对目录本身设为755并启用setgid,确保新建文件自动继承组身份 → sudo chmod 775 /srv/webapp && sudo chmod g+s /srv/webapp
第三步:为目录内所有文件添加执行权限(仅文件,不含子目录)→ find /srv/webapp -type f -exec chmod +x {} \;
第四步:为目录内所有子目录设为755(避免chmod -R 755误给文件也加x位)→ find /srv/webapp -type d -exec chmod 755 {} \;
图形界面修改后权限未生效怎么办
在文件管理器右键→属性→权限页勾选后,部分场景下更改不会立即反映到终端行为中。
按F5刷新当前文件管理器窗口,重新查看权限显示是否同步。
若终端中仍提示权限错误,运行newgrp $(id -gn)强制更新当前会话的组成员关系。
如果目标文件属于其他用户,图形界面修改权限按钮是灰色的,【此时必须切回终端用sudo chmod,否则无法操作】。

















