目录

授予用户命令权限的步骤

1.给user2设置密码

2.给user2赋予需要执行命令的权限

设置完成之后进行验证的步骤

su 切换用户

        su - 用户名 使用login shell 方式切换用户

sudo 以其他用户身份执行命令

visudo 设置需要使用sudo的用户(组)

        当我们用root用户下想让系统30分钟关机就输入shutdown -h 30这条命令,切换至普通用户user2时就无法使用shutdown -c来取消这条关机的命令,这时候可以使用su - root命令切换回root用户来执行shutdown -c命令,但是这样管理员root用户的密码就被普通用户知道了,不能保证安全性,所以我们怎么样才能既保证安全性,又可以让普通用户执行想要的命令呢?

授予用户命令权限的步骤

以shutdown -c举例

1.给user2设置密码

passwd user2  //为用户user2设置密码

2.给user2赋予需要执行命令的权限

visudo   //打开visudo的样例文件

在后面的三个字段来编辑执行相关的信息

        第一个字段:指的是授予哪一个用户或用户组可以执行这些命令,用户可以直接写用户名称,用户组前面需要加%,比如下图中的%wheel和%users。

        第二个字段:表示在哪一台主机上执行哪些命令,多个命令之间可以用逗号隔开,因为Linux登录可以通过本地登录也可以通过远程登录,比如如果允许本地登录访问可以使用localhost,本地登录和远程登录都允许访问可以使用ALL。

        第三个字段:表示普通用户执行这些指令时是否需要输入密码,不建议使用NOPASSWD。

 赋予user2用户shutdown -c权限步骤:

1.按G将光标切换到文本末端,按o进入另起一行编辑模式

2.输入user2 ALL=/sbin/shutdown -c

3.按ESC键返回普通模式

4.输入:wq保存并退出

         当设置命令时候不清楚命令的完整路径,可以先暂时返回普通模式使用:!which+命令名称来获取命令的完整路径

:!which shutdown   //获取shutdown的完全路径

设置完成之后进行验证的步骤

shutdown -h 30   //现在root用户下设置一个30分钟后关机的命令
su - user2       //切换至user2用户
shutdown -c      //直接输入关闭关机命令,发现权限不够
sudo /sbin/shutdown -c   //使用sudo加上命令的完整路径
最后输入root用户为user2设置的密码之后成功执行shutdown -c

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐