能力集

2022-03-02  本文已影响0人  追风骚年

正常需要一个执行操作的时候,如果需要 root 权限,我们往往加上 sudo,但是 sudo 给予程序太高的权限,除了我们执行我们需要的操作,可能还能执行其他的事情。

在伟大的 Linux 中,他是有这样的设计,能力集

简单例子


$ whoami # 非 root 用户
jake

$ which date
/usr/bin/date

$ cp /usr/bin/date .  # 将系统的 date 命令复制到当前文件夹

$ ./date  # 
Wed Mar  2 13:43:51 CST 2022

$ ./date -s "2018-08-08 20:08"  # 设置系统时间没有权限 
./date: cannot set date: Operation not permitted
Wed Aug  8 20:08:00 CST 2018

$ sudo setcap "cap_sys_time=pe" ./date # 设置能力集

$ getcap ./date  # 查看能力集
./date = cap_sys_time+ep

$ ./date -s "2018-08-08 20:08"  # 设置系统时间成功
Wed Aug  8 20:08:00 CST 2018

$ ./date 
Wed Aug  8 20:08:01 CST 2018

只需要给程序配置一个合理的能力集他就可以正常工作,不需要给予 sudo。

上一篇 下一篇

猜你喜欢

热点阅读