红联Linux门户
Linux帮助

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

发布时间:2016-11-04 09:46:59来源:qcloud.com/community作者:腾云阁
问题场景:
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.对比不同点:
su命令cannot set groups: Operation not permitted的解决方法
 
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"(http://www.linuxdiyf.com/linux/18602.html),可自行搜索 "Linux 特殊权限"的相关资料。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/25709.html