使用chown命令,提示Operation not permitted

时间:2022-03-07 01:26:28
在linux终端输入命令 /usr/sbin/chown -R "user:staff" /Users/user/Documents/test
提示:
chown: /Users/user/Documents/test/test.txt: Operation not permitted

test下面的文件都提示Operation not permitted。
我登录的用户是系统管理员用户user,usr/sbin/chown 这个目录也存在。
可是为什么会Operation not permitted呢。而其它人的机器上执行,却一切正常。比较了好多权限,都一样。
求解。

11 个解决方案

#1


使用chown命令,提示Operation not permitted
附上截图

#2


root 才能 chown 试试 sudo chown

POSIX

Unless chown is invoked by a process with appropriate privileges, the set-user-ID and set-group-ID bits of a regular file will be cleared upon successful completion; the set-user-ID and set-group-ID bits of other file types may be cleared. 

BSD
     The ownership of a file may only be altered by a super-user for obvious
     security reasons.

#3


谢谢啦!已经解决了,staff组名不对。大概是之前的机器是staff组名,在我的程序中就一直是staff组名了;现在换了机器,刚刚查看了一下user用户,发现默认的所属组是21.将staff改成21就行了。
之前一直以为默认的账户都一样,不会有差别;找了好久,实在找不出什么错了,就去仔细的看下下用户信息。发现group不一致。

#4


还是有问题,这样只能一adhoc的方式发布,不能以app store的方式发布,提示主机不可达之类的。
我看了下别人的用户群组都是staff,为什么我的就不能改成staff呢,改完之后再进去还是原来的。

#5


你是想把用户user的用户组改为staff吗?
命令:
usermod -g staff user
使用root 执行上述命令

#6


usermod 命令找不到。一定要再root下吗?
我自己都不知道root的密码
引用 5 楼  的回复:
你是想把用户user的用户组改为staff吗?
命令:
usermod -g staff user
使用root 执行上述命令

#7


必须以root执行
which usermod
echo $?
看看返回值

#8


返回值是1
引用 7 楼  的回复:
必须以root执行
which usermod
echo $?
看看返回值

#9


那说明没有这个命令,或者非root用户看不到这个命令。
建议你还是以root登录再查查这个命令

#10


没有root密码,没其它办法了吗?
我们都没有试过root用户

#11


你可以按Ctrl+Alt+Del重启,到引导的时候,选择Grub的启动项,按e修改,在linux那行最后加一个“ single”(没有引号),然后按F10启动,就可以不用密码进入root身份,也可以修改root密码。不过某些发行版由于安全的考虑,默认禁用了这个功能。
那你就只能试试Rescue CD了。

#1


使用chown命令,提示Operation not permitted
附上截图

#2


root 才能 chown 试试 sudo chown

POSIX

Unless chown is invoked by a process with appropriate privileges, the set-user-ID and set-group-ID bits of a regular file will be cleared upon successful completion; the set-user-ID and set-group-ID bits of other file types may be cleared. 

BSD
     The ownership of a file may only be altered by a super-user for obvious
     security reasons.

#3


谢谢啦!已经解决了,staff组名不对。大概是之前的机器是staff组名,在我的程序中就一直是staff组名了;现在换了机器,刚刚查看了一下user用户,发现默认的所属组是21.将staff改成21就行了。
之前一直以为默认的账户都一样,不会有差别;找了好久,实在找不出什么错了,就去仔细的看下下用户信息。发现group不一致。

#4


还是有问题,这样只能一adhoc的方式发布,不能以app store的方式发布,提示主机不可达之类的。
我看了下别人的用户群组都是staff,为什么我的就不能改成staff呢,改完之后再进去还是原来的。

#5


你是想把用户user的用户组改为staff吗?
命令:
usermod -g staff user
使用root 执行上述命令

#6


usermod 命令找不到。一定要再root下吗?
我自己都不知道root的密码
引用 5 楼  的回复:
你是想把用户user的用户组改为staff吗?
命令:
usermod -g staff user
使用root 执行上述命令

#7


必须以root执行
which usermod
echo $?
看看返回值

#8


返回值是1
引用 7 楼  的回复:
必须以root执行
which usermod
echo $?
看看返回值

#9


那说明没有这个命令,或者非root用户看不到这个命令。
建议你还是以root登录再查查这个命令

#10


没有root密码,没其它办法了吗?
我们都没有试过root用户

#11


你可以按Ctrl+Alt+Del重启,到引导的时候,选择Grub的启动项,按e修改,在linux那行最后加一个“ single”(没有引号),然后按F10启动,就可以不用密码进入root身份,也可以修改root密码。不过某些发行版由于安全的考虑,默认禁用了这个功能。
那你就只能试试Rescue CD了。