商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > Linux国产系统有的文件没有权限怎么弄

Linux国产系统有的文件没有权限怎么弄

  发布于2026-08-15 阅读(0)

扫一扫,手机访问

Linux国产系统“没权限”需先区分是传统权限缺失还是SELinux/AppArmor等策略拦截;通过ls -l、lsattr诊断后,再用chmod、chown调整权限,或临时禁用安全策略、清除不可变标志(i)解决。

Linux国产系统有的文件没有权限怎么弄

在 Linux 国产系统环境里,比如统信 UOS、麒麟 Kylin、OpenEuler 等,碰到“有的文件没有权限”这种情况,往往没那么简单。很多时候,它并不只是普通的读写权限不够,而是叠加了这类系统常见的安全机制:例如默认开启的 SELinux/AppArmor 策略、系统保护目录的白名单限制,或者预装安全模块对关键路径的严格管控。真正要先分清的,是权限位本身缺失了,还是被安全策略直接拦住了。

第一步:确认到底是哪类“没权限”

打开终端,执行:ls -l /path/to/file。若显示类似 -rw-r--r-- 却仍打不开,说明不是传统权限问题;若显示 ---------- 或所有者为 【root】 且你非root用户,则需后续操作。

再运行:lsattr /path/to/file。如果输出含字母 【i】(immutable),该文件已被设为不可变,chmod和chown都无效,必须先解除。

用chmod加执行权(针对脚本/程序文件)

方法一:符号法(推荐,直观安全)
执行 chmod u+x filename.sh ——仅给当前用户加执行权,不波及其他用户权限。
若要同时加读和执行:chmod u+rx filename.sh

方法二:数字法(适合批量)
执行 chmod 755 filename.sh → 所有者可读写执行,组和其他人可读执行。
注意:不要对配置文件或日志用755,写权限暴露可能引发安全告警

改所有权(当文件属于root但你要编辑)

第一步:确认当前用户名
执行 whoami 记下输出结果(如 user1)。

第二步:把文件所有者改为当前用户
执行 sudo chown $USER:$USER /path/to/file ——【$USER会自动展开为当前用户名,比手输更可靠】

第三步:验证是否生效
执行 ls -l /path/to/file,检查第三列是否已变成你的用户名。

绕过策略限制(国产系统特有场景)

方法1:临时关闭SELinux(仅调试)
执行 sudo setenforce 0。若之后操作成功,说明是SELinux策略拦截。永久调整需编辑 /etc/selinux/config,将 SELINUX=enforcing 改为 permissive

方法2:检查AppArmor(主要在麒麟桌面版)
执行 sudo aa-status。若看到大量 enforce 状态的配置文件,运行 sudo aa-disable /usr/bin/your-app 临时禁用对应策略。

方法3:查看是否触发系统级防护(如UOS的“应用锁”或“安全中心”)
打开图形界面的「安全中心」→「权限管理」→「文件访问控制」,查找目标路径是否被手动禁止访问。若有,取消勾选并应用。

处理不可变文件(lsattr显示i标志)

执行 sudo chattr -i /path/to/file ——这是唯一能清除不可变标志的命令。
之后才能用chmod或编辑文件。操作完如需恢复保护,再执行 sudo chattr +i /path/to/file

本文转载于:https://www.php.cn/faq/2987808.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注