精华内容
下载资源
问答
  • Linuxsusu-的区别

    2014-07-09 15:40:00
    大部分Linux发行版的默认账户是普通用户,... 如上图所示,一开始是普通账户,执行userdel时,提示command not found,通过su命令切换到root用户,依旧提示command not found,退出后,重新通过su - 命令,成功实现...

    大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户。Linux中切换用户的命令是su或su -。

    image

    如上图所示,一开始是普通账户,执行userdel时,提示command not found,通过su命令切换到root用户,依旧提示command not found,退出后,重新通过su - 命令,成功实现userdel的命令执行。

    su命令和su -命令最大的区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。

    如下图所示:

    image

    su命令切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;

    而用su -命令切换以后,工作目录变成root的工作目录。

    用echo $PATH命令看一下su和su -以后的环境变量有何不同。

    以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。

    转载于:https://www.cnblogs.com/AndyJee/p/3833697.html

    展开全文
  • Linux系统中,由于root的权限过大,一般情况都不使用它。只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令。 su命令就是切换用户的工具,怎么理解呢?比如我们以...

    前言

    在Linux系统中,由于root的权限过大,一般情况都不使用它。只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令。

    su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户tom登录的,但要添加用户任务,执行useradd ,tom用户没有这个权限,而这个权限恰恰由root所拥有。解决办法无法有两个,一是退出tom用户,重新以root用户登录,但这种办法并不是最好的;二是我们没有必要退出tom用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root。

    我们可以看到当然通过su切换是一种比较好的办法;通过su可以在用户之间切换,而超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。

    sudo

    sudo是一种权限管理机制,依赖于/etc/sudoers,其定义了授权给哪个用户可以以管理员的身份能够执行什么样的管理命令;

    格式:sudo -u USERNAME COMMAND

    默认情况下,系统只有root用户可以执行sudo命令。需要root用户通过使用visudo命令编辑sudo的配置文件/etc/sudoers,才可以授权其他普通用户执行sudo命令。

    sudo的运行有这样一个流程:

    1).当用户运行sudo时,系统于/etc/sudoers文件里查找该用户是否有运行sudo的权限;

    2).若用户具有可运行sudo的权限。那么让用户输入用户自己的password,注意这里输入的是用户自己的password。

    3).假设password正确。变開始进行sudo后面的命令,root运行sudo是不须要输入password的,切换到的身份与运行者身份同样的时候。也不须要输入password。

    su

    su为switch user,即切换用户的简写。

    su是最简单的身份切换名,用su我们能够进行不论什么用户的切换,一般都是su - username,然后输入password就ok了,可是root用su切换到其它身份的时候是不须要输入password的。

    格式为两种:

    su -l USERNAME(-l为login,即登陆的简写)

    su USERNAME

    如果不指定USERNAME(用户名),默认即为root,所以切换到root的身份的命令即为:su -root或su -,su root 或su。

    su USERNAME,与su - USERNAME的不同之处如下:

    • su - USERNAME切换用户后,同时切换到新用户的工作环境中。
    • su USERNAME切换用户后,不改变原用户的工作目录,及其他环境变量目录。

    如何设置初始su密码?

    当我们输入su时会发现要输入密码,我们尝试输入自己当前用户的密码,发现failure。

    但我们又不知道su密码是什么?其实su初始密码可以通过下面方式进行设置:

    ?

    1

    sudo passwd

    设置完后再输入su命令并键入刚才设置的密码即可进入~

    su -

    su -,su -l或su --login 命令改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。用su -命令则默认转换成成root用户了。

    而不带参数的“su命令”不会改变当前工作目录以及HOME,SHELL,USER,LOGNAME。只是拥有了root的权限而已。

    注意:su -使用root的密码,而sudo su使用用户密码

    展开全文
  • sudo 与 su 两个命令的最大区别是:sudo 命令需要输入当前用户的密码...sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。
  • linuxsusu-的區別

    2011-07-25 20:43:00
    - 在最末尾,表示使用目标用户的环境变量,类似于退出登录换被 su 用户进行登录的效果。 如果 su xxx 后面没有 - ,那么很多环境变量还是 su 之前的用户状态。 转载于:...

       su的话当前目录不变,su -的话,主目录换成root的

    - 在最末尾,表示使用目标用户的环境变量,类似于退出登录换被 su 用户进行登录的效果。
    如果 su xxx 后面没有 - ,那么很多环境变量还是 su 之前的用户状态。 

    转载于:https://www.cnblogs.com/google4y/archive/2011/07/25/2116588.html

    展开全文
  • linuxsu和sudo命令

    2017-04-11 13:52:00
    1.su:临时切换用户1.1 su 的适用条件 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行...二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用...

    1.su:临时切换用户

    1.1 su 的适用条件

      su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所拥有。解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法并不是最好的;二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root。我们可以看到当然通过su 切换是一种比较好的办法;
      通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码!而普通用户切换到其它任何用户都需要密码验证;
    1.2 su的用法
    用法:
    su [选项] [-] [USER [参数]...]
    将有效用户 id 和组 id 更改为 USER 的 id。
    单个 - 视为 -l。如果未指定 USER,将假定为 root。
    选项:
     -m, -p, --preserve-environment,不重置环境变量
     -, -l, --login,使 shell 成为登录 shell
     -c, --command <命令>,使用 -c 向 shell 传递一条命令
     --session-command <命令>,使用 -c 向 shell 传递一条命令,而不创建新会话
    1.3 用例
    1.现在在用户user1下,不想切换用户至user2,只想以用户user2的身份执行一条命令
    1. su -c "mkdir /hoem/user2/test" user2
    从上图可以看出,要注意在要执行的命令加上双(或单)引号
    2.切换到root用户
    1. su #不切换至root的家目录
    2. su - #单个 - 视为 -l。如果未指定 USER,将假定为 root
    3. su - root #切换到root并转到root的家目录
    上面三种方式都可以切换到root用户。su 在不加任何参数,默认为切换到root用户,但没有转到root用户家目录下,也就是说这时虽然是切换为root用户了,但并没有改变root登录环境;用户默认的登录环境,可以在/etc/passwd 中查得到。
    3.su与su -
    可以看到两次登录是不同的,加(-)以后会从当前目录切换到要切换用户的家目录,否则还是当前的目录。

    1.4 su的优缺点

      su 的确为管理带来方便,通过切换到root下,能完成所有系统管理工具,只要把root的密码交给任何一个普通用户,他都能切换到root来完成所有的系统管理工作;但通过su切换到root后,也有不安全因素;比如系统有10个用户,而且都参与管理。如果这10个用户都涉及到超级权限的运用,做为管理员如果想让其它用户通过su来切换到超级权限的root,必须把root权限密码都告诉这10个用户;如果这10个用户都有root权限,通过root权限可以做任何事,这在一定程度上就对系统的安全造成了威协;想想Windows吧,简直就是恶梦;“没有不安全的系统,只有不安全的人”,我们绝对不能保证这 10个用户都能按正常操作流程来管理系统,其中任何一人对系统操作的重大失误,都可能导致系统崩溃或数据损失;所以su 工具在多人参与的系统管理中,并不是最好的选择,su只适用于一两个人参与管理的系统,毕竟su并不能让普通用户受限的使用;超级用户root密码应该掌握在少数用户手中,这绝对是真理!所以集权而治的存在还是有一定道理的;

    2.sudo:赋予普通用户管理权限

    2.1 sudo的适用范围

           由于su 对切换到超级权限用户root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统。如果用su 来切换到超级用户来管理系统,也不能明确哪些工作是由哪个管理员进行的操作。特别是对于服务器的管理有多人参与管理时,最好是针对每个管理员的技术特长和管理范围,并且有针对性的下放给权限,并且约定其使用哪些工具来完成与其相关的工作,这时我们就有必要用到 sudo。
      通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo 相对于权限无限制性的su来说,还是比较安全的,所以sudo 也能被称为受限制的su ;另外sudo 是需要授权许可的,所以也被称为授权许可的su;
      sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权;

    2.2 sudo命令的执行流程

    将当前用户切换到超级用户下,或切换到指定的用户下,
    然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户。
    具体工作过程如下:
    当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
    -->确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
    -->若密码输入成功,则开始执行sudo后续的命令

    2.3 sudo常用命令

    sudo [参数选项] 命令
    -b:将要执行的命令放在背景执行
    -l:列出用户在主机上可用的和被禁止的命令;一般配置好/etc/sudoers后,要用这个命令来查看和测试是不是配置正确的;
    -v:验证用户的时间戳;如果用户运行sudo 后,输入用户的密码后,在短时间内可以不用输入口令来直接进行sudo 操作;用-v 可以跟踪最新的时间戳;因为sudo在第一次执行时或是在N分钟内没有执行(N预设为5)会询问密码。这个参数是重新做一次确认,如果超过N分钟,也会问密码。
    -k:删除时间戳,下一个sudo 命令要求用求提供密码;将会强迫使用者在下一次执行sudo时询问密码(不论有没有超过N分钟)
    -u username/#uid 不加此参数,代表要以root的身份执行命令,而加了此参数,能以username的身份执行命令(#uid为该username的UID
    -s:执行环境变量中的SHELL所指定的Shell,或是/etc/passwd里所指定的Shell

    2.4 /etc/sudoers常用配置

           sudo的配置文件是/etc/sudoers ,我们可以用他的专用编辑工具visodu ,此工具的好处是在添加规则不太准确时,保存退出时会提示给我们错误信息;配置好后,可以用切换到您授权的用户下,通过sudo -l 来查看哪些命令是可以执行或禁止的;
           /etc/sudoers 文件中每行算一个规则,前面带有#号可以当作是说明的内容,并不执行;如果规则很长,一行列不下时,可以用\号来续行,这样看来一个规则也可以拥有多个行;
           /etc/sudoers 的规则可分为两类;一类是别名定义,另一类是授权规则;别名定义并不是必须的,但授权规则是必须的;
    /etc/sudoers中的授权规则: 
    授权规则是分配权限的执行规则,我们前面所讲到的定义别名主要是为了更方便的授权引用别名;如果系统中只有几个用户,其实下放权限比较有限的话,可以不用定义别名,而是针对系统用户直接直接授权,所以在授权规则中别名并不是必须的;
    授权规则并不是无章可寻,我们只说基础一点的,比较简单的写法。
    1.sudo时不需要输入命令直接执行
    /etc/sudoers文件设置为允许用户在不输入该用户的密码的情况下使用所有命令
    如设置允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令
    1. %wheel        ALL=(ALL)       NOPASSWD: ALL
    2.让普通用户test具有所有超级用户的权限而又不用输入密码
    1. test ALL=(ALL) NOPASSWD:ALL
    可以看到,用户test可以在使用sudo命令时删除root目录下的abc文件。
    3.针对MySQL数据库的设置,让test组中的test用户具备/etc/init.d/mysqld的权限
    1. test ALL=(ALL) NOPASSWD: /etc/init.d/mysqld
    4.限制只能切换到指定用户组,执行某些命令
    1. test ALL=(root) /bin/chown, /bin/chmod
    上面的例子中,用户test只能切换到root用户组,执行除自身命令以外的/bin/chown和/bin/chmod命令
    通过sudo -l 来查看test用户在这台主机上允许和禁止运行 的命令;
    5.授权某个用户组的用户都可以执行某些命令
    1. %test ALL=/usr/sbin/*,/sbin/*,!/usr/sbin/fdisk
    注意:%test之前不要有空格,通配符/usr/bin/*表示可以使用/usr/bin下所有的命令,但是不能执行/usr/sbin/fdisk命令
    6.使用正则表达式
    1. test1,test2,%test1 ALL=/bin/chown,/bin/chmod,/usr/sbin/adduser,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root,/sbin/parted,/sbin/fdisk
    上面的设置表示,test1,test2及test1所属用户组的用户都可以执行相关命令
    参考:
    1.linux su和sudo命令的区别,http://www.jb51.net/LINUXjishu/12713.html
    2. sudo配置文件/etc/sudoers详解及实战用法,http://blog.csdn.net/field_yang/article/details/51547804
    3./etc/sudoers配置文件详解,https://my.oschina.net/aiguozhe/blog/38706

    转载于:https://www.cnblogs.com/zhangpf/articles/6693224.html

    展开全文
  • 很多新接触Linux的朋友不清楚,su、sudo、sudo su、sudo -i的区别,接下来为大家详细介绍一下。 sudo命令需要输入当前用户的密码,su命令需要输入 root 用户的密码。另外一个区别是其默认行为。sudo 命令只允许...
  • Linuxsu和sudo的区别

    2018-11-21 13:42:50
    su和sudo的区别与使用  一. 使用 su 命令临时切换用户身份 1、 su 的适用条件和威力 ...解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法 并不是最好的;二是我们没有...
  • Linux-su命令和sudo服务

    2020-03-01 14:14:27
    今天来学习如何快捷的在保证当前用户不退出登录的情况下切换用户,以及如何将特定命令的执行权限赋予指定用户,以保证普通用户也能完成root管理员才能完成工作。 切换用户 id:查看当前用户的uid、gid等信息 id ...
  • 1、su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,...二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用户的工作,等任务完成...
  • linux sudo和su

    2019-01-10 14:10:55
    Linux su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。 实例 变更帐号为 root 并在执行 ls 指令后退出变回原使用者 su -c ls root 变更帐号为 root 并传入 -f 参数给新执行的 shell su ...
  • Linuxsu和sudo的区别与使用

    千次阅读 2018-08-24 17:25:19
    su和sudo的区别与使用  一. 使用 su 命令临时切换用户身份 1、 su 的适用条件和威力 ...解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法 并不是最好的;二是我们没有...
  • linuxsu与sudo的理解

    千次阅读 2013-08-20 10:29:38
    前言:一. 使用 su 命令临时切换用户身份 1、su 的适用条件和威力 su命令就是切换用户的工具,...解决办法无法有两个,一是退出beinan用户 一. 使用 su 命令临时切换用户身份 1、su 的适用条件和威力  
  • 正常来说,su命令用于在不退出系统的情况下将当前登录的用户切换到另一个用户。 这是Linux终端用户经常使用的命令。本教程将通过使用案例帮助您理解Linuxsu命令的用法。 语法: su[OPTIONS][USER]...
  • exit命令同于退出shell,并返回给定值。在shell脚本中可以终止当前脚本执行。执行exit可使shell以指定的状态值退出。若不设置状态值参数,则shell以预设值退出。状态值0代表执行成功,其他值代表执行失败。语法exit...
  • vi /etc/pam.d/su 在第一行auth sufficient pam_rootok.so前面加上"#"号 保存退出 即可
  • 一. 使用 su 命令临时切换用户身份 1、su 的适用条件和威力  su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,...解决办法无法有两个,一是退出beinan用户,重新以...
  • 一. 使用 su 命令临时切换用户身份 1、su 的适用条件和威力  su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,...解决办法无法有两个,一是退出bein...
  • linux su 切换用户

    2018-09-09 17:33:33
    切换回root用户:sudo su 退出:exit 切换回普通用户:su 用户名  用户环境变量不改变(例:从zhao1到zhao2,当前目录都是/home/zhao1)  su - 用户名  用户环境变量改变(例:...
  • 命令su用来切换用户;su后加 - 和 不加-的区别如下表: su -user su user shell login shell nologin shell 执行配置文件 ...另外,用户退出时执行配置文件 ~/.bash_...
  • 一. 使用 su 命令临时切换用户身份 1、su 的适用条件和威力  su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行...二是我们没有必要退出beinan用户,可以用su来切...
  • su + Enter password:(root密码) 成功输入密码后成为root用户。 除非退出,否则一直为root用户。sudo + 某项命令 + Enter password:(用户密码) 成功输入密码后,使用root用户的权限来执行命令。 执行完命令...
  • 使用 su 命令临时切换用户身份 1、su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所...
  • ◆允许 su 到 root 非常简单,下面是设置的方法:  me@tipfoo:~$ sudo passwd  Password: Enter new UNIX password: Retype new UNIX password: passwd:已成功更新密码 ...
  • linux su和sudo命令

    2015-11-17 11:05:23
    使用 su 命令临时切换用户身份 1、su 的适用条件和威力  su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限...
  • 前言 在Linux系统中,由于root的权限过大,一般情况都不...二是我们没有必要退出tom用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root。 我们可以看到当然通过su切换是一种比较好的办法;通过s

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 928
精华内容 371
关键字:

linux退出su

linux 订阅