在操作sudoers文件时,一直建议使用visudo进行安全的编辑/etc/sudoers文件。
使用visudo命令与直接编辑sudoers最大的区别在于:
visudo在退出并保持文件的时候会自动的检测语法错误,如果使用 vi /etc/sudoers 直接编辑sudoers的话,可以回出现语法错误,但是使用visudo却可以避免因为语法出错而保存了一个错误的souders文件。
在RedHat/CentOS可以使用yum命令安装visudo:
如果已安装sudo,但是在使用visudo的时候提示visudo: command not found:
bash: /usr/bin/visudo:command not found
首先,请确认sudo已经安装,使用下面的命令检测sudoers是否存在:
如果输出结果为/etc/sudoers的话。
则说明 sudoers文件是存在的,如果不存在sudoers文件的文件的话,那么拷贝其他linux的sudoers或者是使用下面的命令新建sudoers文件:
#使用下面的命令比如是root
如果sudoers文件存在,请确认并发现visudo文件的路径:
如果上面的命令没有输出任何结果,请重新安装sudo
如果visudo存在。那么可以肯定是系统变量$PATH的问题了。
查看PATH的值:
可以看到系统变量PATH中并没有包含visudo的路径,
解决方法,选其一:
1,增加visudo的路径到PATH中,
2,在PATH中的任意一个路径增加visudo的软连接:
ln -s /usr/sbin/visudo /usr/bin/visudo
完成以上操作,visudo: command not found的问题便可以解决了。