页次: 1
为什么/usr/bin/下的可执行文件的属性都是755?甚至reboot都是????普通用户居然可以重启电脑?什么都可以干,还要sudo干什么?systemctl居然也是755?
最近编辑记录 archlinux77 (2017-01-04 10:43:42)
离线
reboot是systemctl的软链接,systemctl有权限认证
离线
有些普通用户也是可以 systemctl start/stop xxx 的呀,只是需要再次认证(由 policykit 管理)。
而且 systemctl cat / status / list-units 什么的,为什么不让普通用户用呢?
而且还有用户个人的 systemd 实例啊,用 systemctl --user 控制的。
至于 journalctl,也是类似的情况。普通用户默认能读TA自己的日志,系统日志因为 /var/log/journal 下边的数据文件的权限关系读不了。
权限保护的应当是数据,而不是谁都可以复制一份的代码。就算你把这些命令都 700 了,普通用户从另外的系统上传一份过来不照样用么?
离线
sudo 是以其他用户的身份来运行命令,不是给当前用户额外的权限的。
离线
能执行reboot不意味着能重启。看你进程有没有这个capability,euid是什么。这跟文件系统允不允许你执行又没关系,允许你执行ls你就能看到所有文件了?允许你执行vim你就能编辑系统文件了?何况systemd体系中真正执行重启的是systemd,polkit进行鉴权,这俩进程都是root用户进程。
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
学习了。
离线
^^
cat /proc/$$/status | grep Cap
这里可以看属性
离线
页次: 1