我相信以“root”身份登录时安装应用程序是不安全的。默认情况下,我使用的托管映像不会创建非 root sudo 用户,当服务器启动时,您以 root@servername 身份登录,而不是作为启动期间创建的 sudo 用户登录,如果我从 ISO 安装会发生这种情况。
如果我在以 root 身份登录时安装应用程序,是否可以在不重新安装应用程序的情况下更改进程所有者,或者更多的是关于谁“启动”应用程序?
好的,所以我知道你不应该以 root 用户身份安装
Ubuntu 默认安装了 sudo 管理。这并不意味着它不能用作基于根的系统。它只是被认为更安全一点: 1. 没有人知道您使用名为 root 的管理员,因此他们需要找出您的管理员帐户是什么。2. 使用 sudo 记录信息是由正在做的用户完成的;在基于 root 的系统上,它将被记录为 root。还有一个很明显的问题:root 可以比基于 sudo 的系统更容易破坏您的系统。这些是使用基于 sudo 的系统的主要原因。另一件事:您在网上找到的所有内容都是基于 sudo 的说明。
有没有办法改变它运行的用户
是的。即使使用基于 sudo 的系统,建议更改 apache 使用的用户。apache或者www-data 可能是安装了 apache 的用户。
看
/etc/apache2/envvars
Run Code Online (Sandbox Code Playgroud)
和
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
Run Code Online (Sandbox Code Playgroud)
确保将chown 您的网站根目录和其中的文件分配给该用户和组。您还可以创建一个与用户不同的组,这样您就可以将用户添加到该组,而不是网站的一部分,但可以写入(例如从机器上运行的脚本)。
如果你用不同的用户登录,它是否仍然在 root 下运行,因为 root 安装了它?
取决于您如何设置用户。sudo 仍然可以在基于 Ubuntu 的系统上使用 root 启用,因此您仍然可以创建管理员帐户(基本上要杀死 sudo,您可以删除 sudo 组)。
基本上 sudo 用作安全功能。Ubuntu 曾经被视为入门级 Linux,这是向 Windows 用户介绍基于安全性的坚如磐石的多用户系统的好方法。如果您知道自己在做什么,那么运行 root 不是问题。我希望我不会冒犯任何人,如果我说在我看来,普通的 Ubuntu 用户只是一个桌面用户,并且对命令行的了解低于平均水平,可以信任运行基于 root 的系统。
例如,Debian在安装时询问您是否要使用 root;如果没有安装基于 sudo 的系统。
1 重要的事情:确保在使用 root 时使用强密码,不要将其泄露给其他人。
这是以 root 身份还是 www-data 身份运行的?
与以 root 身份运行的系统无关。情况总是如此:主 apache 线程受到保护,不会被除 root 之外的任何人杀死。您可以使用用户 www-data 杀死孩子,但这些孩子可以并且将被主线程重新生成。从理论上讲,这应该使网站保持活力。