Linux系统下,执行su命令时报错找不到,解决方法 (linux中su 命令找不到)

在Linux系统中,当我们需要以超级管理员的权限来执行某些命令时,通常会使用su命令,即”Switch User”,用来切换当前用户的身份到所指定的用户,常常用于切换到root账户。

然而,有时候我们在执行su命令时,可能会遇到报错的情况,提示无法找到su命令,造成无法正常切换用户。这种情况下,我们需要针对这个问题采取措施来解决它。

本文将介绍几种解决方法,帮助大家快速解决这个问题,并顺利进行su命令。

1.检查系统环境变量

su命令是Linux系统中的一个非常基础的工具,它通常应该不会丢失或找不到。如果我们在执行su命令时遇到了问题,首先可以检查系统环境变量中是否设置了su命令的路径。

可以使用以下命令进行检查:

$ echo $PATH

会输出当前系统环境变量中的所有路径。如果没有发现/usr/bin的路径,那么就可能是缺少了一个PATH环境变量的条目,我们需要手动为其添加。

可以通过编辑/etc/profile文件,在其中加入以下语句,手动为PATH添加/usr/bin:

export PATH=$PATH:/usr/bin

然后执行以下命令使得配置生效:

$ source /etc/profile

之后再执行su命令,应该就可以正常工作了。

2.检查su命令的权限和拥有者

当我们执行su命令时,首先需要确认该命令的权限和拥有者是否正确。

可以通过以下命令进行查询su命令的权限和拥有者:

$ ls -la /bin/su

其中,-l参数表示查看文件列表时,以长格式输出;-a参数表示打印所有文件,包括以”.” 开头的系统文件;

如果发现权限或拥有者出现了问题,则可以通过以下命令进行更改:

$ chmod +x /bin/su

$ chown root:root /bin/su

这些命令将重新设置su命令的权限和拥有者,并确保其在后续的使用中得到正确的识别。

3.从备份中恢复su命令

如果我们尝试了以上两种方法仍无法解决问题,则可能是su命令已经被破坏了。

在这种情况下,我们可以尝试从备份文件中将su命令复制到相应的位置。

可以使用以下命令查找可用的备份:

$ ls -l /usr/bin/su*

其中,*表示后面跟一个或多个字符。

找到一个备份文件后,可以使用以下命令将其复制并替换原有的su命令。

$ cp /usr/bin/su_backup /usr/bin/su

然后再次执行su命令,应该就能成功执行了。

结论

以上这些方法都是在Linux系统下可能出现的解决办法。通过检查系统环境变量、检查su命令的权限和拥有者以及从备份文件中恢复su命令,我们应该能够快速解决su命令”not found”的问题,并成功以管理员身份执行任意命令。

需要注意的是,如果尝试上述方法仍然不能解决问题,那就有可能是系统本身出现了问题,这时需要进一步排查和修复。在 Linux 系统中操作时,一定要谨慎小心,不要随便删除或更改文件,以免出现严重后果。

相关问题拓展阅读:

关于Linux中su的命令

su命令功能说明:切换用户身份。

语  法:su

>

补充说明:su可让用户暂时变更登入的身份。变罩孝渗更时须输入所要变更的用户帐号与密码。

参  数:

 -c或–command=  执行完指定的指令后,即恢复原来的身份。

 -f或–fast  适用于csh与tsch,使shell不用去读取启动文件。

 -.-l或–login  改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。

 -m,-p或–preserve-environment  变更身份时,不要变更环境变量。

 -s

或–shell=

 指定要执行的shell。

 –help  显示帮助。

 –version  显示版本信息。

   指定要变更的用户。若不指定此参数,则预设变更为root。

示例: 

su -c ls root #变更帐号为 root 并在执行 ls 指令后退出变回原使用者。

su root -f #变更帐号为 root 并传入 -f 参数给新执行的 shell。

su – test #变更帐号为 test 并改变工作目录至 test 的家目录(home dir)。物脊

Linux su,全拼:switch user,命令用于变更为其他使用者的身份,除root外,需要键入使用者的密码。

使用权限:所有使用者

语法:

su

参数说明:

-f或者–fast不必读启动档,仅用于csh或tcsh

-m -p或者-preserve-environment执行su时不改变环境变咐州数

-c command或者–command=command变更为账号为USER的使用者并执行指令后再变回原来使用者

-s shell或者–shell=shell指定要执行的shell,预设值为/etc/passwd内的该使用者shell

-help 显示说明文件

–version 显示版本资讯

-l或者–login这个参数加了衡唤蔽之后,就好像是重新login为该使用者一样,大部分环境变数都是以该使链颤用者为主,并且工作目录也会改变,如果没有指定USER,内定是root

USER 欲变更的使用者账号

su命令无法使用

在使用新安装的Linux系统(尤其是ubuntu)时,su命令通常友纯默认是无法使用的,当需要用到su命令好野咐时,需要其他的命令打开

在百度上一番搜索,在贴吧上找到了解决脊谈方案: 链接

linux中su 命令找不到的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux中su 命令找不到,Linux系统下,执行su命令时报错找不到,解决方法,关于Linux中su的命令,su命令无法使用的信息别忘了在本站进行查找喔。


数据运维技术 » Linux系统下,执行su命令时报错找不到,解决方法 (linux中su 命令找不到)