当前位置:首页 > 科技 > 正文

sudo命令 sudo命令与su命令有什么区别

两个命令之间的另外一个区别是其默认行为。sudo命令只允许使用提升的权限运行单个命令。而su命令会启动一个新的shell,同时允许使用root权限运行尽可能多的命令,直到明确退出登录。因此,su命令的默认行为是有风险的。

文章目录:

  1. sudo命令与su命令有什么区别
  2. linux下面的sudo命令什么意思
  3. Linux下的命令sudo怎么读?

一、sudo命令与su命令有什么区别

su命令与sudo命令是Linux中比较常用的命令,sudo是以root用户方式执行命令,su是用来变更其他使用者的身份来执行命令。两者具体区别如下:

1、关于密码

两个命令的最大区别是:sudo命令需要输入当前用户的密码,su命令需要输入root用户的密码。很明显,就安全而言,sudo命令更好。例如,考虑到需要root访问权限的多用户使用的主机,使用su命令意味着需要与其他用户共享root用户密码,这显然会降低安全性。

此外,如果要撤销特定用户的超级用户/root用户的访问权限,唯一的办法就是更改root密码,然后再告知所有其他用户新的root密码。

而使用sudo命令就可以很好地处理以上的两种情况。鉴于sudo命令要求输入的是其他用户自己的密码,所以,不需要共享root密码。同时,想要阻止特定用户访问root权限,只需要调整sudoers文件的相应配置即可。

2、默认行为

两个命令之间的另外一个区别是其默认行为。sudo命令只允许使用提升的权限运行单个命令。而su命令会启动一个新的shell,同时允许使用root权限运行尽可能多的命令,直到明确退出登录。

因此,su命令的默认行为是有风险的,因为用户有可能会忘记他们正在以root用户身份进行工作,于是,无意携昌中做出了一些不可恢复的更改。

3、日志记录

尽管sudo命令是以目标用户的身份执行命令,但是它们会使用sudoer所配置的用户名来记录是谁执行命令。而su命令是无法直接跟踪记录用户切换到root用户之后执行了什么操作。

4、灵活性

sudo命令比su命令灵活很多,可以限制sudo用户可以访问哪些命令,用户通过sudo命令只能访问他们工作需要的命令,而su命令让用户有权限做任何事情。

5、sudo su

大概是因为使用su命令或直接以root用户身份登录有风险,所以一些Linux发行版默认禁用root用户账户。然而还是可以成功执行su命令,旦明而不用输入root用户的密码,运行以下命令:sudo

su

由于使用sudo运行命令,只需要输入当前用户的密码。所以,一旦完成操作,su命令将会以root用户身份运行,这意味着它不会再要求输入任何密码。

如果想在系统模隐告中启用root用户账户,必须手动设置root用户密码,可以使用以下命令:sudo passwd root。

二、linux下面的sudo命令什么意思

首先 sudo 表示 “superuser do”。 它允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。然而,大部分时候我们用它来以提升帆瞎的权限来运行命令。

在linux中通过su可以在用户之间切换,而超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。

1.su为switch user,即切换用户的简写。

格式为两种:

su -l USERNAME(-l为login,即登陆的侍脊简写)

su USERNAME

2.如果不指定USERNAME(用户名),默认即为root,所以切换到root的身份的命令即为:su -root或su -,su root 或su。

3.su USERNAME,与su - USERNAME的不同之处如下:

su - USERNAME切换用户后,同时切换到新用户的工作环境中。

su USERNAME切换用户后,不改变原用户的工作目录,及其他环境变量目录。

扩展资料

apt是个很完整和先进的软件包管理程式,使用他能够让您,又简单,又准确的找到您要的的软件包, 并且安装或卸载都很简洁。 他还能够让您的任何软件都更新到最新状态,而且也能够用来对ubuntu进行升级。

"apt是需要用命令来操作的软件,但是现在也出现了很多有老轿渗图像的软件,比如Synaptic, Kynaptic 和 Adept。"

查看、修改或者执行某些命令需要root用户的权限,如果不想直接切换到root用户,就可以使用sudo命令。sudo命令用于针对单个命令授予临时权限。sudo仅在需要时授予用户权限,减少了用户因为错误执行命令损坏系统的可能性。

使用方法是在原有命令之前加上sudo+空格。

用法示例:以root用户的身份修改主机名为zhidao

$ sudo hostname zhidao

参考资料:

三、Linux下的命令sudo怎么读?

su do,速度,一声念更拽的样子.不过之前网友回复的

详细单词是superuserdo,意为超级管理员可以做的动作。

实际上,也可以用sudo命令以其他的用户的身慎颂份执行一条命令

sudo - 以其他用户身份执行一条命令

usage: sudo -h | -K | -k | -V

usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]

usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]

[command]

usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p

prompt] [-T timeout] [-u user] [VAR=value] [-i|-s] [<command>]

usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p

prompt] [-T timeout] [-u user] file ...

选项:

-A, --askpass 使用助手程序进行密码提示

-b, --background 在后台运行命令

-B, --bell ring bell when prompting

-C, --close-from=num 关闭所有 >= num 的文件宽败郑描述符

-E, --preserve-env 在执行命令时保留用户环境

--preserve-env=list preserve specific environment variables

-e, --edit 编辑文件而非执行命令

-g, --group=group 以指定的用户组或 ID 执行命令

-H, --set-home 将 HOME 变量设为目标用户的主目录。

-h, --help 显示帮助消息并退出

-h, --host=host 在主机上运行命令(如果插件支持)

-i, --login 以目标用户身份运枯银行一个登录

shell;可同时指定一条命令

-K, --remove-timestamp 完全移除时间戳文件

-k, --reset-timestamp 无效的时间戳文件

-l, --list

列出用户权限或检查某个特定命令;对于长格式,使用两次

-n, --non-interactive 非交互模式,不提示

-P, --preserve-groups

保留组向量,而非设置为目标的组向量

-p, --prompt=prompt 使用指定的密码提示

-r, --role=role 以指定的角色创建 SELinux 安全环境

-S, --stdin 从标准输入读取密码

-s, --shell 以目标用户运行

shell;可同时指定一条命令

-t, --type=type 以指定的类型创建 SELinux 安全环境

-T, --command-timeout=timeout terminate command after the specified time limit

-U, --other-user=user 在列表模式中显示用户的权限

-u, --user=user 以指定用户或 ID

运行命令(或编辑文件)

-V, --version 显示版本信息并退出

-v, --validate 更新用户的时间戳而不执行命令

-- 停止处理命令行参数

以上是问答百科为你整理的3条关于sudo的问题,希望对你有帮助!更多相关sudo的内容请站内查找。