linux – Sudo门票和随后的非sudo兄弟进程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – Sudo门票和随后的非sudo兄弟进程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1696字,纯文字阅读大概需要3分钟。
内容图文
![linux – Sudo门票和随后的非sudo兄弟进程](/upload/InfoBanner/zyjiaocheng/957/c07acb0f602946158f5b7267318ec59c.jpg)
想象一下,我的系统上的本地sudo配置了超时,所以一旦我在某个终端运行sudo后进行身份验证,我就不需要再重新验证10分钟了.
这是否有效地使进程作为调用sudo的进程的子进程运行,而不是sudo本身(因此作为siblings,而不是使用sudo运行的进程的子进程)将其权限升级为root的能力?
作为一个具体的例子,想象一下我在终端中运行:
sudo echo "hi"
other_process
echo进程是用sudo运行的,但是other_process不是. other_process可以使用与早期sudo调用相关联的10分钟到期sudo票证,例如,通过sudo启动子进程吗?
我想如果答案是肯定的,那就意味着你需要非常小心你在sudo的超时时间内运行的任何进程.可以想象,运行像other_process这样的不受信任的进程会将其保留在当前用户的沙箱中,但如果它可以使用现有的sudo票证,则可以升级到root.
如果sudo调用不是直接在终端中而是在从终端启动的脚本中,答案是否会改变?
例如,我跑:
script.sh
other_process2
如果在script.sh中,有一行像sudo echo“inside script”,那么脚本随后启动的其他进程是否能够使用sudo票证将其权限升级为root?脚本完成后怎么样:运行script.sh的终端中的其他进程是否仍然可以使用sudo ticket1?
1这些不再是兄弟姐妹,而是以某种方式’阿姨’或’叔叔’过程(父母的兄弟姐妹).
解决方法:
是的,sudo票证适用于在该终端中运行的任何进程(至少以您的用户身份运行).这很容易测试.只需制作一个test.sh(或其他):
#!/bin/sh
sudo apt-get check
然后:
$sudo apt-get check
[sudo] password for anthony:
Reading package lists... Done
Building dependency tree
Reading state information... Done
$./test.sh
Reading package lists... Done
Building dependency tree
Reading state information... Done
通常,不建议运行不受信任的程序,尤其是作为您的用户.你肯定不应该在你有sudo票的终端上这样做.如果你必须运行不受信任的程序,你应该设置安全障碍(至少是一个不同的用户,但更好的是一个VM,或者至少是一个容器 – 为运行不受信任的程序设置一个安全的沙箱是非常重要的).
内容总结
以上是互联网集市为您收集整理的linux – Sudo门票和随后的非sudo兄弟进程全部内容,希望文章能够帮你解决linux – Sudo门票和随后的非sudo兄弟进程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。