/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 ...
随机推荐
- SSH黄金参数
ssh -o ConnectTimeout=3 -o ConnectionAttempts=5 -o PasswordAuthentication=no -o StrictHostKeyCheckin ...
- 通过Intent传递对象
BluetoothDevice device = data.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 在蓝牙开发中,通过intent(data ...
- SpringBoot与Dubbo整合的三种方式
1. 使用默认application.properties和注解的方式 导入dubbo-starter,在application.properties配置属性,使用@Service注解来暴露服务,使用 ...
- Ubuntu系统下添加程序启动器
Ubuntu系统上安装的软件,有的会自动创建快捷方式,在程序中可以搜索到,而有的安装后不会在应用程序中出现,如Eclipse.Spring Tool Suite或是绿色软件等,那么怎么手动创建快捷方式 ...
- 将 numeric 转换为数据类型 numeric 时出现算术溢出错误
保存数据时控制台报错: Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 将 numeric 转换为数据类型 numeric 时出 ...
- 封装naive socket
周五去一个公司打了个酱油,面试官问我:你封装过socket没? 言下之意是问我实际写过底层代码没,我悻悻地说写过点. PS:说实话木有封装过,今天无聊就来封装下. 话说写了这么久C++,底层用c来写还 ...
- 对IT技术开发职业生涯的思考
对职业生涯的思考 从刚毕业到目前所在公司,差不多6年了,想想这六年里面,自己的能力和刚毕业比有了很大的提升,但是现在在什么能力上,我不知道,毕竟没有去过别的公司.最近也在思考自己未来,算是比较迷茫阶段 ...
- 算法中的 log 到底是什么?
之前一直不解为何算法中经常会看到 log 今天看<数据结构与算法分析 Java 语言描述>(第 3 版)2.4.3 节 求最大子序列和的分治算法实现时才注意到原因 翻看第 29 页的最后一 ...
- Maven最佳实践:版本管理【转】
什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基本用 ...
- 使用Nexus搭建Maven服务器详细配置【转】
为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...