Linux 中不输入密码运行 sudo 命令的方法

sudo命令允许受信任的用户作为另一个用户运行程序,默认情况下是root用户。如果您在命令行上花费了大量时间,那么sudo将会是您一直使用的命令之一。

通常,要授予sudo访问权限,请将用户添加到sudoers文件中定义的sudo组。在Debian,Ubuntu及其衍生产品上,sudo组的成员在基于RedHat的发行版(如CentOS和Fedora)上获得sudo权限,sudo组的名称是wheel。

在运行sudo命令之前,系统将提示该组的每个成员输入密码。这增加了额外的安全层,是向用户授予sudo权限的首选方式。

如下图:

但是,在某些情况下,例如运行自动脚本,您可能需要配置sudoers文件并允许某些用户运行sudo命令而不要求输入密码。

将用户添加到Sudoers文件

sudoers文件包含确定用户和组的sudo权限的信息。

您可以通过修改sudoers文件或将配置文件添加到/etc/sudoers.d目录来配置用户sudo访问权限。此目录中的所有文件都包含在sudoers文件中。

在进行任何更改之前,最好备份当前文件:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo cp /etc/sudoers{,.backup_$(date +%Y%m%d)}

date命令会将当前日期附加到备份文件名。

使用visudo命令打开/etc/sudoers文件:

sudo visudo

更改sudoers文件时始终使用visudo此命令检查后编辑,如果存在语法错误,则不会保存更改。 如果使用文本编辑器打开文件,语法错误将导致丢失sudo访问权限。

在大多数系统上,visudo命令使用vim文本编辑器打开/etc/sudoers文件。 如果您没有使用vim的经验,可以使用其他文本编辑器。 例如,要将编辑器更改为GNU nano,您将运行:

sudo EDITOR=nano visudo

向下滚动到文件的末尾并添加以下行,该行允许用户“linuxidc”使用sudo运行任何命令而无需开始询问密码:

/etc/sudoers

linuxidc  ALL=(ALL) NOPASSWD:ALL

如下图:

不要忘记使用您要授予访问权限的用户名更改“linuxidc”。

如果要允许用户仅运行特定命令而不输入密码,请在NOPASSWD关键字后指定命令。

例如,要仅允许使用mkdir和mv命令:

在/etc/sudoers文件

linuxidc ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv

完成后,保存文件并退出编辑器。

使用/etc/sudoers.d

您可以使用授权规则将新文件添加到/etc/sudoers.d目录,而不是编辑sudoers文件。 这种方法将使sudo权限的管理更加可维护。

打开文本编辑器并创建文件:

sudo nano /etc/sudoers.d/linuxidc

您可以根据需要命名文件,但通常最好使用用户名作为文件名。

/etc/sudoers.d/linuxidc

添加与添加到sudoers文件中相同的规则:

linuxidc  ALL=(ALL) NOPASSWD:ALL

最后,保存文件并关闭编辑器。

总结

当您拥有非root用户需要执行管理任务的脚本时,运行不带密码的sudo非常有用。

以上所述是小编给大家介绍的Linux 中不输入密码运行 sudo 命令的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • linux系统sudo命令详解

    比如:运行一些像mount,halt,su之类的命令,或者编辑一些系统配置文件,像/etc/mtab,/etc /samba/smb.conf等.这样以来,就不仅减少了root用户的登陆次数和管理时间,也提高了系统安全性. 一. sudo的特点 sudo扮演的角色注定了它要在安全方面格外谨慎,否则就会导致非法用户攫取root权限.同时,它还要兼顾易用性,让系统管理员能够更有效,更方便地使用它.sudo设计者的宗旨是:给用户尽可能少的权限但仍允许完成他们的工作.所以,sudo有以下特点: # 1.

  • Linux中sudo、su和su -命令的区别小结

    前言 在Linux系统中,由于root的权限过大,一般情况都不使用它.只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令. su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户tom登录的,但要添加用户任务,执行useradd ,tom用户没有这个权限,而这个权限恰恰由root所拥有.解决办法无法有两个,一是退出tom用户,重新以root用户登录,但这种办法并不是最好的:二是我们没有必要退出tom用户,可以用su来切换到root下进行

  • Linux系统中sudo命令的十个技巧总结

    前言 在Linux和其他类Unix操作系统中,只有root用户可以运行所有命令并在系统上执行某些关键操作,如安装和更新,删除包,创建用户和组,修改重要的系统配置文件等. 然而,承担root用户角色的系统管理员可以允许其他正常系统用户在sudo命令和几个配置的帮助下运行某些命令以及执行包括上述的一些重要系统操作. sudo 表示 "superuser do". 它允许已验证的用户以其他用户的身份来运行命令.其他用户可以是普通用户或者超级用户.然而,大部分时候我们用它来以提升的权限来运行命

  • Linux 中不输入密码运行 sudo 命令的方法

    sudo命令允许受信任的用户作为另一个用户运行程序,默认情况下是root用户.如果您在命令行上花费了大量时间,那么sudo将会是您一直使用的命令之一. 通常,要授予sudo访问权限,请将用户添加到sudoers文件中定义的sudo组.在Debian,Ubuntu及其衍生产品上,sudo组的成员在基于RedHat的发行版(如CentOS和Fedora)上获得sudo权限,sudo组的名称是wheel. 在运行sudo命令之前,系统将提示该组的每个成员输入密码.这增加了额外的安全层,是向用户授予su

  • java在linux系统下开机启动无法使用sudo命令的原因及解决办法

    操作系统:centos 5.2场景描述:我们有一个WEB工程,客户要求使用普通用户(例如chb)运行,然后在页面上有个按钮,点击之后可以关机 实现方式:1. JAVA代码: 复制代码 代码如下: public static boolean shutDownForLinux() {                try {                        Runtime.getRuntime().exec("sudo /sbin/poweroff");           

  • linux sudo命令详解

    简单的说,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码. 严谨些说,sudo 允许一个已授权用户以超级用户或者其它用户的角色运行一个命令.当然,能做什么不能做什么都是通过安全策略来指定的.sudo 支持插件架构的安全策略,并能把输入输出写入日志.第三方可以开发并发布自己的安全策略和输入输出日志插件,并让它们无缝的和 sudo 一起工作.默认的安全策略记录在 /etc/sudoers 文件中.而安全策略可能需要用户通过密

  • 详解 Linux中的关机和重启命令

    详解 Linux中的关机和重启命令 一 shutdown命令 shutdown [选项] 时间 选项: -c:取消前一次关机命令 -h:关机 -r:重启 二 shutdown实战 [root@localhost tmp]# date Sat Jul 15 09:28:35 CST 2017 [root@localhost tmp]# shutdown -r 05:30 Shutdown scheduled for Sun 2017-07-16 05:30:00 CST, use 'shutdow

  • Linux 中纠正拼写错误的Bash 命令方法

    我知道你可以按下向上箭头来调出你运行过的命令,然后使用左/右键移动到拼写错误的单词,并更正拼写错误的单词,最后按回车键再次运行它,对吗?可是等等.还有一种更简单的方法可以纠正 GNU/Linux 中拼写错误的 Bash 命令.这个教程解释了如何做到这一点. 在 Linux 中纠正拼写错误的 Bash 命令 你有没有运行过类似于下面的错误输入命令? $ unme -r bash: unme: command not found 你注意到了吗?上面的命令中有一个错误.我在 uname 命令缺少了字母

  • Linux中stat函数和stat命令使用详解

    stat函数和stat命令 linux文件里的[inode = index node]解释:要理解inode必须了解磁盘和[目录项],inode实际是连接[目录项]和磁盘的中间物质. 图里的大圈代表硬件的磁盘,里面的小圈代表某个文件存储在磁盘上了. [inode = index node]的node(承载node信息的结构体是:stat,stat的定义在后面 )里面有: 文件大小 文件的最后修改时间 文件的所属用户 文件的权限 硬链接计数(ls -l 显示出来的数字) 块位置:指定文件存储在磁盘

  • 浅谈Linux中的chattr与lsattr命令

    PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了.通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录.chattr命令不能保护/./dev./tmp./var目录.lsattr命令是显示chattr命令设置的文件属性. 这两个命令是用来查看和改变文件.目录属性的,与chmod这个命令相比,ch

  • php在linux中可能用到的命令(推荐)

    如下所示: php -i | grep php.ini    查找php.ini的位置 php-cgi -b 127.0.0.1:9000 &  查看php-cgi进程 以上这篇php在linux中可能用到的命令(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Linux 中的文件复制cp命令和scp命令详解

    Linux 中的文件复制cp命令和scp命令详解 在使用操作系统的使用过程中,常常需要复制文件到本地或者传输文件到其他电脑上,这时候用到两个命令cp和scp. cp命令用来复制文件或者目录.scp是secure copy的简写,用来在Linux下进行加密的远程传输文件或者目录. cp和scp是Linux中功能强大且常用的的命令,下面就介绍下cp和scp两个命令的使用. cp命令 cp命令可以复制一个文件,可以是单个文件复制也可以是整个目录复制,命令的使用方式: cp [options] sour

  • 详解Linux中退出编辑模式的命令

    vim 有三种模式,注意:这三种模式有很多不同的叫法,我这里是按照鸟哥的linux书中的叫法. 一般指令模式.编辑模式.指令列命令模式 1.vim 文件名      进入一般模式: 2.按 i 进行编辑   进入编辑模式 :(或者I, o, O, a, A, r, R) 3.编辑结束,按ESC 键 跳到一般模式模式: 4.按:     进入指令列命令模式 : 进入指令列模式后的明林如下 1.保存不退出: :w 保存文件但不退出vi 编辑 :w! 强制保存,不退出vi 编辑 :w file 将修改

  • Linux 中的export与alias命令详解

    目录 一.alias 二.export 摘要:export和alias都是用来简化命令行输入的工具.export用于设置环境变量,环境变量是一些系统级别的变量,用于指定一些系统的默认值或者搜索路径等. alias用于给较长的命令取别名,只是给命令取别名. 一.alias alias ll="ls -l" 这样就可以使用简单的命令执行操作 二.export 环境变量配置文件.bash_profile: # Setting PATH for Python 3.6 # The origina

  • 批处理模式下运行 top 命令的方法

    top 命令 是每个人都在使用的用于 监控 Linux 系统性能 的最好的命令.你可能已经知道 top 命令的绝大部分操作,除了很少的几个操作,如果我没错的话,批处理模式就是其中之一. 大部分的脚本编写者和开发人员都知道这个,因为这个操作主要就是用来编写脚本. 如果你不了解这个,不用担心,我们将在这里介绍它. 什么是 top 命令的批处理模式 批处理模式允许你将 top 命令的输出发送至其他程序或者文件中. 在这个模式中,top 命令将不会接收输入并且持续运行,直到迭代次数达到你用 -n 选项指

随机推荐