本篇文章针对Ubuntu 20.04版本中的疑问进行了深入探讨与解答,以下是不同环节的具体步骤及涉及到的词汇修改:
root"的定义与区分 在Linux中,root用户被广泛认为是一个超级权限用户,享有高于普通用户的全部系统权限,能够访问并控制整个系统,默认情况下,Root 用户的密码默认为空,且不会在未加密的情况下直接作为系统目录的管理员,在特定环境下,确实存在一些途径让普通用户或用户所在的组在不授予他们最高权限的系统下获得系统的最高权限,这类行为称为“root”。
获取root权限的过程及其过程差异 一、Linux内置的安全机制:
- Ubuntu 20.04默认限制了超级管理员(Root)账号的初始密码,要想启用并使用root账户,必须通过
passwd命令输入新密码,随后验证新密码是否正确,如果密码有效,更新root用户的密码。 - 安装 Telnet 服务并启用:
apt-get install xinetd telnetd- 使用以下配置文件启用 Telnet 服务:
sudo nano /etc/inetd.conf # 去除以下注释并替换为所需配置 # 配置标题:Telnet # stream : tcp nowait # server { # port 5986; # options +g user-data-dir=/var/run/telnet-tcp Sessions required save and delete backup files yes inetd off listen on all interfaces local 127.0.0.1 bindaddress = 0.0.0.0 protocol=tcp # } # flush-cache restart
- 提高root用户身份认证:
- 可通过
mv /etc/securetty /etc/securetty.bak删除临时的 securetty 账号,并将其设置为 backups 文件夹,使其他用户的尝试以非root身份登录无从下手。 - 在
/etc/pam.d/login文件中添加名为auth required的配置条目,确保root用户只能通过密码认证:auth required pam_securetty.so session required [success=require] pam_securetty.so require password unlockable
- 可通过
- 创建root用户并设置密码:
- 输入以下命令创建 root 用户:
sudo username=your_username sudo passwd your_password echo "Your new username is $username" echo "Your new password is $your_password" >> /etc/passwd
- 输入以下命令创建 root 用户:
实际操作:
-
登录终端并查看当前用户权限:
whoami
-
切换到 root 用户:
su root
-
在root用户环境中运行特定操作:
- 对于大多数程序和系统组件,即使以root身份执行它们也需要额外的权限才能成功,这通常意味着在指定位置输入
sudo -s或sudo -H来切换到 root 用户。
- 对于大多数程序和系统组件,即使以root身份执行它们也需要额外的权限才能成功,这通常意味着在指定位置输入
-
仅限某些环境使用:
- 如果系统中特定的应用程序(Anaconda、Debian-based Linux发行版的软件包)使用 root 密码模式,那么在启动这些应用程序时,可以通过包含
--prefix=<path-to-root>参数来指定 root 用户的安装路径,-s /path/to/root/usr/bin/python3.9,这样在安装应用程序时 root 用户就会拥有其对应的 root 用户配置。 - 这种模式不仅增加了安全性,也更符合软件开发者在保持程序性能的同时减少安全隐患的需求。
- 如果系统中特定的应用程序(Anaconda、Debian-based Linux发行版的软件包)使用 root 密码模式,那么在启动这些应用程序时,可以通过包含
Ubuntu的root和-sudo的区别
- .root: 指代Super User(全称Super User),即拥有较高权限和超级管理能力的用户,在没有加密的情况下,root用户可以直接访问并操作任何系统资源,包括但不限于删除、编辑系统文件、修改目录、执行命令等。
- .sudo: 表示以root用户身份运行命令,当需要使用root用户权限执行特定任务时,除了root用户的命令外,还需要同时提供另一个密码作为命令行参数,要在终端中执行
sudo apt-get update并检查可用软件包列表时,应将命令传递给sudo -s。
通过设置新的root密码并启用 Telnet 服务以及通过添加 auth required 配置项来提高root身份认证的方式,可以在Ubuntu 20.04中利用sudo -i以root用户身份运行,而要仅限在特定环境(Anaconda 和 Debian-based Linux发行版的软件包)中使用 sudo -s --prefix=<path-to-root> 参数来指定 root 用户的安装路径,则可以通过执行 sudo -H 来切换到root用户,需要注意的是,虽然通过 root 用户身份执行大部分操作是安全的,但在执行敏感或需要绝对控制的系统组件时,建议使用非root用户的身份或遵循更加严格的安全策略。
0
