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命令,这时候,如下解决:
-
进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root用)
-
编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出。
-
然后就行了。
以上是关于ubuntu下sudo su的时候提示:“无法执行 sh: 没有那个文件” 是啥原因啊?的主要内容,如果未能解决你的问题,请参考以下文章
[Deepin 15] sudo source /etc/profile 提示找不到 source 命令(切换到 root 用户:sudo su)