百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux sudo 命令的威力,比你想象的更有用

ahcoder 2025-01-12 10:59 49 浏览

Linux 的新用户(尤其是 Ubuntu)应该都会到 sudo 命令。对于 sudo 命令,大部分用户过去除了解决“权限不够”消息外,从未将它用于其他任何事情,但实际情况是 sudo 可以做得更多。

关于sudo

关于 sudo 的一个常见误解是它仅用于为普通用户提供 root 权限。事实上,sudo 命令允许你以任何用户身份运行命令,默认通常是 root。

Linux 中的 sudo 命令代表Super User DO。它允许你以另一个用户(包括超级用户)的身份执行命令。sudo 是访问 root 权限并以 root 用户身份执行命令的有效方法。使用 sudo,你可以在不知道 root 密码或以 root 用户身份登录的情况下访问 root 权限。用户需要具有 sudo 权限才能运行该sudo命令。

如何授予用户 sudo 权限

Ubuntu 用户通常认为能够运行 sudo 命令是理所当然的。这是因为,在安装过程中,会创建一个默认用户,并且 Ubuntu 中的默认用户始终设置有 sudo 权限。但是,如果你在 Ubuntu 中使用其他发行版或有其他用户,则可能需要授予用户运行 sudo 命令的权限。

只有少数人应该可以访问 sudo 命令,并且他们应该是系统管理员。用户应该只被授予他们执行工作所需的权限。

要授予用户 sudo 权限,你只需将他们添加到 sudo 组。创建用户时,使用以下命令:

复制sudo usermod -a -G sudo ubuntu
1.

上述命令将创建一个具有主文件夹的用户并将该用户添加到 sudo 组。如果用户已经存在,那么你可以使用以下命令将用户添加到 sudo 组:

复制sudo usermod -a -G sudo linux
1.

当你忘记运行它时一个巧妙的 sudo 技巧

下面是你可以从经验丰富的专家那里学到的一种终端命令技巧,在本例中,用于通过“权限不够”消息。如果这是一个很长的命令,你可以在历史记录中把 sudo 放在前面,可以再打出来,也可以用下面这个简单的命令,用 sudo 运行前面的命令:

复制sudo !!
1.

bang bang (!!)命令是重复和运行您在终端中输入的上一个命令的快捷方式。当您忘记需要管理员权限才能执行某项操作时,此命令非常有用,并且只需键入即可使用super-user权限重复此命令,!!获取最后一次运行命令。

如何通过 sudo 切换到 root 用户

su 命令用于从一个用户帐户切换到另一个用户帐户。在自己的交换机上运行Su命令到超级用户帐户。因此,使用 sudo 命令切换到超级用户,只需执行以下命令:

sudo su

如何在后台运行 sudo 命令

如果要在后台运行需要超级用户权限的命令,请使用 -b 开关运行 sudo 命令,如下所示:

复制sudo -b 命令
1.

请注意,如果正在运行的命令需要用户交互,这将不起作用。

在后台运行命令的另一种方法是在末尾添加一个 & 符号,如下所示:

复制sudo & 命令
1.

如何使用 sudo 权限编辑文件

使用超级用户权限编辑文件的明显方法是运行编辑器,例如GNU nano, 使用 sudo 如下:

复制sudo nano
1.

或者,你可以使用以下语法:

复制sudo -e
1.

如何使用 sudo 以其他用户身份运行命令

sudo 命令可用于以任何其他用户身份运行命令。例如,如果你以用户“linuxmi”身份登录,并且希望以“linux”身份运行该命令,那么你将按以下方式运行 sudo 命令:

复制sudo -u
1.

如果你想尝试一下,请创建一个名为“linux”的新用户,并运行以下Whoami 命令:

复制sudo -u linux whoami
1.

如何验证 sudo 凭据

当你使用 sudo 运行命令时,系统会提示你输入密码。一段时间后,你可以使用 sudo 运行其他命令,而无需输入密码。如果你希望延长该期限,请运行以下命令:

复制sudo -v
1.

使用 sudo 命令列出用户权限

-l 或者--list 选项用于列出用户对输出的权限。您可以使用此选项两次以获得更长的格式。

复制sudo -l
或者
sudo --list
1.2.3.

使用两次 -l 以获得更长的输出:

复制sudo -ll
1.

使用 sudo 命令显示另一个用户的权限

您可以使用 -U 或--other-user 选项 -l 来显示给定用户的用户权限。

复制? sudo -l -U linux
或者
? sudo -l  --other-user linux
1.2.3.

更多关于 sudo

sudo 不仅仅是以超级用户身份运行命令。查看我们的 sudo 手册,了解你可以使用的其他一些选项。

相关推荐

KaOS 2025.05版本发布:全面拥抱Qt6,彻底告别Qt5

KaOSLinux2025.05版本重磅发布:全面拥抱Qt6,开启KDE生态新篇章继2025.03版本发布两个月后,专注于KDE桌面环境、采用XFS文件系统的滚动发行版Li...

基于FIMC接口的CMOS摄像头驱动分析与设计

摘要:目前的嵌入式系统中,USB摄像头使用比较普遍,但其应用会受到传输速度的限制。本文采用一款高速CMOS摄像头,其驱动利用S3C6410内置的FIMC接口技术,采用DMA和ping-pong缓冲...

没错是微软 推出基于Linux的交换机系统

2015-09-2205:59:59作者:郑伟你没看错,为了提升自身Azure云数据中心内网络设备的兼容性及开放性,微软也开始推出基于Linux的网络交换机系统了。这个被称为AzureCloud...

Linus Torvalds 宣布首个 Linux 内核 6.16 候选版本

Linux内核负责人兼创始人LinusTorvalds宣布关闭合并窗口,该窗口用于将主要新功能添加到内核中,并开始发布Linux6.16候选版本,从候选版本1(Linux6.16-r...

Linux内核漏洞将影响Haswell架构服务器

在infoq网站上,GilTene最近报告一个十分重要,但并不为人知Linux内核补丁,特别对采用Haswell架构的Linux系统用户和管理员应该特别关注。报告提醒RedHat发行版的用户(包括...

关于Linux性能调优中网络I/O的一些笔记

写在前面和小伙伴分享一些Linux网络优化的笔记,内容很浅,可以用作入门博文内容结合《Linux性能优化》读书笔记整理涉及内容包括常用的优化工具(mii-tool,ethtool,ifconfig,i...

国产操作系统- Veket Linux(国产操作系统之光银河麒麟阅读理解)

VeketLinux是一个随身的可装在U盘的Linux操作系统。主要面向桌面用户。它的设计重点是提供简单易用且稳定的操作系统,同时保持更新和开发。它具有强大的功能集和广泛的用户基础,可满足...

AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术

IT之家5月21日消息,科技媒体linuxiac昨日(5月20日)发布博文,报道称代号为SageMargay的AlmaLinux9.6发行版已上线,距上一版本9.5发...

跟老韩学Linux运维架构师系列,vim与view的基本使用

下面是vim和view的10个实例:用vim打开一个新文件:vimnewfile.txt这个命令将会在vim编辑器中打开一个新文件。在vim中移动光标:使用方向键或h、j、k、l键来移动光标。在v...

malloc底层原理剖析——ptmalloc内存池

malloc底层为什么是内存池malloc大家都用过,其是库函数。我们都知道库函数在不同的操作系统中其实执行的是系统调用,那么malloc在Linux上执行的是哪个系统调用呢?brk()和mmap()...

Zen 6架构首秀Linux,AMD加速下一代处理器布局

IT之家5月15日消息,科技媒体Phoronix昨日(5月14日)发布博文,报道称AMD已经开始为下一代“Zen6”处理器做准备,已为该构架向Linux内核提交了首个补丁,...

为何越来越多企业转向安卓/Linux工业平板电脑?答案在这里

在工业领域,设备的稳定性至关重要,尤其是工业平板电脑,常年运行在高温、粉尘、潮湿等复杂环境下,一旦系统崩溃或者卡顿,可能会影响整个生产流程。那么,为什么越来越多的企业选择安卓/Linux工业平板电脑,...

从3ms到0.8ms:ARM+Linux如何重塑工业控制实时性标杆

在智能制造领域,产线控制系统对实时性的要求越来越高。根据行业调研数据,超过65%的工业现场出现过因系统响应延迟导致的故障停机,平均每次停机造成的直接损失高达2-8万元。传统x86架构搭配Windows...

看Linux如何"挖坑种树"

写在前面,有人看我的Linux文章说技术难度不深,笔者不是不想写深,笔者是觉得Linux难就难在入门,入门之后你就知道如何上网查询你所要要解决的Linux需求。如果你已入门,此文已对你无用,请略过此...

AlmaLinux 9.6 发布,新增功能亮点纷呈!

距离上一版本AlmaLinux9.5发布六个月后,基于5.14内核的AlmaLinux正式宣布其企业级Linux发行版的9.x系列第六个更新——AlmaLinux9.6(Sag...