sudo授权指定用户在指定主机上运行某些命令
来源:互联网 发布:噪音测试软件下载 编辑:程序博客网 时间:2024/05/16 02:18
sudo介绍
- sudo 能够授权指定用户在指定主机上运行某些命令。 如果未授权用户尝试使用 sudo,会提示联系管理员
- sudo 可以提供日志,记录每个用户使用sudo操作
- sudo 为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机
- sudo 使用时间戳文件来完成类似“检票”的系统,默认存活期为5分钟的“入场券”
- 通过visudo命令编辑配置文件,具有语法检查功能
- visudo –c 检查语法
相关文件
- 配置文件: /etc/sudoers, /etc/sudoers.d/
- 时间戳文件: /var/db/sudo
- 日志文件: /var/log/secure
- 配置文件支持使用通配符glob:
- ? :任意单一字符
- * :匹配任意长度字符
- [wxc]:匹配其中一个字符
- [!wxc]:除了这三个字符的其它字符
- \x : 转义
- [[alpha]] :字母 示例: /bin/ls [[alpha]]*
- 配置文件规则有两类;
- 别名定义:不是必须的
- 授权规则:必须的
sudo配置文件格式
- 授权规则格式:
- 用户 登入主机=(代表用户) 命令
- 示例:
- root ALL=(ALL) ALL
- 格式说明:
- user: 运行命令者的身份
- host: 通过哪些主机
- (runas):以哪个用户的身份
- command: 运行哪些命令
注意:如果只授权用户登录本机执行命令,host写本地IP即可ALL代表所有被登录的主机IP,而不是用户登录的IP哪个user在哪个host上执行相应命令
sudo别名和实例
- 别名有四种类型:User_Alias,Runas_Alias,Host_Alias,Cmnd_Alias
- 别名格式: [A-Z]([A-Z][0-9]_)*
- 别名定义:
Alias_Type NAME1 = item1, item2, item3 : NAME2 =item4, item5
实例1
Student ALL=(ALL) ALL #Student用户在所有主机上代表所有用户执行所有动作%wheel ALL=(ALL) ALL #wheel组的用户可以在所有主机代表所有用户执行所有动作student ALL=(root) /sbin/pidof,/sbin/ifconfig%wheel ALL=(ALL) NOPASSWD: ALL #wheel组的用户可以在所有主机代表所有用户执行所有动作,不用密码
实例2
定义别名User_Alias NETADMIN = netuser1,netuser2Cmnd_Alias NETCMD = /usr/sbin/ip NETADMIN ALL=(root) NETCMD
实例3
以%开头的是组User_Alias SYSADER=wang,mage,%adminsUser_Alias DISKADER=tomHost_Alias SERS=www.magedu.com,172.16.0.0/24Runas_Alias OP=rootCmnd_Alias SYDCMD=/bin/chown,/bin/chmodCmnd_Alias DSKCMD=/sbin/parted,/sbin/fdiskSYSADER SERS= SYDCMD,DSKCMDDISKADER ALL=(OP) DSKCMD
实例4
Defaults:wang runas_default=tomwang ALL=(tom,jerry) ALL
实例5
#wang可以执行/usr/sbin/下的所有命令,除了/usr/sbin/useraddwang 192.168.175.136,192.168.175.138=(root) /usr/sbin/,!/usr/sbin/useradd
sudo用法
- sudo -i -u wang 切换身份
- sudo [-u user] COMMAND
- -V 显示版本信息等配置信息
-u user 默认为root
-l,ll 列出用户在主机上可用的和被禁止的命令
-v 再延长密码有效期限5分钟,更新时间戳
-k 清除时间戳(1970-01-01),下次需要重新输密码
-K 与-k类似,还要删除时间戳文件
-b 在后台执行指令
-p 改变询问密码的提示符号
示例: -p ”password on %h for user %p:”
阅读全文
1 0
- sudo授权指定用户在指定主机上运行某些命令
- 指定用户的授权
- linux禁用root给指定用户添加sudo命令
- sudo给某些用户添加以root权限运行某些命令
- shell中用指定用户运行命令 su
- Linux中使用指定用户运行命令
- mysql使用navicat给指定用户授权查看数据库中的某些数据表
- 控制线程在指定CPU上运行
- dll 没有指定在windows上运行
- 使用linux下的mail工具给指定主机上指定用户写信或收信
- ubuntu给指定用户添加sudo权限
- asp.net网站程序在指定用户运行
- 如何设置允许某些用户执行sudo的命令
- mysql授权用户root使用密码password从指定ip为192.168.1.1的主机连接到mysql服务器
- 多处理器系统在指定cpu上运行进程
- linux下让进程运行在指定的cpu上
- linux下让进程运行在指定的cpu上
- linux下让进程运行在指定的cpu上
- Javascript生成全局唯一标识符(GUID,UUID)的方法
- 017 ACM/ICPC Asia Regional Shenyang Online 1001 后缀数组+单调队列
- redhat上安装mysql
- Maven优雅的添加第三方Jar包
- vim粘贴代码 如果有注释,那么粘贴后就惨不忍睹,类似于:
- sudo授权指定用户在指定主机上运行某些命令
- android端 socket长连接 架构
- 使用VBscript变下的Windows系统下载器脚本
- apache2.4配置多个根目录
- java 多字段排序
- 基于Psoc4 capsense的液位传感器的使用
- Copper-Based or Fiber-Based Home Network?
- 所有的raft算法
- Java工程师到底有多稀缺?这篇文章告诉你!