su: cannot set groups: operation not permitted
- 行业动态
- 2023-12-26
- 1
su命令简介
su(switch user)命令是Linux系统中用于切换用户的命令,它允许用户在不退出当前会话的情况下,切换到其他用户,su命令的一般格式为:su [选项] [用户名],[选项]可以是-c或-d,分别表示执行指定的shell脚本或直接登录用户;[用户名]是要切换到的用户的用户名。
解决su命令cannot set groups: Operation not permitted的问题
这个问题通常是由于当前用户没有权限修改其他用户的组而引起的,要解决这个问题,可以尝试以下方法:
1、使用root用户登录
由于su命令需要root权限才能修改其他用户的组,所以首先需要以root用户身份登录,在终端输入以下命令:
sudo su
然后输入root用户的密码,按回车键登录。
2、修改/etc/pam.d/su文件
打开/etc/pam.d/su文件,找到以下行:
%wheel ALL=(ALL) ALL
将该行注释掉,即在行首加上号:
%wheel ALL=(ALL) ALL
保存并关闭文件,这样就允许了普通用户使用su命令切换到其他用户,如果需要恢复原来的设置,只需删除注释即可。
3、使用setgroups命令设置组ID
在终端输入以下命令:
sudo su -c "setgroups $(id -gn)" 用户名
将“用户名”替换为要切换到的用户的用户名,这个命令会将当前用户的组ID设置为目标用户的组ID,从而实现切换用户的目的,需要注意的是,这个命令只能在已经修改了/etc/pam.d/su文件的情况下使用。
相关问题与解答
1、su和sudo有什么区别?
答:su命令是以root用户身份登录,而sudo命令是以其他用户的身份执行指定的命令,sudo命令需要知道目标用户的密码才能执行,而su命令则不需要,sudo命令还可以设置环境变量、限制输出等。
2、如何查看当前用户的组ID?
答:在终端输入以下命令:
id -gn
这个命令会显示当前用户的组ID,如果需要查看其他用户的组ID,可以将“当前用户”替换为“其他用户”。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:https://www.xixizhuji.com/fuzhu/339861.html