修改文件的所有者失败(chown: changing ownership of `uploads': Operation not permitted)
在项目开发的时候,经常需要将文件上传到指定的目录下。
例如这次用thinkphp5的时候,需要在public目录下建立uploads目录用于存放上传的资源。
首先在命令窗口下输入:
1 mkdir uploads
当前,前提是当前执行命令的用户需要权限(假设此处有,非root)。
问题来了,即使你目录创建成功,对于项目来说并不算成功。
因为项目运行的时候上传文件以及新建目录的时候,可以看出是apache用户。
apache对该用户创建的目录并没有写入权限啊!
当然你可以继续输入:
1 chmod -R 0777
这样,的确apache是可以访问到了,但是,这样的话,实属下册~~
因为所有的人都可以来这里随便指点一下,随便来删除一下啊。
记得当初一个兄弟的遭遇:
刚进一间公司不久,然后执行了一下删除命令,没想到把该公司的一个项目的
所有上传的资源全部删掉了~悲催!此处先不讨论做该项目的人的部署问题。
如果操作得当,大家都可以避免。既然可以在开始就避免,何乐而不为呢!
然后我就用了当前的用户来执行修改文件夹的所有者,毕竟,如果可以将该
文件的所有者修改为apache的话,那只有root和apahce可以在该文件下操纵。
1 chown apache uploads
然后问题就来了,发现命令执行失败了。
1 chown: changing ownership of `uploads': Operation not permitted
刚看到的时候,纠结于一个问题:会不会系统没有apache用户。
就缺没去创建了~其实细想一下,那之前的项目是怎么上传的,文件的创建者还是apache
不行的朋友可以去执行一下:
1 cat /etc/passwd
就知道了
然后突然记起,我并不是在root帐号下操作的。
然后修改了一下命令:
1 sudo chown apache uploads
发现可以执行成功。证实猜想成功。这个命令的执行需要一定的权限。
权限的限制可能来自上级目录或者命令的本身。
修改文件的所有者失败(chown: changing ownership of `uploads': Operation not permitted)的更多相关文章
- 修改文件的所有者失(chown: changing ownership of `uploads': Operation not permitted)
在项目开发的时候,经常需要将文件上传到指定的目录下. 例如这次用thinkphp5的时候,需要在public目录下建立uploads目录用于存放上传的资源. 首先在命令窗口下输入: mkdir upl ...
- chmod: changing permissions of 'xxx': Operation not permitted
众所周知,在linux系统中,权限最大的是root账号,但凡修改涉及到系统本身的重大权限的操作,都需要root的权限才能操作.但是有些时候也有root干不了的事情. 比如:chmod: changin ...
- docker chown: changing ownership of '/var/lib/XXX': Permission denied
Links: 1.entos7下docker Permission denied 2.查看 SELinux状态及关闭SELinux 方法: 1.查看SELinux状态sestatus -vgetenf ...
- linux ,mac连接, git pull error, chmod修改文件的权限/chown修改文件和目录的所有者
去项目目录下 启动服务 setsid npm start & Mac下如何用SSH连接远程Linux服务器 https://www.cnblogs.com/littleBit/p/536280 ...
- chmod修改文件的权限/chown修改文件和目录的所有者
ll指令的显示的信息为(当前目录下只有nameservice1一个目录): drwxr-xr-x 3 hdfs hdfs 4096 4月 14 16:19 nameservice1 上述信息分别表示: ...
- chmod修改文件的权限/chown修改文件和目录的所有者(转)
ll指令的显示的信息为(当前目录下只有nameservice1一个目录): drwxr-xr-x 3 hdfs hdfs 4096 4月 14 16:19 nameservice1 上述信息分别表示: ...
- linux更改文件所有者命令chown命令的使用困惑
[berry@berry:practice] ls -lrt total -rwxrwxrwx berry berry Dec : f1.txt -rwxrwxrwx berry berry Dec ...
- linux修改文件所有者和文件所在组
chgrp 用户名 文件名 -R chown 用户名 文件名 -R -R表示递归目录下所有文件 以上部分已验证 一.修改文件所属组群——chgrp 修改文件所属组群很简单-c ...
- #Linux学习笔记# Linux文件的所有者、群组和其他人
1.关于所有者.群组和其他人 在Linux系统中,每个文件都具有User.Group和Others三种身份的权限配置.那这三种身份分别表示什么意思呢?配置这三种身份的权限有啥意义呢? (1)文件所有者 ...
- Linux删除文件出现rm: cannot remove `.user.ini': Operation not permitted
转自:https://blog.csdn.net/sinat_35861727/article/details/79040755 在Linux中rm -rf的威力是十分巨大的,特别是附带了 -f 参数 ...
随机推荐
- 【转载】 Python Pillow 和 cv2 图片 resize 速度的比较
原文地址: https://zhuanlan.zhihu.com/p/91078855 -------------------------------------------------------- ...
- docker容器挂载host宿主机的本地目录,docker容器与宿主机之间互相拷贝文件
docker容器挂载host宿主机的本地目录,docker容器与宿主机之间互相拷贝文件 参考于: https://blog.csdn.net/weixin_37773766/article/detai ...
- Python被远程主机强制关闭后怎么自动重新运行进程
要实现Python程序在被远程主机强制关闭后能够自动重新运行,我们可以采用几种方法,但最直接且常用的方法之一是结合操作系统级的工具或脚本.在Linux系统中,我们可以使用cron作业或者systemd ...
- 在VS Code中使用Snippet Craft扩展提高编码效率
Snippet Craft 一个VS Code代码片段管理插件 功能 创建和插入代码片段 在编辑器区域右键菜单中点击插入Snippet,或在代码片段视图中点击条目,则会将代码片段插入到当前激活文档的光 ...
- Implicit Autoencoder for Point-Cloud Self-Supervised Representation Learning论文阅读
Implicit Autoencoder for Point-Cloud Self-Supervised Representation Learning 2023 ICCV *Siming Yan, ...
- [kernel] 带着问题看源码 —— 脚本是如何被 execve 调用的
前言 在<[apue] 进程控制那些事儿>一文的"进程创建-> exec -> 解释器文件"一节中,曾提到脚本文件的识别是由内核作为 exec 系统调用处理 ...
- OpenVino快速落地部署教程
OpenVino快速落地部署教程 Openvino是由Intel开发的专门用于优化和部署人工智能推理的半开源的工具包,主要用于对深度推理做优化.本教程适用于Yolov5-7.0,直接跑Yolov5为6 ...
- Element-UI 中使用rules验证 金额 数字
data中定义验证规则:var checkCount = function (rule, val, callback) { if (!val) { return callback(new Error( ...
- C 语言编译过程
编译过程 编译过程是将高级编程语言(如 C 语言)写成的源代码转换成机器可以执行的低级机器语言(通常是二进制代码)的过程.这个过程一般可以分为几个阶段: 预处理(Preprocessing): 预处理 ...
- ArgoWorkflow教程(三)---使用 Artifacts 实现步骤间文件共享
上一篇我们分析了 Workflow.WorkflowTemplate.template 之间的关系.本篇主要分析如何在 argo-workflow 中使用 S3 存储 artifact 实现步骤之间的 ...