/etc/sudoers 配置
/etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
#第一个root是用户账号 第二列的ALL是登陆者的来源主机名,第三列=(ALL)是代表可以切换身份,第四列ALL是可执行的命令.
如果当前的普用户ok,能执行root的所有操作,那么我可要加一行ok ALL=(ALL) ALL 那么如果有很多人需要执行sudo,那不是要写很多行,所有就有了用户组了!
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
#%wheel代表wheel用户组,如果我们需要执行root所有操作的用户都加入到whell用户组,或者我们自定义的用户组,然后添加一行代码,就行了
限制用户sudo的权限:
比如说我只要用户ok去管理密码,不让他有别的权限:
只要在/etc/sudoers增加下面一行:
ok ALL=(root) /usr/bin/passwd
sudo就是可以用root的身份运行配置的命令:
ok ALL=(root) NOPASSWD:/usr/bin/passwd,NOPASSWD:/bin/su,NOPASSWD:/usr/bin/rz
上面的意思就是普通用户ok可以用root的身份来运行/usr/bin/passwd,/bin/su,/usr/bin/rz,并且是免输入密码
!去掉某个命令:
root ALL=(ALL) ALL
ok ALL=(root) NOPASSWD:/usr/bin/passwd,NOPASSWD:!/bin/su,NOPASSWD:/usr/bin/rz
#去掉/bin/su这个命
还有一点要注意就是执行配匹配规则是从后到前的,所以后面执行:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
ok ALL=(root) NOPASSWD:/usr/bin/*,NOPASSWD:!/bin/su,NOPASSWD:/sbin/*,NOPASSWD:/bin/*
可以看到没有说权限不足:
[ok@xtrabackup ~]$ sudo su
[root@xtrabackup ok]#
现在改变一下位置再试一下:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
ok ALL=(root) NOPASSWD:/usr/bin/*,NOPASSWD:/sbin/*,NOPASSWD:/bin/*,NOPASSWD:!/bin/su
发现显示报错:
[ok@xtrabackup ~]$ sudo su
Sorry, user ok is not allowed to execute '/bin/su' as root on xtrabackup.
/etc/sudoers 配置的更多相关文章
- ubuntu sudoers配置错误
ubuntu16 sudoers配置错误,普通用户无法使用sudo了,且root帐户也没启动. 重启,按住esc,选择恢复模式,选择root模式 mount -o remount rw / 修改文件至 ...
- CentOS下sudo的使用和sudoers配置
一.sudo命令 sudo [参数选项] 命令 参数选项 -l:列出目前用户可执行与无法执行的指令: -v:延长密码有效期限5分钟: -u<用户>:以指定的用户作为新的身份.若不加上此参数 ...
- linux中sudoers别名规则
/etc/sudoers 配置文档中别名规则 别名规则定义格式如下: Alias_Type NAME = item1, item2, ... 或 Alias_Type NAME = item1, it ...
- Linux下的sudo及配置
sudo的常用命令 man sudoers # 参阅帮助 visudo # 编辑sudoers文件的命令 sudo -l # 查看可执行或禁止执行的命令 sudo -u user1 /bin/ls # ...
- 配置sudo日志审计
1.检查sudo与syslog服务 centos [root@xiaoyuer ~]# rpm -qa|grep sudo sudo-1.8.6p3-24.el6.x86_64 [root@xiaoy ...
- Ubuntu无法sudo提权,报当前用户不在sudoers文件中错误
Ubuntu安装后默认root不能登陆系统,密码也是随机生成,其他用户使用root权限,可以使用sudo提权,前提是该用户在/etc/sudoers配置列表中. 但是有时用户名从/etc/sudoer ...
- [错误解决]ubuntu 不在 sudoers 文件中。此事将被报告。
跟据报错判断,ubuntu没有sudo权限,经过查询需要将ubuntu账户加入/etc/sudoers中 先切换到root权限 su 输入密码 修改/etc/sudoers配置 vim /etc/su ...
- [转]Linux/Ubuntu sudo不用输入密码的方法
通常我们并不以root身份登录,但是当我们执行某些命令 (command)时需要用到root权限,我们通常都是用"sudo command"来执行command.由于使用Ubu ...
- Linux 下以其他用户身份运行程序—— su、sudo、runuser
本文综合分析了Linux系统下,如何使用runuser命令.su命令和sudo命令以其他用户身份来运行程序,以及这三个命令的运行效率比较. 一.su 命令临时切换用户身份 SU:( Switch ...
随机推荐
- django之创建第9个项目-管理后台admin
django之创建第9个项目-管理后台admin配置 1.配置setting文件INSTALLED_APPS = ( 'django.contrib.auth', 'django.cont ...
- python之模块ftplib(FTP协议的客户端)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(FTP协议的客户端) #需求:快速进行ftp上传 ,下载,查询文件 from ...
- Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题
这次新安装了一个MySQL数据库,然后navicat连接数据库一点问题没有. 但是通过Java的jdbc连接却怎么都建立不了连接. 报如下错: 网上找了很久找到了原因: 数据库用的是Mysql8版本, ...
- PHP调用mysql函数整理
mysql函数整理 名称:mysql_connect() 用途:打开非持久的 MySQL 连接.如果成功,则返回一个 MySQL 连接标识,失败则返回 FALSE. 语法:mysql_connect( ...
- Anroid 4大组件之android.app.Service
android.app.Service A Service is an application component representing either an application's desir ...
- 如何设置页面自动刷新第一篇?? servlet setHeader("refresh","2")
import java.io.IOException; import java.util.Random; import javax.servlet.ServletException; import j ...
- Nginx 和 PHP 的两种部署方式比较
2种部署方式简介 第一种 前置1台nginx服务器做HTTP反向代理和负载均衡 后面多态服务器部署Nginx Web服务和php-fpm提供的fast cgi服务 第二种 前置1台nginx服务器做W ...
- MFC的DLL中实现定时器功能
方法一:创建一个线程, 反复读系统时间不就可以了? 如果定时要求不严,用Sleep就可以了.DWORD WINAPI TimerThread(LPVOID pamaram) { UINT oldTic ...
- 《JAVA与模式》之解释器模式 (转载)
一.引子 其实没有什么好的例子引入解释器模式,因为它描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中:在实际应用中,我们可能很少碰到去构造一个语言的文法的情况. 虽然你几乎用 ...
- C# 禁止datagridview 自动产生列
dataGridView1.AutoGenerateColumns = false;