修改文件的所有者失(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)

时间: 2024-08-02 05:36:57

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

linux下修改文件的所有者和所属组chown

owner表示所有人 linux下修改文件的所有者和所属组 chown命令 (注意:需要sudo 变为root来操作chown 才生效)同时所有者或所属组必须存在sudo chown root:root aa -R 递归的更改aa文件夹下所有的文件root:root 表示==>所有者:所属组

修改文件的所有者和访问权限

原文链接: http://www.pfmboy.com/post/100.html 下面代码修改文件的所有者为当前用户并添加everyone完全控制权限.注意一定要先设置一下所有者(owner),然后再进行权限设置,二者一起执行是不会成功的. BOOL AdjustPrivileges(LPWSTR lpName){ HANDLE hToken = NULL; TOKEN_PRIVILEGES tp = {0}; TOKEN_PRIVILEGES oldtp = {0}; DWORD dwSiz

linux系统如何修改文件的所有者和所属组别

目前看到的MySQL文件属于zrby用户和zrby组,我们需要将mysql文件修改为属于root用户和root用户组 输入命令先在修改文件的所有者:(必须是在root用户下才能操作) 输入完命令执行完之后  输入ll查看修改是否成功. 然后我们输入以下的命令,来修改文件的用户组 输入完命令执行完毕后 输入ll查看是否修改成功 此时我们已经修改好了!! 原文地址:https://www.cnblogs.com/jingjiaming/p/8990455.html

chmod: changing permissions of `wget': Operation not permitted

今天想安装ASM,要YUM一下相关的文件 可是... [[email protected] bin]# chmod 664 wgetchmod: changing permissions of `wget': Operation not permitted 奇怪啊,是root用户,怎么没有权限更改 wget 可能已经被 chattr 保护成不可修改(root 也不可以).具体可以用 lsattr 检查 wget 的相关属性.如果 i 位被置,可以用 chattr -i wget 清除 i 位后再

linux-chmod: changing permissions of`XXXXXX` Operation not permitted

解决办法: sudo chattr -i  文件 在执行chmod操作: sudo chmod a+x  文件 chattr命令用来改变文件属性 语法: chattr(选项) 8种模式:a:让文件或目录仅供附加用途: b:不更新文件或目录的最后存取时间: c:将文件或目录压缩后存放: d:将文件或目录排除在倾倒操作之外: i:不得任意更动文件或目录: s:保密性删除文件或目录: S:即时更新文件或目录: u:预防意外删除. -R:递归处理,将指令目录下的所有文件及子目录一并处理: -v<版本编号

linux下修改文件的用户组chgrp和文件所有者chown

1. linux下修改文件用户组 chgrp: change group的简写,修改文件所属的用户组. chgrp users test.log 修改后查看 ls -l -rwxrwx--- 1 work users 0 Jun 8 15:46 test.log 如果要修改该目录下所有文件和目录,使用-R参数. chgrp -R users test 要被改变的group名,必须在 /etc/group 文件中. /etc/group文件记录系统中所有的组名称. 2. linux下修改文件所有者

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

ll指令的显示的信息为(当前目录下只有nameservice1一个目录): drwxr-xr-x 3 hdfs hdfs 4096 4月 14 16:19 nameservice1 上述信息分别表示:权限(drwxr-xr-x 3).所属用户(hdfs)和组(hdfs).大小(4096).时间(4月 14 16:19).名称(nameservice1). 权限中的字母一共有10位数: 其中,第1位有两种选择:-表示是文件,d表示是目录.此处是d,表示nameservice1是目录:   第2位到

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

ll指令的显示的信息为(当前目录下只有nameservice1一个目录): drwxr-xr-x 3 hdfs hdfs 4096 4月 14 16:19 nameservice1 上述信息分别表示:权限(drwxr-xr-x 3).所属用户(hdfs)和组(hdfs).大小(4096).时间(4月 14 16:19).名称(nameservice1). 权限中的字母一共有10位数: 其中,第1位有两种选择:-表示是文件,d表示是目录.此处是d,表示nameservice1是目录:   第2位到

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

[[email protected]:practice] ls -lrt total 12 -rwxrwxrwx 1 berry berry 84 Dec 16 10:20 f1.txt -rwxrwxrwx 1 berry berry 206 Dec 16 10:51 f2.txt -rwxrwxrwx 1 berry berry 372 Dec 16 14:26 f3.txt [[email protected]:practice] chown guest:guest f1.txt chow