栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux 上如何让任意普通用户执行拥有root权限的特定脚本或者程序

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux 上如何让任意普通用户执行拥有root权限的特定脚本或者程序

问题描述:

        有一个脚本,只能是具有root执行权限的用户来执行。这意味着只有root用户和拥有sudo权限的用户才能执行,但我们的需求是让普通用户在没有取得root权限的情况下也能执行,那么就开发另一个可执行程序,以支持普通用户拥有执行此脚本的能力。

解决方案:

        1.  使用setuid(0) API编写一个可执行程序,并限制可以执行拥有root命令的范围,否则会造成灾难(任何用户都具有root权限),在这个程序中去执行真正需要root权限执行的脚本。而setuid的作用是“让执行该程序的用户以该程序的拥有者的权限去执行”。

        2. 将该可执行程序的执行权限加上s (chmod u+s 可执行程序), 即让执行文件的用户以该文件所属组的权限去执行。

       另一种更简单的方法,但不推荐:

       使用root权限给特定的可执行程序开启SetUID权限,且只有开启SETUID权限的命令可以被普通用户执行,这种方法局限性较多,如在开启SetUID权限的程序或者脚本执行没有开启权限的程序仍会遇到“Permission denied”,且不容易监控和维护。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/467412.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号