在Linux系统中,由于root的权限过大,一般情况都不使用它。只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用和命令。
su命令就是切换用户的工具,怎么理解呢?
比如我们以普通用户tom登录的,但要添加用户任务,执行,tom用户没有这个权限,而这个权限恰恰由root所拥有。
一是退出tom用户,重新以root用户登录,但这种办法并不是最好的;
二是我们没有必要退出tom用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root。
我们可以看到当然通过su切换是一种比较好的办法;通过su可以在用户之间切换,而超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。
sudo:暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
su:?切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
sudo-i:为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout”。
运行结果用户名(当前用户主目录)
是一种权限管理机制,依赖于,其定义了授权给哪个用户可以以管理员的身份能够执行什么样的管理命令;
默认情况下,系统只有root用户可以执行命令。需要root用户通过使用visudo命令编辑sudo的配置文件,才可以授权其他普通用户执行sudo命令。

1).当用户运行时,系统于文件里查找该用户是否有运行的权限;
2).若用户具有可运行sudo的权限。那么让用户输入用户自己的password,注意这里输入的是用户自己的password。
3).假设password正确。变開始进行sudo后面的命令,root运行sudo是不须要输入password的,切换到的身份与运行者身份同样的时候。也不须要输入password。
为switchuser,即切换用户的简写。
su是最简单的身份切换名,用我们能够进行不论什么用户的切换,一般都是,然后输入password就ok了,可是root用su切换到其它身份的时候是不须要输入password的。
如果不指定USERNAME(用户名),默认即为root,所以切换到root的身份的命令即为:或,或。
当我们输入时会发现要输入密码,我们尝试输入自己当前用户的密码,发现failure。
但我们又不知道su密码是什么?其实初始密码可以通过下面方式进行设置:
设置完后再输入su命令并键入刚才设置的密码即可进入~
,或命令改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。用su-命令则默认转换成成root用户了。
而不带参数的“su命令”不会改变当前工作目录以及HOME,SHELL,USER,LOGNAME。只是拥有了root的权限而已。
注意:使用root的密码,而使用用户密码
本文来源:虚拟主机--Linux系统服务器中su、sudo、sudo(linuxsudo和su区别)
本文地址:https://www.idcbaba.com/zhuji/1398.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。