Operation not permitted

在CentOS7环境下,尝试修改文件夹权限时遇到Operation not permitted错误。本文探讨了i属性检查、用户权限及安全软件冲突等问题,并提供了解决方案。

centos7 下,修改文件夹的权限时,报了这么一个错误。linux 下,此法依然奏效。
错误日志:
chmod: changing permissions of ‘/opt/apps/images/1.png’: Operation not permitted

在这里插入图片描述

网上很多说看看有没有 i 属性的。

lsattr /opt/apps # 查看文件属性

在这里插入图片描述
然后,也没有 i 属性呀。那么应该怎么解决这个问题呢?
若有 i 属性的,可以先按照网上删除 i 属性的方式来解决。命令如下:

chattr -i /opt/apps # 删除 i 属性
chattr +i /opt/apps # 添加 i 属性

若跟我一样,没有 i 属性,还是报 Operation not permitted 这个错误,那么,切换成 root 用户,我这儿的 Administrator 用户是完全复制 root 用户的,单也存在了改不了权限的问题。
在这里插入图片描述

如果 root 还是改不了权限,则应该考虑,服务器上是否安装 安全防范 之类的工具包。

唉~~~ 菜鸟一枚,正挣扎在代码一线中...


恰恰是实现梦想的可能性,才使生活变得有趣。 一一 《牧羊少年的奇幻之旅》

转载于:https://www.cnblogs.com/Mobro/p/10018031.html

以下是针对不同场景下 “operation not permitted” 错误的解决方法: ### Docker部署的MySQL8中 `mbind: Operation not permitted` 错误 此错误出现在Docker容器创建的MySQL8中,在 `error.log` 里多次出现该提示。可以尝试以下解决办法: - **调整内核参数**:这是因为容器的内核设置与MySQL运行要求不匹配。要修改宿主机的内核参数,允许容器使用 `mbind` 系统调用。编辑 `/etc/sysctl.conf` 文件,添加或修改如下参数: ```plaintext vm.overcommit_memory = 1 ``` 然后执行以下命令使参数生效: ```bash sysctl -p ``` - **使用 `--sysctl` 选项**:在启动Docker容器时,通过 `--sysctl` 选项来设置内核参数,示例如下: ```bash docker run --sysctl vm.overcommit_memory=1 -d mysql:8 ``` ### Linux系统下 `chmod` 操作报 `Operation not permitted` 错误 在Linux系统中,使用 `chmod` 命令修改文件或目录权限时,对部分系统文件可能会出现此错误。可以尝试以下解决办法: - **检查文件属性**:某些文件可能被设置了特殊属性,像 `immutable` 属性,导致无法修改权限。使用 `lsattr` 命令查看文件属性: ```bash lsattr test.txt ``` 若文件有 `i` 属性(表示 `immutable`),使用 `chattr` 命令移除该属性: ```bash chattr -i test.txt ``` 之后再尝试修改权限: ```bash chmod 700 test.txt ``` - **检查SELinux或AppArmor状态**:SELinux或AppArmor这类安全机制可能会限制文件权限的修改。可以临时禁用SELinux或AppArmor来测试: - 对于SELinux,临时禁用命令如下: ```bash setenforce 0 ``` - 对于AppArmor,临时禁用命令如下: ```bash sudo systemctl stop apparmor sudo systemctl disable apparmor ``` 禁用后再尝试修改文件权限。若问题解决,可根据需求调整SELinux或AppArmor的策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值