在 Ubuntu 中将账户设置为 root

在 Ubuntu 中将账户设置为 root

我想让 ubuntu 将我的登录视为 root。我不需要 sudo。我该怎么办?

对于我需要做的几乎任何事情,我都必须使用 sudo。这会导致问题,特别是当我需要安装软件并且它创建的所有目录都归“root”所有时。

我最近安装了 apache,/var/www 归 root 所有,然后我必须 chmod 777 才能使它正常工作。这太疯狂了。

答案1

我最近安装了 apache,/var/www 归 root 所有,然后我必须 chmod 777 才能使它正常工作。这太疯狂了。

是的,不要这么做。使用:

chown -R www-data.www-data /var/www

相反。否则,您将危及网页的安全性。建议将 chmod 设置为 777 的指南通常是为共享托管提供商编写的教程,因为如果他们已经将其设置为775, 或者755并以 www-data 用户身份进行 chown 没有必要对任何东西进行 chmod 777 除非你正在与系统上的另一个用户共享文件,但即使这样cp/tmp

Sudo 旨在防止您以 root 身份做您不该做的蠢事。如果您需要临时的“root”shell,请执行须藤苏-。请注意,这只能临时使用。我建议在 root 的 .bashrc 中设置 TMOUT=600,这样 root 闲置 10 分钟后就会自动被踢出。

我建议你读一下Ubuntu 服务器指南(直接链接到 pdf)。特别是第 8 章关于安全性。阅读整本书应该能让你更好地监督你的服务/质量/安全性的执行、维护和增强。

答案2

您可以在密码文件中将您的 uid 设置为 0。

我的意思是,这是一个非常愚蠢的想法,但你可以这样做。这与成为 root 是一样的,但从技术上讲是可行的。

答案3

在 Linux 中,仅root具有所有权限。对于普通用户来说,sudo更像su是“以管理员身份运行”,而不是 UAC。您能得到的最接近的权限是:

  • 禁用密码要求sudo- 这已在其他答案中解释过(我不会在手机上重新输入它)。
  • 对于多个操作,运行sudo -i即可获得以 root 身份运行的 shell。
  • 我可能会因此被彻底否决,但总是有办法在启动时以 root 身份登录。(并接受与 Windows 上的管理员相同甚至更多的风险。)

答案4

您可以授予自己无密码的 sudo 权限。sudo不过,您仍然需要在需要 root 权限的命令前输入。查看文件man sudoers中的注释/etc/sudoers(使用该visudo命令进行编辑)。

下面是从我的/etc/sudoers文件(在 Gentoo 上)中摘录的一个有趣的内容:

# Uncomment to allow people in group wheel to run all commands
# %wheel  ALL=(ALL) ALL

# Same thing without a password
# %wheel        ALL=(ALL) NOPASSWD: ALL

您的用户需要加入该wheel组才能使用此功能。

当然,当涉及到权限和安全时,在放宽任何限制之前要仔细考虑。

我最近安装了 apache,/var/www 归 root 所有,然后我必须 chmod 777 才能使它正常工作。这太疯狂了。

是的,那太疯狂了!我强烈建议你恢复/var/www到原来的样子。

相关内容