如何解决su命令cannotsetgroups:Operationnotpermitted的问题

这篇文章将为大家详细讲解有关如何解决su命令cannot set groups: Operation not permitted的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的金塔网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

问题场景:

user_00@hadoop-10-125-224-102:> su root
Password: 
su: cannot set groups: Operation not permitted

1.观察:

(1) 查看 /bin/su

user_00@hadoop-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_00@Tencent64:~> 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)的权限。

关于“如何解决su命令cannot set groups: Operation not permitted的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


分享标题:如何解决su命令cannotsetgroups:Operationnotpermitted的问题
文章出自:http://hbruida.cn/article/pchoeo.html