sudo常见问题两例:免密码/保持环境变量

本文介绍如何配置sudo以实现免密码执行命令,并确保在使用sudo时能正确传递环境变量,包括具体步骤和示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先给一个很不错的sudo的文档!

https://wiki.archlinux.org/index.php/Sudo_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29

问题一:如何在使用sudo执行命令时免输入密码

在root下执行visudo

在文件尾部添加:


myuser ALL=(ALL) NOPASSWD: ALL
%mygroup ALL=(ALL) NOPASSWD: ALL


问题二:如休在使用sudo执行命令确保环境变量的传递


首先,我们可以随时使用sudo -u targetUser env来检查目标用户targetUser的环境变量,特别是你定义的一些HOME目录和PATH变量

以下是两个重要的配置步骤:

1. 确保环境变量得以传递,以hadoop相关的一些环境变量为例,我们需要在visudo中添加需要传递的环境变量,比如:


Defaults    env_keep += "JAVA_HOME HADOOP_HOME HBASE_HOME HIVE_HOME MAHOUT_HOME PATH"

2. 取保PATH变量得以传递:


上面env_keep配置的PATH变量实际并没有得到有效的传递,PATH变量会受到secure_path的约束,所引如果我们需要传递完整的path变量,我们需要修改secure_path!在visudo中它的默认值一般为:

 Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

同样以hadoop环境为例,我们可以改为:


Defaults    secure_path = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.7.0_71/bin:/usr/local/hadoop/bin:/usr/local/hadoop/sbin:/usr/local/hbase/bin:/usr/local/hive/bin:/usr/local/hive/hcatalog/bin:/usr/local/hive/hcatalog/sbin:/usr/local/mahout/bin

另:如果不做上述配置,可以使用sudo -i -u targetUser your-command来执行你的命令,使用-i参数会模拟一次登录,目标用户的相关环境变量就可以相应的被初始化了!

shenjiahao@shenjiahao:~$ sudo apt update [sudo] shenjiahao 的密码: 对不起,请重试。 [sudo] shenjiahao 的密码: 对不起,请重试。 [sudo] shenjiahao 的密码: 命中:1 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal InRelease 获取:2 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates InRelease [128 kB] 获取:3 https://packages.microsoft.com/repos/code stable InRelease [3,590 B] 获取:4 https://packages.microsoft.com/repos/code stable/main armhf Packages [19.2 kB] 获取:5 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-backports InRelease [128 kB] 命中:6 http://ppa.launchpad.net/danielrichter2007/grub-customizer/ubuntu focal InRelease 获取:7 https://packages.microsoft.com/repos/code stable/main amd64 Packages [18.9 kB] 获取:8 https://packages.microsoft.com/repos/code stable/main arm64 Packages [19.0 kB] 获取:9 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security InRelease [128 kB] 获取:10 http://packages.ros.org/ros/ubuntu focal InRelease [4,679 B] 获取:11 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/main amd64 Packages [3,950 kB] 忽略:12 http://ppa.launchpad.net/jonathonf/ffmpeg-4/ubuntu focal InRelease 获取:13 http://packages.ros.org/ros/ubuntu focal/main i386 Packages [62.7 kB] 错误:14 http://ppa.launchpad.net/jonathonf/ffmpeg-4/ubuntu focal Release 404 Not Found [IP: 185.125.190.80 80] 获取:15 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/main i386 Packages [1,113 kB] 命中:16 https://librealsense.intel.com/Debian/apt-repo focal InRelease 获取:17 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/main Translation-en [599 kB] 获取:18 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/main amd64 DEP-11 Metadata [276 kB] 获取:19 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/restricted amd64 Packages [3,914 kB] 获取:20 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/restricted Translation-en [547 kB] 获取:21 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/restricted amd64 DEP-11 Metadata [212 B] 获取:22 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/universe amd64 Packages [1,262 kB] 获取:23 http://packages.ros.org/ros/ubuntu focal/main amd64 Packages [839 kB] 获取:24 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/universe i386 Packages [823 kB] 获取:25 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/universe amd64 DEP-11 Metadata [446 kB] 获取:26 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/multiverse amd64 DEP-11 Metadata [940 B] 获取:27 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-backports/main amd64 DEP-11 Metadata [7,992 B] 获取:28 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-backports/restricted amd64 DEP-11 Metadata [216 B] 获取:29 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-backports/universe amd64 DEP-11 Metadata [30.5 kB] 获取:30 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-backports/multiverse amd64 DEP-11 Metadata [212 B] 获取:31 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/main i386 Packages [880 kB] 获取:32 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/main amd64 Packages [3,557 kB] 获取:33 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/main Translation-en [516 kB] 获取:34 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/main amd64 DEP-11 Metadata [74.8 kB] 获取:35 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/restricted amd64 DEP-11 Metadata [212 B] 获取:36 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/universe i386 Packages [698 kB] 获取:37 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/universe amd64 Packages [1,040 kB] 获取:38 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/universe amd64 DEP-11 Metadata [160 kB] 获取:39 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security/multiverse amd64 DEP-11 Metadata [940 B] 正在读取软件包列表... 完成 E: 仓库 “http://ppa.launchpad.net/jonathonf/ffmpeg-4/ubuntu focal Release” 没有 Release 文件。 N: 无法安全地用该源进行更新,所以默认禁用该源。 N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
05-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Laurence 

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值