linux超级用户命令 linux的超级用户是什么( 二 )


硬件管理、文件系统管理、用户管理以及涉及到的系统全局配置等等......如果执行某个命令或工具时,提示无权限,大多是需要超级权限来完成,比如用adduser来添加用户 , 这个只能用通过超级权限的用户来完成 。
3、超级用户的授权
(1)su命令
su命令就是切换用户的工具 。比如我们以普通用户beinan登录的 , 但要添加用户任务,执行useradd  , beinan用户没有这个权限,而这个权限恰恰由root所拥有 。解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法并不是最好的;二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root 。我们可以看到当然通过su 切换是一种比较好的办法 。通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码;而普通用户切换到其它任何用户都需要密码验证 。
su 在不加任何参数 , 默认为切换到root用户,但没有转到root用户家目录下 , 也就是说这时虽然是切换为root用户了,但并没有改变root登录环境;用户默认的登录环境,可以在/etc/passwd 中查得到 , 包括家目录,SHELL定义等 。
(2)sudo命令
su 的确为管理带来方便,通过切换到root下,能完成所有系统管理工具,只要把root的密码交给任何一个普通用户 , 他都能切换到root来完成所有的系统管理工作,但通过su切换到root后,也有不安全因素;比如系统有10个用户,而且都参与管理 。如果这10个用户都涉及到超级权限的运用,做为管理员如果想让其它用户通过su来切换到超级权限的root,必须把root权限密码都告诉这10个用户;如果这10个用户都有root权限 , 通过root权限可以做任何事,这在一定程度上就对系统的安全造成了威协 , 我们绝对不能保证这10个用户都能按正常操作流程来管理系统,其中任何一人对系统操作的重大失误,都可能导致系统崩溃或数据损失,所以su 工具在多人参与的系统管理中,并不是最好的选择,su只适用于一两个人参与管理的系统,毕竟su并不能让普通用户受限的使用,这时最好是针对每个管理员的技术特长和管理范围,并且有针对性的下放给权限,并且约定其使用哪些工具来完成与其相关的工作 , 这时我们就有必要用到 sudo 。
通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo 相对于权限无限制性的su来说,还是比较安全的,所以sudo 也能被称为受限制的su,另外sudo 是需要授权许可的,所以也被称为授权许可的su 。
sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户) , 然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户 , 而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权 。
(3)编写/etc/sudoers文件
sudo的配置文件是/etc/sudoers  , 我们可以用他的专用编辑工具visodu,此工具的好处是在添加规则不太准确时,保存退出时会提示给我们错误信息 。配置好后 , 可以用切换到授权的用户下,通过sudo -l 来查看哪些命令是可以执行或禁止的 。
/etc/sudoers 文件中每行算一个规则,前面带有#号可以当作是说明的内容,并不执行;如果规则很长,一行列不下时,可以用\号来续行,这样看来一个规则也可以拥有多个行 。
/etc/sudoers 的规则可分为两类;一类是别名定义,另一类是授权规则;别名定义并不是必须的,但授权规则是必须的 。

推荐阅读