![sudo、su、visudo、chroot 和 gksu 之间有什么区别?](https://linux22.com/image/1078662/sudo%E3%80%81su%E3%80%81visudo%E3%80%81chroot%20%E5%92%8C%20gksu%20%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
sudo
、、、、和之间有su
什么区别?visudo
chroot
gksu
答案1
sudo:
Sudo(超级用户执行)允许系统管理员授予某些用户(或用户组)以 root 身份运行部分(或全部)命令的能力,同时记录所有命令和参数。Sudo 以每个命令为基础运行。
它不是外壳的替代品。
功能包括:能够限制用户在每个主机上可以运行的命令,能够对每个命令进行大量记录(提供清晰的审计跟踪,了解谁做了什么),能够配置 sudo 命令的超时时间,能够在许多不同的机器上使用相同的配置文件(sudoers)。
维苏多
visudo 是一个命令行实用程序,允许/etc/sudoers
以安全的方式编辑文件。它/etc/sudoers
默认使用 vi 编辑器界面打开(尽管可以通过将 shell 的 EDITOR 环境变量设置为其他文本编辑器来更改),使用锁定防止多个同时编辑,执行健全性检查并检查解析错误。
苏
su 命令,也称为替代用户、超级用户或切换用户,允许计算机操作员更改与正在运行的虚拟控制台关联的当前用户帐户。
默认情况下,无需任何其他命令行参数,这将把当前用户提升为本地系统的超级用户。
从命令行运行时,su 会要求输入目标用户的密码,如果经过身份验证,则授予操作员该帐户以及该帐户被允许访问的文件和目录的访问权限。
此外,还可以切换到非超级用户的其他用户
根
root 是 Linux 或其他类 Unix 操作系统上默认拥有所有命令和文件访问权限的用户名或帐户。它也被称为 root 帐户、root 用户和超级用户。
当词根作为其他术语的一部分使用时,它还具有一些额外的相关含义。
其中之一是根目录,它是系统中的顶级目录。也就是说,它是所有其他目录(包括其子目录和文件)所在的目录。根目录由正斜杠 ( /
) 指定。
另一个是/root
(发音为斜线 root),它是 root 用户的主目录。
它也可能指的是具有完全权限的系统管理员用户 root。
chroot
chroot 是一种改变当前正在运行的进程及其子进程的明显根目录的操作。例如,如果您 chroot/mnt/chroot-test
那么该目录/mnt/chroot-test
将是您可以通过 引用的虚拟根目录/
。
chroot 的用途
以下是 chroot 的一些可能用途:
隔离不安全和不稳定的应用程序
在 64 位系统上运行 32 位应用程序
在生产系统上安装新软件包之前对其进行测试
在较新版本的 Ubuntu 上运行旧版本的应用程序
构建新的软件包,允许仔细控制安装的依赖包
答案2
chroot
是一种进入文件夹并“伪装”该文件夹以/
执行其中任何内容的方法。这允许您在非启动的 Ubuntu 安装中运行可执行文件,方法是将其安装在其他位置,然后/
使用/bin/bash
(安装中的)获取终端提示符。sudo
- 允许某些帐户进行身份验证,以 root 或其他用户身份运行程序。某些程序可能不需要文件中定义的密码sudoers
。是否允许请求取决于运行的用户(和组)sudo
以及要运行的命令,如中定义sudoers
。su
- 也是一种提升权限的方法,但不同之处在于它以 root(或其他用户)的身份执行完全交互式登录,并提供 bash 提示符(除非使用参数另行指定)。它使用目标用户的凭据作为身份验证。visudo
- 编辑sudoers
文件。这将使用一个特殊的可执行文件来检查文件的语法,以确保您不会sudo
因sudoers
文件损坏而无法访问。如果您尝试保存无效配置,它将阻止您,并返回编辑器进行修复。gksudo
或者gksu
与 sudo 相同,只是它是图形化的,并且重写了一些路径,以便图形程序不会导致用户配置文件的权限问题,尤其是~/.Xauthority
。
答案3
SU 以 root 身份连接您。
终端将在会话中保持为 root 身份。
使用 sudo (超级用户执行),您可以以普通用户身份连接并执行 root 操作。