sudo时无需输入用户密码

发布 : 2019-04-14 分类 : Linux 浏览 :

实验环境

本文基于Oracle Linux 5.5搭建

目的

实验环境的oracle用户没有root权限,但通过sudo可以执行大部分的root命令,并且不用每次在sudo时还需要输入oracle密码

设置/etc/sudoers

以root用户编辑/etc/sudoers文件,增加如下oracle那一行

1
2
3
Allow root to run any commands anywhere 
root ALL=(ALL) ALL
oracle ALL=(ALL) NOPASSWD:ALL

设置root常用路径

如上设置后,用sudo会提示有些命令找不到,但是如果切回root用户一切正常,如

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[oracle@edsir71p9 ~]$ sudo ifconfig
sudo: ifconfig: command not found
[oracle@edsir71p9 ~]$ su - root
Password:
[root@edsir71p9 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:28:44:EA
inet addr:10.190.104.39 Bcast:10.190.104.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe28:44ea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:324662 errors:0 dropped:0 overruns:0 frame:0
TX packets:14497 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:452911712 (431.9 MiB) TX bytes:1689108 (1.6 MiB)
Interrupt:67 Base address:0x2024

出现这种问题,一般是oracle用户找不到那些命令的位置,可以在/etc/sudoers中添加secure_path参数把root的常用路径都写上去

1
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

问题解决

1
2
3
4
5
6
7
8
9
10
[oracle@edsir71p9 ~]$ sudo ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:28:44:EA
inet addr:10.190.104.39 Bcast:10.190.104.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe28:44ea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:325116 errors:0 dropped:0 overruns:0 frame:0
TX packets:14871 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:452952418 (431.9 MiB) TX bytes:1734212 (1.6 MiB)
Interrupt:67 Base address:0x2024

本文作者 : Shen Peng
原文链接 : http://yoursite.com/2019/04/14/sudo时无需输入用户密码/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹