su命令cannot set groups: Operation not permitted的解决方法

Posted 偶素浅小浅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了su命令cannot set groups: Operation not permitted的解决方法相关的知识,希望对你有一定的参考价值。

版权声明:本文由曾倩倩原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/103

来源:腾云阁 https://www.qcloud.com/community

问题场景:

user_0[email protected]10-125-224-102:> su root
Password: 
su: cannot set groups: Operation not permitted

1.观察:

(1) 查看 /bin/su

user_0[email protected]10-125-224-102:> ll /bin/su
-rwxr-xr-x 1 user_00 users 37880 May  3  2007 /bin/su

(2)对比能正常使用 su 命令的跳板机中/bin/su文件

user_0[email protected]:~> ll /bin/su
-rwsr-xr-x 1 root root 37880 Jul 14  2014 /bin/su

2.对比不同点:

技术分享

3.分析:

  • -rwsr-xr-x 中 s 表示setuid,可以让执行这个文件时,是以文件的拥有者的权限进行,而不是执行这个命令的用户本身的权限

  • /bin本属于root组的文件改成其它组导致出错,(ps:比较笨的错误,千万不能这样做)

4.解决:

  • 改变文件拥有者:

    hadoop-10-125-224-102:~ # chown -R root:root /bin/su 
    ==>  -rwxr-xr-x 1 root root 37880 May  3  2007 /bin/su
    
  • 设置文件属性

    hadoop-10-125-224-102:~ # chmod u+s /bin/su
    ==>  -rwsr-xr-x 1 root root 37880 May  3  2007 /bin/su
    

5.脑补的知识点:

权限状态: -rwsr-xr-x,此时就被称为Set UID,简称为SUID。那么这个特殊权限的特殊性的作用

  • SUID权限仅对二进制程序(binary program)有效;

  • 执行者对于该程序需要具有x的可执行权限;

  • 本权限仅在执行该程序的过程中有效(run-time);

  • 执行者将具有该程序拥有者(owner)的权限。

类似的权限 "SGID,SBIT" ,可自行搜索 "Linux 特殊权限"的相关资料。


以上是关于su命令cannot set groups: Operation not permitted的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

su切换用户报错cannot set user id: Resource temporarily unavailable

Linux中创建用户 su命令 显示不出来新建的用户 l su: warning: cannot change directory to /home/s

解决 vboxdrv.sh: failed: Cannot change group vboxusers for device /dev/vboxdrv.

s5pv210启动debian出错提示bash: cannot set terminal process group (-1): Inappropriate ioctl for device

linux系统命令学习系列-用户切换命令su,sudo

linux命令学习系列-用户切换su,sudo