栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

sudo语句

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

sudo语句

使用sodu给普通用户提升权限的手段:

sudo语法:

按组设置

测试修改密码

sudo Alias别名

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

su (普通账号) sudo

**************************** *****************************************

输入root密码 * 输入执行者的密码(非root密码)

完全拥有相关su的权限 * 需要授权

************************************* *********************************

使用sodu给普通用户提升权限的手段:

1. suid, sgid

2. sudo

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

根据/etc/sudoers文件中设置,普通用户在使用sudo命令时可以以root身份或其他用户的身份运行命令。

方法一(有颜色的提示)

# vim /etc/sudoers

方法二:如果写错了,针对sudo语法检查

# visudo

想2种功能都用, 可以用vim去改,然后用visodu 打开检查语法错误

sudo语法:

vim /etc/sudoers

#user MACHINE=(RUNAS_USER) COMMANDS

root ALL=(ALL) ALL

允许root用户 在任何主机上=(以任何人的身份) 执行任何命令

如:

vim /etc/sudoers

robin ALL=/sbin/ip,/sbin/fdisk

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

**************************************************************************

例一:

看一个命令在哪(系统指令)

which fdisk

robin AL=/usr/sbin/fdisk

例二:

加上参数,执行这条指令就不需要执行密码

robin ALL=NOPASSWD:/usr/sbin/fdisk

无密码执行很危险(在执行脚本常用)

**************************************************************************

让密码立即失效

sudo -k

**************************************************************************

按组设置

[root@Server ~]# groupadd east

[root@Server ~]# useradd -G east ross

vim /etc/sudoers

%upup 表示整个组都是授权的 ,这个组下面的用户都是授权的,而且附加组执行

%east ALL=NOPASSWD: /sbin/ip

%east ALL=NOPASSWD: /usr/sbin/useradd,/usr/sbin/userdel,/usr/bin/passwd,/usr/sbin/usrmod

这个命令passwd在执行时,后面必须得有东西,不允许直接执行,否则修改root密码了

%eastALL=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

测试修改密码

[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别名

思考场景:给每一个用户分别设置很麻烦,

vim /etc/sudoers

系统可以把一堆命令定义一个角色

## User Aliases

User_Alias ADMINS =robin, zorro, king

## 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

在最后添加

ADMINS ALL=NETWORKING;SOFTWARE

使用别名

%east ALL=NOPASSWD: STORAGE

使用别名

ADMINS ALL=NOPASSWD: Networking, STORAGE

练习:

NETWORKING

SAFTWARE

STOREAGE

USER

GROUP

SERVICES

robin NETWORKING SOFTWARE SERVICES

zorro USER GROUP STORAGE

redhat组(tom 和 jerry) NETWORKING SERVICES STOREAGE

利用sudo 来分配权限

****************************************************************************************************************************************************

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

SAFTWARE

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

SERVICES

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

STOREAGE

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

USER

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

GROUP

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

****************************************************************************************************************************************************

vim /etc/sudoers

方法一(组方法)

robin ALL=NETWORKING,SOFTWARE,SERVICES

zorro ALL=USER,GROUP,STORAGE

方法二(定义角色)

User_Alias REDHAT = tom,jerry

REDHAT ALL=NETWORKING ,SERVICES,STOREAGE

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/888202.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号