su命令可以解决切换用户身份的需求,使的当前用户在不退出登录的情况下,顺畅地切换到其他用户。
另外,当从root管理员切换到普通用户时是不需要密码验证的而从普通用户切换成root管理员就需要进行密码验证了,这也是一个必要的安全检查。
尽管像上面这样使用su命令后,普通用户可以完全切换到root管理员身份来完成相应工作,但这将暴露root管理员的密码从而增大了系统密码被黑客获取的几率;这并不是最安全的方案。
sudo命令用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务。格式为 “sudo [参数] 命令名称”。
sudo服务中的可用参数以及作用
参数 作用
-h 列出帮助信息
-l 列出当前用户可执行的命令
-u用户或UID值 以指定的用户身份执行命令
-k 清空密码的有效时间,下次执行sudo时需要再次进行密码验证
-b 在后台执行指定的命令
-p 更改询问密码的提示语
总的来数,sudo命令具有如下功能:
限制用户执行指定的命令;
记录用户执行的每一条命令;
配置文件(/etc/sudoers)提供集中的用户管理,权限与主机等参数;
验证密码的后5分钟内(默认值)无须再让用户再次验证密码。
当然,如果担心直接修改配置文件会出现问题,则可以使用sudo命令提供的visudo命令来配置用户权限。这条命令在配置用户权限时将禁止多个用户同时修改sudoers配置文件,还可以对配置文件内的参数进行语法检测,并发现参数错误时进行报错。
只有root管理员才可以使用visudo命令编辑sudo服务的配置文件。
使用visudo命令配置sudo命令配置文件时,其操作方法与Vim编辑器中用到的方法一致,因此在编写完成后记得在末行模式下保存并退出。在sudo命令的配置文件中,按照格式将第90行填写指定的信息。
在填写完毕后记得要先保存在退出,然后切换至的普通用户身份,此时就可以用sudo -l命令来查看到所有可执行的命令了。
2020-10-13 20:24:11