ubuntu系统下上传文件提示失败,有的目录下可以,猜测权限问题,chmod提示changing permissions of 'xxx': Operation not permitted

可能的原因: 此文件正在被锁定,不允许操作或更改.chmod命令底层的实现是chattr命令,使用此命令后,可以使此文件被锁定,无法进行添加/删除/写入等操作,就算root用户也无法例外,熟悉chattr及lsattr命令即可解决此问题

  1. [root@web01 ~]# chattr +i /etc/passwd #<==防止系统关键文件被篡改,就算是root也不例外
  2. [root@web01 ~]# lsattr /etc/passwd #<==查看此文件带i,就是被锁定了
  3. ----i----------- /etc/passwd
  4. [root@web01 ~]# chattr -i /etc/passwd #<==解锁
  5. [root@web01 ~]# lsattr /etc/passwd #<==正常文件,root可以做任何操作
  6. ---------------- /etc/passwd
  7. [root@web01 ~]# chattr +a /etc/passwd #<==仅仅允许此文件进行追加操作,通常用于日志,如log
  8. [root@web01 ~]# lsattr /etc/passwd
  9. -----a---------- /etc/passwd
  10. [root@web01 ~]# chattr -a /etc/passwd
  11. [root@web01 ~]# lsattr /etc/passwd
  12. ---------------- /etc/passwd

中途使用chattr命令解锁提示Permission denied,此时输入su root命令,切换到root身份登录到系统,此时执行命令就不会报错Permission denied错误了

chattr之后,再chmod 777 文件路径,显示成功,此时在上传文件就成功了。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐