su:cannotsetgroups:operationnotpermitted

su命令简介

su(switch user)命令是Linux系统中用于切换用户的命令,它允许用户在不退出当前会话的情况下,切换到其他用户,su命令的一般格式为:su [选项] [用户名],[选项]可以是-c或-d,分别表示执行指定的shell脚本或直接登录用户;[用户名]是要切换到的用户的用户名。

目前累计服务客户千余家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供网站设计制作、网站制作、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联公司始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。

解决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,可以将“当前用户”替换为“其他用户”。

当前题目:su:cannotsetgroups:operationnotpermitted
路径分享:http://www.mswzjz.cn/qtweb/news29/270329.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能