sudo时无需输入用户密码
实验环境
本文基于Oracle Linux 5.5搭建
目的
实验环境的oracle用户没有root权限,但通过sudo可以执行大部分的root命令,并且不用每次在sudo时还需要输入oracle密码
设置/etc/sudoers
以root用户编辑/etc/sudoers文件,增加如下oracle那一行1
2
3Allow 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 许可协议。转载请注明出处!
知识 & 情怀 | 二者兼得