ubuntu下sudo su的时候提示:“无法执行 sh: 没有那个文件” 是啥原因啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu下sudo su的时候提示:“无法执行 sh: 没有那个文件” 是啥原因啊?相关的知识,希望对你有一定的参考价值。

参考技术A 个人理解:

1)sudo 是请求/etc/sudoers文件,判断是否有权执行sudo命令。
2)如果有权限执行,则后面跟着shell命令。
因此我个人判断是
无法执行 sh: 没有那个文件
说明你shell命令集合中,无su这个命令。
我个人在自己的操作系统是可以执行sudo su,我查看了下我的/bin/下面有su这个文件。追问

我查了。 /bin下是有su 这个文件的。

追答

apt-get install tcsh 安装一下试试。

追问

其实是修改了root用户下的shell, 从bash修改到了sh , 现在修改不回去了。 。

追答

一般修改这种非常重要的文件都需要先备份一个。试试从其他人机子拷贝一个。我不知道能不能用

参考技术B 没见过这样的命令,sudo其实就是在向系统请求su权限,你后面还跟着su,直接sudo ./xxx\xxx.sh就可以了。追问

sudo su 就是切换到root用户 。

追答

那你后面是怎么回事啊这样?
sudo su sh /123/456.sh?
这样肯定不行啊!
你试试这样
sudo sh /123/456.sh

追问

正常情况下sudo su后输入密码就可以切换到Root用户, 然后我试了chsh命令,不过好像也没成功, 然后再sudo su的时候输入密码就报错了。 我就是直接sudo su ,后面没有跟任何的命令。

追答

你可能改了shell,试试能不能恢复过来吧,这个命令不太了解。脑子有什么好建议。

本回答被提问者和网友采纳
参考技术C 我觉得你这样执行命令很奇葩,话说你执行什么命令要同时用上sudo和su呢?

linux给用户添加sudo权限

 

linux下直接运行sudo命令,会提示类似: 
xxxis not in the sudoers file.  This incident will be reported. 
这里,xxx是用户名称,然后导致无法执行sudo命令,这时候,如下解决:
  1. 进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root用)
  2. 编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出。
  3. 然后就行了。



以上是关于ubuntu下sudo su的时候提示:“无法执行 sh: 没有那个文件” 是啥原因啊?的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 在终端执行sudo su 输入密码无效

[Deepin 15] sudo source /etc/profile 提示找不到 source 命令(切换到 root 用户:sudo su)

ubuntu下进入root错误解决方法

Linux系统下给非root用户添加sudo权限

linux给用户添加sudo权限

sudo -i和sudo -s有啥区别