su后“不能”使用某些超级命令的解决

原创文章,转载请注明: 转载自庆亮的博客-webgame架构

本文链接地址: su后“不能”使用某些超级命令的解决

一个基础问题而已。从普通用户使用su之后,某些命令无法使用,如:

bash: usermod: command not found

命令存在,也有了root权限,为何提示“命令找不到”,想一想就明白了是环境变量的问题(PATH)。man su,第一个参数告诉了我们真相。

-, -l, –login
              make the shell a login shell

使用这个选项用于在su的同时(成功的情况下)更换到对应用户的shell,也就是说正常情况下,我们su之后只是获得了root权限,但是shell还是之前的普通权限用户的shell,而普通用户shell的PATH通常是没有/usr/sbin等目录的。解决方法:

1.添加这些超级工具目录到PATH

2.使用su – 来切换到root权限

3.使用命令的完全路径,如/usr/sbin/usermod

Leave a comment

0 Comments.

Leave a Reply

You must be logged in to post a comment.