美文网首页
15 用户切换

15 用户切换

作者: StarShift | 来源:发表于2016-09-25 01:42 被阅读117次

    Linux系统中,有时候普通用户有些事情是不能做的,除非是root用户才能做到。这时就需要临时切换到root身份来做事了。

    su

    在Linux系统中,可以通过su命令来进行用户切换。可以从普通用户切换到root,也可以从root切换到普通用户。

    直接运行su命令,用户从当前用户切换到root,需要输入root密码。

    newer@ubuntu:~$ su
    Password: 
    su: Authentication failure
    
    

    root 没有配置密码,所以认证失败。
    由于newer 是sudoer, 所以可以通过sudo passwd root 配置root密码

    newer@ubuntu:~$ sudo passwd root
    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    

    root 密码配置成功之后,可以su到root

    newer@ubuntu:~$ su
    Password: 
    root@ubuntu:/home/newer# 
    

    还可以su 回newer,从root用户切换到普通用户不需要输入密码。

    root@ubuntu:/home/newer# su newer
    newer@ubuntu:~$ 
    

    你可以使用echo $LOGNAME来查看当前登录的用户名

    newer@ubuntu:~$ echo $LOGNAME
    newer
    

    su 的语法为: su [-] username
    后面可以跟”-”也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户。
    [图片上传中。。。(14)]
    加”-“后会连同用户的环境变量一起切换过来。su test 后虽然切换到了test用户,但是当前目录还是切换前的/root目录,然后当用su - test时切换用户后则到了test的家目录/home/test。当用root切换普通用户时,是不需要输入密码的。这也体现了root用户至高无上的权利。

    用su是可以切换用户身份,如果每个普通用户都能切换到root身份,如果某个用户不小心泄漏了root的密码,那岂不是系统非常的不安全?

    没有错,为了改进这个问题,产生了sudo这个命令。使用sudo执行一个root才能执行的命令是可以办到的,但是需要输入密码,这个密码并不是root的密码而是用户自己的密码。
    默认只有root用户能使用sudo命令,普通用户想要使用sudo,是需要root预先设定的,即,使用visudo命令去编辑相关的配置文件/etc/sudoers。
    默认root能够sudo是因为这个文件中有一行” root ALL=(ALL) ALL” 在该行下面加入” test ALL=(ALL) ALL”就可以让test用户拥有了sudo的权利。

    相关文章

      网友评论

          本文标题:15 用户切换

          本文链接:https://www.haomeiwen.com/subject/wtffyttx.html