Linux中su的使用说明

    技术2022-05-20  35

    1、su和su - 的区别

    在我的fc6系统下用普通用户登录,然后用su命令切换到超级用户,再输入ifconfig命令,报错:command not find。而如果用su -命令切换到超级用户,再输入ifconfig命令则能成功执行。这其中涉及的就是su命令与su -命令的区别,man su得到的帮助文档如下:

    -, -l, --login     make the shell a login shell  翻译过来的意思如下:-.-l--login  改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。

       说简单点就是用su命令不会改变当前工作目录以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量,而用su -命令则默认改变成root用户了。打个比方:在普通用户下输入:$pwd/home/mgqw (当前用户目录)$su******        (输入密码)#pwd         (再次查看路径)/home/mgqw   (还是当前用户目录)

    但是如果换成su -的话结果如下:$pwd/home/mgqw (当前用户目录)$su -******        (输入密码)#pwd         (再次查看路径)/root    (切换到超级用户目录)

     

    2、如果在一个root用户执行的sh脚本中,部分地方需要使用其它用户执行命令,采用如下方式

    /bin/su - 切换的用户 -c "执行的命令"


    最新回复(0)