时间:2021-05-19
前言
在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密码?
当我们输入su时会发现要输入密码,我们尝试输入自己当前用户的密码,发现failure。
但我们又不知道su密码是什么?其实su初始密码可以通过下面方式进行设置:
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使用用户密码
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
linuxsu命令建议大家切换用户的时候使用su-root这样,否则可能发现某些命令执行不了关于su、su-及sudo的区别请往下看1.命令作用su的作用是变更
原问:linux中,我以root登录,和以其他用户登录然后使用su命令切换至root用户,有什么不一样,如果一样的话,我执行su命令之后,其他的用户还在不在系统
CentOS下实现普通用户和管理团员权限的切换使用su命令实现用户属性的转换普通用户切换到root用户:方法有多重1)su->回车->输入root密码2)su-
一:问题描述 在已经root过的android设备下,app执行一个linux命令,app需要获取su权限,在某些android主板下会出现异常,Command
一、问题产生环境CentOS6.3X64SecureCRT7.0.0英文版二、问题具体描述今天操作自己的一台Linux服务器时,突然su命令不好使了,敲入命令回