sudo(六)

1. 简介

一般使用者管理系统的方式是利用su切换为超级使用者。但是使用su的缺点之一在于必须要先告知超级使用者的密码.sudo使一般使用者不需要知道超级使用者的密码即可获得权限。首先超级使用者将一般使用者登记在特殊的档案中(通常是/etc/sudoers),即完成对该使用者的授权(此时该使用者称为“sudoer”);在一般使用者需要取得特殊权限时,其可在命令前加上“sudo”,此时sudo将会询问该使用者自己的密码(以确认终端机前的是该使用者本人),回答后系统即会将该命令的进程以超级使用者的权限执行。

su 				 	sudo
*********************************************************************
输入root密码 *		 	输入执行者的密码(非root密码)
完全拥有相关su的权限 *     需要授权
**********************************************************************

2. sudo提权

1. 给普通用户提升权限的手段

  1. suid, sgid
  2. sudo

2. 使用sudo提升普通用户的权限/etc/sudoers

根据/etc/sudoers文件中设置,普通用户在使用sudo命令时可以以root身份或其他用户的身份运行命令。
# vim /etc/sudoers 方法一
# visudo 方法二:针对sudo语法检查

3. sudo语法

1. 按用户设置

#user MACHINE=(RUNAS_USER) COMMANDS
root ALL=(ALL) ALL
允许root用户 在任何主机上=(以任何人的身份) 执行任何命令

如:
robin ALL=/sbin/ip,/sbin/fdisk
zorro ALL=NOPASSWD:/sbin/ip,/sbin/fdisk

2. 按组设置

[root@Server ~]# groupadd tom
[root@Server ~]# useradd -G upup tom
%upup ALL=NOPASSWD: /sbin/ip
%upup ALL=NOPASSWD: /usr/sbin/useradd,/usr/sbin/userdel,/usr/bin/passwd
%upup ALL=NOPASSWD: /usr/sbin/useradd,/usr/sbin/userdel,!/usr/bin/passwd,/usr/bin/passwd [a-zA-Z]*,!/usr/bin/passwd root,!/usr/bin/passwd root --stdin,!/usr/bin/passwd --stdin root

3. 测试修改密码

[tom@Server ~]$ sudo /usr/sbin/useradd user10
[tom@Server ~]$ sudo /usr/sbin/useradd user20
[tom@Server ~]$ sudo /usr/sbin/userdel user20
[tom@Server ~]$ sudo /usr/bin/passwd user10

更改用户 user10 的密码 。
新的 密码:
无效的密码: WAY 过短
无效的密码: 是回文
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

[tom@Server ~]$ sudo /usr/bin/passwd root

更改用户 root 的密码 。
新的 密码:
无效的密码: WAY 过短
无效的密码: 是回文
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

[tom@Server ~]$ echo 123|sudo /usr/bin/passwd root --stdin

更改用户 root 的密码 。
passwd: 所有的身份验证令牌已经成功更新。

sudo Alias别名

4. User Aliases

User_Alias ADMINS = jsmith, mikem

## Command Aliases

## These are groups of related commands...
## Networking
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

## Installation and management of software
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum

## Services
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig

## Updating the locate database
Cmnd_Alias LOCATE = /usr/bin/updatedb

## Storage
Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount

%upup ALL=NOPASSWD: STORAGE 使用别名
ADMINS ALL=NOPASSWD: Networking, STORAGE 使用别名

1. 练习

NETWORKING
SAFTWARE
STOREAGE
USER
GROUP
SERVICES

robin   NETWORKING SOFTWARE SERVICES
zorro  USER GROUP STORAGE
redhat组(tom 和 jerry)   NETWORKING  SERVICES STOREAGE

利用sudo 来分配权限
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum

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 STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount

Cmnd_Alias USER = /usr/sbin/useradd,/usr/sbin/usermod,/usr/sbin/userdel,!/usr/bin/passwd,/usr/bin/passwd [a-zA-Z0-9]*,!/usr/bin/passwd root,!/usr/bin/passwd root --stdin,!/usr/sbin/userdel root,!/usr/sbin/userdel -*[a-z]* root,!/usr/sbin/usermode root

Cmnd_Alias GROUP = /usr/sbin/groupadd,/usr/sbin/groupmod,/usr/sbin/groupdel

robin ALL=NETWORKING,SOFTWARE,SERVICES
zorro ALL=USER,GROUP,STORAGE
User_Alias REDHAT = tom,jerry
REDHAT ALL=NETWORKING ,SERVICES,STOREAGE
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脑子是空的啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值