在项目开发的时候,经常需要将文件上传到指定的目录下。

例如这次用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)的更多相关文章

  1. 修改文件的所有者失(chown: changing ownership of `uploads': Operation not permitted)

    在项目开发的时候,经常需要将文件上传到指定的目录下. 例如这次用thinkphp5的时候,需要在public目录下建立uploads目录用于存放上传的资源. 首先在命令窗口下输入: mkdir upl ...

  2. chmod: changing permissions of 'xxx': Operation not permitted

    众所周知,在linux系统中,权限最大的是root账号,但凡修改涉及到系统本身的重大权限的操作,都需要root的权限才能操作.但是有些时候也有root干不了的事情. 比如:chmod: changin ...

  3. docker chown: changing ownership of '/var/lib/XXX': Permission denied

    Links: 1.entos7下docker Permission denied 2.查看 SELinux状态及关闭SELinux 方法: 1.查看SELinux状态sestatus -vgetenf ...

  4. linux ,mac连接, git pull error, chmod修改文件的权限/chown修改文件和目录的所有者

    去项目目录下 启动服务 setsid npm start & Mac下如何用SSH连接远程Linux服务器 https://www.cnblogs.com/littleBit/p/536280 ...

  5. chmod修改文件的权限/chown修改文件和目录的所有者

    ll指令的显示的信息为(当前目录下只有nameservice1一个目录): drwxr-xr-x 3 hdfs hdfs 4096 4月 14 16:19 nameservice1 上述信息分别表示: ...

  6. chmod修改文件的权限/chown修改文件和目录的所有者(转)

    ll指令的显示的信息为(当前目录下只有nameservice1一个目录): drwxr-xr-x 3 hdfs hdfs 4096 4月 14 16:19 nameservice1 上述信息分别表示: ...

  7. linux更改文件所有者命令chown命令的使用困惑

    [berry@berry:practice] ls -lrt total -rwxrwxrwx berry berry Dec : f1.txt -rwxrwxrwx berry berry Dec ...

  8. linux修改文件所有者和文件所在组

      chgrp  用户名    文件名  -R chown 用户名   文件名  -R -R表示递归目录下所有文件 以上部分已验证 一.修改文件所属组群——chgrp    修改文件所属组群很简单-c ...

  9. #Linux学习笔记# Linux文件的所有者、群组和其他人

    1.关于所有者.群组和其他人 在Linux系统中,每个文件都具有User.Group和Others三种身份的权限配置.那这三种身份分别表示什么意思呢?配置这三种身份的权限有啥意义呢? (1)文件所有者 ...

  10. Linux删除文件出现rm: cannot remove `.user.ini': Operation not permitted

    转自:https://blog.csdn.net/sinat_35861727/article/details/79040755 在Linux中rm -rf的威力是十分巨大的,特别是附带了 -f 参数 ...

随机推荐

  1. mindspore-gpu-2.2.0版本学习笔记

    docker镜像拉取: docker pull swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu-cuda11.6:2.2.0   使用 ...

  2. 使用Linux桌面壁纸应用variety发现的一些问题

    本人Ubuntu18.04 Desktop系统安装桌面壁纸应用variety,设置如下: 使用大致两个小时,主机为NVIDIA显卡,查看显存使用情况: 可以发现随着使用时间的增加variety会逐渐增 ...

  3. Correct the classpath of your application so that it contains a single, compatible version of xxx报错解决

    1.背景 有时候引入包有冲突,比如在Maven项目中的不同模块多次重复引入等 这里遇到的问题是重复映入了如下包: <dependency> <groupId>com.baomi ...

  4. VisionOn:新一代在线制图工具,简单易用又高颜值

    Vision On 一款集流程图.思维导图.白板于一体的轻量级在线图形工具 在工作和学习过程中,通过可视化的图形,有助于清晰高效地表达我们的灵感.想法.思想. 工欲善其事,必先利其器. 目前,思维导图 ...

  5. CH01_初识C++

    CH01_初识C++ 第一个C++程序 新建项目 新建文件 编写代码 #include <iostream> using namespace std; int main() { cout ...

  6. 【CMake系列】10-cmake测试 ctest

    cmake作为一个强大的构建系统指导工具,同时也提供了测试功能,可用于项目的单元测试等,也可以与其他测试框架协作,如googletest,共同完成项目开发中的测试工作,本节我们就来学习 如何借助cma ...

  7. 防止npm被墙的小技巧

    方法一: 全局安装中国服务器的包管理工具 npm i cnpm --global 下载包的时候用cnpm取代npm 方法二: 在小黑板输入:npm config set registry https: ...

  8. C# 使用 PaddleOCRSharp 识别 图片中的文字、 使用QRCoder生成二维码

    目录 使用PaddleOCRSharp识别图片中的文字 PaddleOCRSharp资料汇总: 1.将源码编译成对应的.Net 版本引入到项目中 2. 初始化PaddleOCREngine 3. 调用 ...

  9. NumPy 使用

    NumPy 相当于 Python 中的 MATLAB import numpy as np # 被除数数组 dividends = np.array([10, 20, 30, 40, 50]) # 除 ...

  10. 万丈高楼平地起:UML类图

    UML类图 UML类图 是一种静态的结构图,描述了系统的类的集合,类的属性和类之间的关系,可以简化了人们对系统的理解.UML类图 是系统分析和设计阶段的重要产物,是系统编码和测试的重要模型. 图示 类 ...