解决linux用户切换失败 su:execute /usr/bin 没有权限

Posted 2sheep2simple

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决linux用户切换失败 su:execute /usr/bin 没有权限相关的知识,希望对你有一定的参考价值。

问题描述:

回宿舍前,在root用户中安装fish,并修改其shell为fish。回宿舍之后,在图形界面用root用户进行登陆,莫名其妙登陆失败。没有任何提示信息,直接回到登陆界面。用非root用户登陆后,执行su root命令切换到root用户,报错:su execute /usr/bin/ 权限不够。

经过了一番查询,网友们的操作是将/usr/bin目录权限修改为777,还有一些我看不懂的操作。这么做当然是无效的!


 

解决办法:

通过查看/etc/passwd,发现/usr/bin是root用户的shell。想到这里,很自然地产生了一个想法,将root用户的shell换成/usr/bin/bash。然后继续执行su root,成功!

 

成功的原因:

/usr/bin不是shell。root无法把它当做一个登陆shell。因此只需要将它换成一个当前计算机已经安装好的shell就行了。

技术图片

 导致这个错误的原因:

安装fish时,错误地将root的shell修改为/usr/bin。而它本身就不是一个shell,因此无法登陆、无法切换到该目录。

以上是关于解决linux用户切换失败 su:execute /usr/bin 没有权限的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu用su切换,输入密码提示认证失败解决办法

linux下切换用户命令?

ssh以root用户远程登录失败

解决ssh或ftp下root用户认证失败问题

linux无法切换 ORACLE用户的是啥原因的,其他用户都OK

jenkins执行shell脚本,使用scp免密传输失败问题