目录
一、命令的安装
在操作系统中,su和sudo是两个非常重要的命令,用于切换用户身份和提升用户权限。这里介绍如何安装这两个命令。
安装su命令:
-
首先,打开终端(Terminal),输入以下命令:
sudo apt-get update
这个命令会更新软件源列表。
-
然后,输入以下命令来安装su命令:
sudo apt-get install su
回车后,系统会自动下载并安装su命令。
安装sudo命令:
sudo命令在Linux系统中一般都是默认安装的,但如果您的系统中没有sudo命令,可以按照以下步骤进行安装:
-
打开终端(Terminal),输入以下命令来安装sudo:
sudo apt-get install sudo
回车后,系统会自动下载并安装sudo。
-
安装完成后,您还需要将普通用户加入sudo用户组,这样才能使用sudo命令。输入以下命令:
sudo usermod -aG sudo username
其中,username是您要添加的普通用户名。
安装完成后,您就可以使用su和sudo命令了。
二、sudo与su之间的区别
sudo和su都是用于以root身份执行命令的工具,但是它们之间有一些区别:
-
su(Switch User)是一个切换用户的工具,可以将当前用户切换为另一个用户,一般是root用户。su需要输入目标用户的密码才能进行切换。
-
sudo(SuperUser Do)是一个允许普通用户以root权限执行某个命令的工具。sudo允许管理员配置哪些命令可以被普通用户执行,并且在执行命令时不需要知道root密码,只需要输入自己的用户密码即可。
-
su需要知道目标用户的密码,才能进行切换,而sudo不需要知道root密码,只需要输入自己的用户密码即可。
-
su在执行命令时会切换到目标用户的环境,而sudo在执行命令时仍然是现有用户的环境,只是以root权限执行命令。
因此,如果需要在多次执行命令时以root权限进行操作,建议使用sudo。如果只需要在一次性执行命令时切换到root用户,可以使用su。
Linux su 命令
su 命令的主要作用是让你可以在已登录的会话中切换到另外一个用户。换句话说,这个工具可以让你在不登出当前用户的情况下登录为另外一个用户。
su 命令经常被用于切换到超级用户或 root 用户(因为在命令行下工作,经常需要 root 权限),但是 - 正如前面所提到的 - su 命令也可以用于切换到任意非 root 用户。
如何使用 su 命令切换到 root 用户,如下只需在终端直接输入su即可:
su
不带命令行参数的 su 命令
如上,su 命令要求输入的密码是 root 用户的密码。所以,一般 su 命令需要输入目标用户的密码。在输入正确的密码之后,su 命令会在终端的当前会话中打开一个子会话。
su -
还有一种方法可以切换到 root 用户:运行 su - 命令
su - 命令
那么,su 命令与 su - 命令之间有什么区别呢?前者在切换到 root 用户之后仍然保持旧的(或者说原始用户的)环境,而后者则是创建一个新的环境(由 root 用户 ~/.bashrc 文件所设置的环境),相当于使用 root 用户正常登录(从登录屏幕登录)。
sudo vs. su
现在,我们已经讨论了关于 su 命令的基础知识,是时候来探讨一下 sudo 和 su 命令之间的区别了。
三、关于密码:
两个命令的最大区别是:sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。
很明显,就安全而言,sudo 命令更好。例如,考虑到需要 root 访问权限的多用户使用的计算机。在这种情况下,使用 su 意味着需要与其他用户共享 root 用户密码,这显然不是一种好习惯。
此外,如果要撤销特定用户的超级用户/root 用户的访问权限,唯一的办法就是更改 root 密码,然后再告知所有其他用户新的 root 密码。
而使用 sudo 命令就不一样了,你可以很好的处理以上的两种情况。鉴于 sudo 命令要求输入的是其他用户自己的密码,所以,不需要共享 root 密码。同时,想要阻止特定用户访问 root 权限,只需要调整 sudoers 文件中的相应配置即可。
四、su密码忘记如何用sudo进行修改
如果您忘记了sudo密码,您可以通过以下步骤使用root用户更改sudo密码:
1、打开终端并输入以下命令登录root用户:
su -
2、输入root密码并按Enter键。
3、一旦您已登录root用户,输入以下命令更改sudo密码:
passwd username
其中,username是您需要更改密码的用户的用户名。
4、按照提示输入新的sudo密码并确认。
5、退出root用户并使用新的sudo密码执行sudo命令。
请注意,为了安全起见,最好将sudo密码设置为与您的用户密码不同的密码。
五、su和sudo命令使用注意点
-
su命令必须要有root用户密码才能切换到root用户,而sudo命令则可以使用普通用户密码进行授权。
-
su命令可以切换到任何用户,包括其他普通用户,而sudo命令只能切换到具备管理员权限的用户。
-
在使用sudo命令时,建议使用完整的命令路径,以免执行到不安全的程序。
-
在使用sudo命令时,要注意只将需要授权的命令加入sudoers文件并授权给指定用户,以避免安全问题。
-
在使用su命令时,要注意在使用完以后切记使用exit命令退出root权限,避免在root权限下执行其他操作。
-
在使用sudo命令时,可以使用sudo -i命令切换到root用户,这样更加安全,而不会遗留普通用户的环境变量配置。