当我想将 root shell 放入屏幕时,我通常会这样做sudo screen
。我的一个朋友首先启动screen
,然后在屏幕会话中放入 root shell。
从安全角度来看,哪种方法更好?这重要吗?
答案1
一般来说,只有在真正必要时,进程才应该以 root 身份运行。sudo screen
表示screen
其本身和其下的所有 shell 都以 root 身份运行,而screen
后跟表示sudo
只有该 shell 以 root 身份运行。
因此,仅从安全性的角度来看,后者是更好的选择,但如果您确实需要打开很多 root shell,您可能会决定采用前一种方法以方便使用。
答案2
这是一篇旧帖子,但我最近在谷歌上搜索了同样的问题。我想我可以分享我自己的反馈。我同意“屏幕须藤' 应该是大多数时候运行它的方式,原因有二
安全性 - 以更高权限运行的每段代码都会对服务和数据造成风险,并且拥有这些权限对屏幕没有任何好处。jjlin 已经很好地涵盖了这一点,但是 screen sudo 意味着在提升的权限状态下运行的代码更少。
恢复 - 如果您使用 sudo 来获取具有更高权限的 shell(例如 screen sudo -s),则 screen sudo 意味着整个 shell 都在一个屏幕内运行。这样可以更轻松地确保您在恢复该屏幕时恢复所有状态。
我认为第一个原因(安全)是最有力的理由,但它们都有好处。