返回顶部
首页 > 资讯 > 操作系统 >在Linux中怎么设置运行特定命令而无需sudo密码
  • 769
分享到

在Linux中怎么设置运行特定命令而无需sudo密码

2023-06-16 08:06:59 769人浏览 泡泡鱼
摘要

本篇内容主要讲解“在linux中怎么设置运行特定命令而无需sudo密码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Linux中怎么设置运行特定命令而无需sudo密码”吧!我有一台部署在 AW

本篇内容主要讲解“在linux中怎么设置运行特定命令而无需sudo密码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Linux中怎么设置运行特定命令而无需sudo密码”吧!

我有一台部署在 AWS 上的 ubuntu 系统,在它的里面有一个脚本,这个脚本的原有目的是以一定间隔(准确来说是每隔 1  分钟)去检查某个特定服务是否正在运行,如果这个服务因为某些原因停止了,就自动重启这个服务。但问题是我需要 sudo  权限来开启这个服务。正如你所知道的那样,当我们以 sudo 用户运行命令时,我们应该提供密码,但我并不想这么做,实际上我想做的是以 sudo  用户的身份运行这个服务但无需提供密码。假如你曾经经历过这样的情形,那么我知道一个简单的方法来做到这点。今天,在这个简短的指南中,我将教你如何在类  Unix 的操作系统中运行特定命令而无需 sudo 密码。

就让我们看看下面的例子吧。

$ sudo mkdir /ostechnix[sudo] passWord for sk:

在Linux中怎么设置运行特定命令而无需sudo密码

正如上面的截图中看到的那样,当我在根目录(/)中创建一个名为 ostechnix 的目录时,我需要提供 sudo 密码。每当我们尝试以 sudo 特权执行一个命令时,我们必须输入密码。而在我的预想中,我不想提供 sudo 密码。下面的内容便是我如何在我的 Linux 机子上运行一个 sudo 命令而无需输入密码的过程。

在 Linux 中运行特定命令而无需 sudo 密码

基于某些原因,假如你想允许一个用户运行特定命令而无需提供 sudo 密码,则你需要在 sudoers 文件中添加上这个命令。

假如我想让名为 sk 的用户去执行 mkdir 而无需提供 sudo 密码,下面就让我们看看该如何做到这点。

使用下面的命令来编辑 sudoers 文件:

$ sudo visudo

将下面的命令添加到这个文件的***。

sk ALL=NOPASSWD:/bin/mkdir

在Linux中怎么设置运行特定命令而无需sudo密码

其中 sk 是用户名。根据上面一行的内容,用户 sk 可以从任意终端执行 mkdir 命令而不必输入 sudo 密码。

你可以用逗号分隔的值来添加额外的命令(例如 chmod),正如下面展示的那样。

sk ALL=NOPASSWD:/bin/mkdir,/bin/chmod

保存并关闭这个文件,然后注销(或重启)你的系统。现在以普通用户 sk 登录,然后试试使用 sudo 来运行这些命令,看会发生什么。

$ sudo mkdir /dir1

在Linux中怎么设置运行特定命令而无需sudo密码

看到了吗?即便我以 sudo 特权运行 mkdir 命令,也不会弹出提示让我输入密码。从现在开始,当用户 sk 运行 mkdir 时,就不必输入 sudo 密码了。

当运行除了添加到 sudoers 文件之外的命令时,你将被提示输入 sudo 密码。

让我们用 sudo 来运行另一个命令。

$ sudo apt update

在Linux中怎么设置运行特定命令而无需sudo密码

看到了吗?这个命令将提示我输入 sudo 密码。

假如你不想让这个命令提示你输入 sudo 密码,请编辑 sudoers 文件:

$ sudo visudo

像下面这样将 apt 命令添加到 sudoers 文件中:

sk ALL=NOPASSWD:/bin/mkdir,/usr/bin/apt

你注意到了上面命令中 apt 二进制执行文件的路径与 mkdir 的有所不同吗?是的,你必须提供一个正确的可执行文件路径。要找到任意命令的可执行文件路径,例如这里的 apt,可以像下面这样使用 whichis 命令来查看:

$ whereis aptapt: /usr/bin/apt /usr/lib/apt /etc/apt /usr/share/man/man8/apt.8.gz

如你所见,apt 命令的可执行文件路径为 /usr/bin/apt,所以我将这个路径添加到了 sudoers 文件中。

正如我前面提及的那样,你可以添加任意多个以逗号分隔的命令。一旦你做完添加的动作,保存并关闭你的 sudoers 文件,接着注销,然后重新登录进你的系统。

现在就检验你是否可以直接运行以 sudo 开头的命令而不必使用密码:

$ sudo apt update

在Linux中怎么设置运行特定命令而无需sudo密码

看到了吗?apt 命令没有让我输入 sudo 密码,即便我用 sudo 来运行它。

下面展示另一个例子。假如你想运行一个特定服务,例如 apache2,那么就添加下面这条命令到 sudoers 文件中:

sk ALL=NOPASSWD:/bin/mkdir,/usr/bin/apt,/bin/systemctl restart apache2

现在用户 sk 就可以运行 sudo systemctl restart apache 命令而不必输入 sudo 密码了。

我可以再次让一个特别的命令提醒输入 sudo 密码吗?当然可以!只需要删除添加的命令,注销然后再次登录即可。

除了这种方法外,你还可以在命令的前面添加 PASSWD: 指令。让我们看看下面的例子:

sudoers 文件中添加或者修改下面的一行:

sk ALL=NOPASSWD:/bin/mkdir,/bin/chmod,PASSWD:/usr/bin/apt

在这种情况下,用户 sk 可以运行 mkdirchmod 命令而不用输入 sudo 密码。然而,当他运行 apt 命令时,就必须提供 sudo 密码了。


到此,相信大家对“在Linux中怎么设置运行特定命令而无需sudo密码”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 在Linux中怎么设置运行特定命令而无需sudo密码

本文链接: https://lsjlt.com/news/282981.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在Linux中怎么设置运行特定命令而无需sudo密码
    本篇内容主要讲解“在Linux中怎么设置运行特定命令而无需sudo密码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Linux中怎么设置运行特定命令而无需sudo密码”吧!我有一台部署在 AW...
    99+
    2023-06-16
  • 在Linux中如何配置sudo命令在运行时而不输入密码
    这篇文章主要讲解了“在Linux中如何配置sudo命令在运行时而不输入密码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在Linux中如何配置sudo命令在运行时而不输入密码”吧!假设你在只...
    99+
    2023-06-16
  • 在Linux中不输入密码的情况下运行sudo命令
    本篇内容主要讲解“在Linux中不输入密码的情况下运行sudo命令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Linux中不输入密码的情况下运行sudo命令”吧!假设你在只有自己使用的计算机...
    99+
    2023-06-16
  • Linux 中不输入密码运行 sudo 命令的方法
     sudo命令允许受信任的用户作为另一个用户运行程序,默认情况下是root用户。如果您在命令行上花费了大量时间,那么sudo将会是您一直使用的命令之一。 通常,要授予sudo访问权限,请将用户添加到sudoer...
    99+
    2022-06-04
    linux sudo 命令
  • Linux下如何配置sudo命令来不用输入密码运行
    这篇文章将为大家详细讲解有关Linux下如何配置sudo命令来不用输入密码运行,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。此设置在 /etc/sudoers文件中完成,这是使用 sudo 命令的默认安全...
    99+
    2023-06-27
  • 如何在Linux中的特定时间运行命令
    有一天,我使用 rsync 将大文件传输到局域网上的另一个系统。由于它是非常大的文件,大约需要 20 分钟才能完成。我不想再等了,我也不想按 CTRL+C 来终止这个过程。我只是想知道在 linux 操作系统中...
    99+
    2022-06-04
    linux 命令 linux 特定时间运行命令
  • 怎么在PHP中运行Linux命令
    这篇文章的内容主要围绕怎么在PHP中运行Linux命令进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在开发过程中有时会需要在PHP函数中运行Linu...
    99+
    2023-06-28
  • 怎么在Windows中运行Linux bash命令
    这篇文章主要讲解了“怎么在Windows中运行Linux bash命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Windows中运行Linux bash命令”吧!在 Windows...
    99+
    2023-06-05
  • linux中怎么设置无密码ssh登录
    这篇文章给大家介绍linux中怎么设置无密码ssh登录,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。概述在一些常用设备之间ssh, scp,不用输入密码可以节省不少时间。生成密钥先看本地是否有密钥,如果有,则不用生成,...
    99+
    2023-06-13
  • mysql设置复杂密码中含$特殊符号导致无法命令登录
    安全考虑 在设置MYSQL 密码时候加入了$特殊符号,导致在写脚本时运行报以下错误如下经过一番折腾发现原来就是 $修改密码即可去掉$ ...
    99+
    2024-04-02
  • linux怎么运用sed命令高效地删除文件的特定行
    小编给大家分享一下linux怎么运用sed命令高效地删除文件的特定行,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!运用 sed 命令高效地删除文件的特定行正常来说...
    99+
    2023-06-15
  • 怎么在linux命令行中对网络进行配置
    这篇文章将为大家详细讲解有关怎么在linux命令行中对网络进行配置,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。除了通用的ifconfig外,对于Redhat/Fedora发行版,有专用的配...
    99+
    2023-06-10
  • linux中怎么用iwpriv命令设置Atheros无线网卡
    要使用iwpriv命令设置Atheros无线网卡,可以按照以下步骤进行操作: 首先确认系统中是否已经安装了iwpriv命令。可以...
    99+
    2023-10-23
    linux
  • 怎么在Shell脚本中使用sed命令删除特定行
    这篇文章将为大家详细讲解有关怎么在Shell脚本中使用sed命令删除特定行,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。sed命令常用到的两个选项:-i : 直接在文件上编辑 (edit f...
    99+
    2023-06-09
  • 怎么在Linux中通过Shell脚本命令修改密码
    这篇文章给大家介绍怎么在Linux中通过Shell脚本命令修改密码,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。交互方式修改密码 ssh 远程到主机; 切换到root账号;[一般都是切换到root进行密码修改,如果普通...
    99+
    2023-06-09
  • 怎么在 Fedora 30中设置内核命令行参数
    这篇文章将为大家详细讲解有关怎么在 Fedora 30中设置内核命令行参数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在调试或试验内核时,向内核命令行添加选项是一项常见任务。即将发布的 Fedora 3...
    99+
    2023-06-05
  • 怎么在Linux中使用crontab命令定时执行任务
    怎么在Linux中使用crontab命令定时执行任务?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。crontabcron是一个linux下 的定时执行工具,可以在无需人工干...
    99+
    2023-06-09
  • 怎么在win2003 server中使用命令设置定时重启
    本篇文章给大家分享的是有关怎么在win2003 server中使用命令设置定时重启,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。win2003下的定时自动重启1.win2003...
    99+
    2023-06-14
  • 在win8系统中怎么设置睡眠唤醒需要输入密码
      我的系统是wind   1.点击超级按钮的“设置”选项,如下图:   2.点击“设置”选项中下方的“更改电脑设置”,如下图:   3.在&l...
    99+
    2023-06-04
    win8 睡眠 唤醒 系统 密码
  • 怎么在Linux中使用bash命令删除文件中含“指定内容”的行
    怎么在Linux中使用bash命令删除文件中含“指定内容”的行?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。具体如下:#!/bin/sh# 功能:&n...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作