为什么不建议将应用安装在root用户下

Posted smyz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么不建议将应用安装在root用户下相关的知识,希望对你有一定的参考价值。

在 Linux 系统中,root 用户是拥有所有系统权限的超级用户,拥有操纵整个系统的能力。但是,将应用程序安装在 root 用户下可能会导致一些问题

安全性问题

给 root 用户赋予无限制的权限会导致安全漏洞的出现。如果应用程序被攻击,则攻击者可能会获取 root 权限并访问敏感系统文件和数据。

操作失误

由于 root 用户具有所有权限,如果在该用户下进行操作,那么误操作可能会对系统造成重大影响。而将应用程序安装在普通用户下,可以降低这些操作误操作的风险。

因环境差异导致运行问题

由于大多数 Linux 系统都基于文件系统的权限,如果在不同的系统中以 root 用户身份运行应用程序可能会导致环境差异。而使用普通用户,可以将应用程序与特定用户的权限、配置和数据等隔离开,这也有助于更好地管理和维护系统。

总结

因此,为了确保系统的安全性和稳定性,最好将应用程序安装在普通用户下,并为应用程序分配足够的权限和资源。一些特殊任务可能需要使用 root 用户权限,但是建议仅在必要时才使用。

不小心将 phpmyadmin 安装为 root 用户

【中文标题】不小心将 phpmyadmin 安装为 root 用户【英文标题】:Accidentally installed phpmyadmin as root user 【发布时间】:2015-05-01 11:11:14 【问题描述】:

在尝试安装 phpmyadmin 时,我不小心将它安装为 root 用户。

故事开始时,我正在编辑 Apache 的 httpd.conf 文件。为了避免在运行某些命令时出现权限问题,我在终端上做了sudo su -。此后在没有退出 root 用户的情况下,我使用以下命令安装了 phpmyadmin

cd /Library/WebServer/Documents/
tar -xvf ~/Downloads/phpMyAdmin-3.5.2.2-english.tar.gz
mv phpMyAdmin-3.5.2.2-english/ phpmyadmin
cd phpmyadmin
mv config.sample.inc.php config.inc.php

但现在当我尝试在/Library/WebServer/Documents/ 安装 yii 时,我收到以下错误

PHP Warning – yii\base\ErrorException

mkdir(): Permission denied

有什么方法可以在不卸载的情况下从 phpmyadmin 中删除 root 用户权限?

操作系统:OS MAC Mavericks

【问题讨论】:

可能只是权限错误?执行ls -l 以查看 phpmyadmin 目录的所有者和权限,也许还可以使用 chmod 或 chown 来放松它们... @PeterBowers phpmyadmin 文件夹中的ls -l 命令显示以下内容:drwxrwxrwx@ 112 root wheel 3808 Feb 28 14:03 phpmyadmin 您对文档的权限是什么? @PeterBowers:你是对的。所有权限都是针对root的。 drwxr-xr-x 2 root wheel 68 Dec 11 2013 CGI-Executablesdrwxr-xr-x 9 root wheel 306 Mar 1 02:03 Documents-rwxr-xr-x@ 1 cborkotoky wheel 1800576 Feb 28 23:25 Webserver_Documents aliasdrwxr-xr-x 3 root wheel 102 Dec 11 2013 share 【参考方案1】:

chown with the -R flag(递归)可能是你想要的。 (以下内容可能并不完全适用于您的情况,因此请在运行前仔细考虑)。

当然,将 YourUsername 替换为您的实际用户名。下面的命令只是更改文件的所有者而不是组。如果您还需要更改组名,则新名称位于冒号之后:

cd /Library/WebServer/Documents/
chown -R YourUsername: phpmyadmin

【讨论】:

我运行了命令chown -R cborkotoky Documents。它确实将所有者从 root 更改为我自己。我重新启动了 apache,但问题仍然存在。【参考方案2】:

我找到了解决这个问题的方法,很简单...... Yii 中的所有文件夹都具有权限。

在 yii/ 目录中递归地应用 chmod 命令。以下是命令sn -p供参考:

Editors-Mac:Documents cborkotoky$ chmod -R 777 yii
Editors-Mac:Documents cborkotoky$ pwd
/Library/WebServer/Documents
Editors-Mac:Documents cborkotoky$ ls -l
total 80

-rw-r--r--    1 cborkotoky  wheel   3726 Dec 11  2013 PoweredByMacOSX.gif
-rw-r--r--    1 cborkotoky  wheel  31958 Dec 11  2013 PoweredByMacOSXLarge.gif
drwxr-xr-x    5 cborkotoky  wheel    170 Feb 28 23:18 firstProject
-rw-r--r--    1 cborkotoky  wheel     44 Jun 28  2014 index.html.en
drwxrwxrwx@ 112 cborkotoky  wheel   3808 Feb 28 14:03 phpmyadmin
-rw-r--r--    1 cborkotoky  wheel     23 Feb 26 17:59 test.php
drwxrwxrwx    4 cborkotoky  wheel    136 Mar  1 02:03 yii

【讨论】:

我知道这是在您的个人 Mac 上,仅用于开发,所以这可能没什么大不了的,但总的来说,chmod 777 是需要非常小心的。它使小的安全问题很容易成倍增加。在你让它工作后,你可能会尝试删除一些多余的权限。例如, chmod -R o-wx dirname 将删除不是所有者或组的任何人的写入和执行权限。 @ratsbane:感谢您的建议。一定会记下来的。

以上是关于为什么不建议将应用安装在root用户下的主要内容,如果未能解决你的问题,请参考以下文章

perl 下使用非root用户安装模块

dedecms在linux上安装提示没权限解决办法

如何在没有 root 权限的情况下安装 Perl 模块?

linux root不存在

不小心将 phpmyadmin 安装为 root 用户

linux下安装jdk