禁用 requiretty 可以吗?

禁用 requiretty 可以吗?

我正在尝试使用设置部署脚本卡皮斯特拉诺 在一步中,cap deploy:setup脚本连接到我的服务器并尝试运行创建目录的命令。然后我看到一个错误:msudo: sorry, you must have a tty to run sudo

有一个建议的解决方案可以在我的服务器上禁用 requiretty。https://unix.stackexchange.com/a/49078/26271

我想知道这样做是否安全?

答案1

requiretty在服务器上的安全优势非常有限。如果某些非 root 代码被利用(例如 PHP 脚本),则该requiretty选项意味着利用代码将无法通过运行sudo.

攻击者可能还有另一种方法来获得root权限,当然攻击者仍然能够破坏您的网站,但不让攻击者获得root权限意味着以不同用户身份运行的其他服务将继续正常运行,攻击者将无法获得root权限。无法删除系统日志。如果你的sudo规则都没有做到这一点任何危险的事情,比如创建目录,这不是问题。

此外,更可恶的是requiretty,创建 tty 不需要任何特权,例如预计。因此,您不妨关闭它requiretty:它本身并不能提供安全优势。当用户执行时,它确实提供了温和的可审计性优势(因为日志可以更好地了解谁调用了sudo以及它们来自哪里),但当从后台作业执行时则不然。

相关内容