visudo
功能:编辑sudoers文件,从而对用户和组做权限控制。(一般不建议给其他用户执行visudo权限)
可以控制非root用户输入的命令权限和文件修改读取执行权限。
常用的权限修改命令如下:
##允许根在任何位置运行任何命令
root ALL=(ALL) ALL
##允许“sys”组的成员运行网络、软件、
##服务管理应用程序等。
%sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
##允许组轮中的人员运行所有命令
%wheel ALL=(ALL) ALL
##允许免密码sudo登陆
%wheel ALL=(ALL) NOPASSWD: ALL
##允许用户组的成员以cdrom作为根目录装载和卸载
%users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
##允许用户组成员关闭此系统
%users localhost=/sbin/shutdown -h now
##使Cmnd_Alias 不能运转如下服务命令
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig, /usr/bin/systemctl start, /usr/bin/systemctl stop, /usr/bin/systemctl reload, /usr/bin/systemctl restart, /usr/bin/systemctl status, /usr/bin/systemctl enable, /usr/bin/systemctl disable
或
Cmnd_Alias SERVICES = /sbin/service!, /sbin/chkconfig!, /usr/bin/systemctl start!, /usr/bin/systemctl stop!
此外还可以控制用户对文件权限的修改
提示:
需要超级用户权限;
默认编辑/etc/sudoers文件;
sudoers文件的默认权限是440,即默认无法修改;
visudo可以在不更改sudoers文件权限的情况下,直接修改sudoers文件;
选项:
-c:使用check-only模式,打印语法等错误信息;
-q:使用quiet模式,不打印语法等错误信息;
-f:指定sudoers文件;