linux sudo文件,linux系统之sudo用法

一、前言

sudo 是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等, 这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性,sudo不是对shell的代替,它是面向每一个命令的。sudo是可以让某个用户不需要拥有管理员的账号密码,可以执行管理员的权限的。

二、su与sudo的区别

su命令就是转换用户的工具,假如当前用户没有userdel权限,而只有root有此权限,这时你就可以使用利用su切换到root用户(你要知道root密码才可以),操作完成后再切换回来。还有如果有多个用户都要涉及root运行程序,那么就要将root密码告诉多个人,那么,这么多人当中就可以通过root权限能够做任何事,这在一定程度上就对系统的安全造成了威协。所以说su只适用于一两个人参与管理的系统,毕竟su并不能让普通用户受限的使用;终极用户root密码应该掌控在少数用户手中,这绝对是真理!su并不能做到对权限的下放,也不能做到约定其它用户使用哪些命令来完成与其相关的工作;这样也就有了suo,通过sudo,我们能把某些终极权限有针对性的下放,并且无需普通用户知道root密码,所以sudo 相对于权限无限制性的su来说,还是比较安全的,所以sudo 也能被称为受限制的su ;另外sudo 是需要授权许可的,所以也被称为授权许可的su;

二、sudo 授权工具

把有限的管理操作授权某普通用户,并且还能限定其仅能够在某些主机上执行此类命令,操作过程还会被记录于日志中,以便于日后审计,作为管理员可以指派某些用户可以执行某些特定的命令,类似于suid(仅在执行所用的权限上类似)

三、特点

sudo能够限制用户只在某台主机上运行某些命令

sudo提供了丰富的日志,详细地记录了每个用户干了什么,它能够将日志传到中心主机或日志服务器

sudo使用时间戳文件来执行类似的“检票”的系统,当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变)

四、配置文件

Sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机,它所存放的位置默认是在/etc/sudoers,属性为0440.

注:可以使用vim /etc/sudoers编辑配置文件,也可以使用visudo(建议使用visudo)

1、命令参数命令参数说明

sudo[klv]-b在后台执行指令

-h显示帮助

-H将HOME环境变量设为新身份的HOME环境变量

-k结束密码的有效期限,也就是下次再执行sudo时便需要输入密码

-l列出当前用户可执行的命令与不可执行的命令

-p改变询问密码的提示符

-s执行指定的shell

-u 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。

-v延长密码有效期限5分钟

-V显示版本信息

2、配置文件说明

⑴、语法

who which_host=(whom)  command

who:授权的用户(也可以使用 User_Alias定义一个或一组用户)

which_host:对于那些主机(也可以使用Host_Alias定义一个或一组主机)

whom:以谁的身份(也可以使用Runas_Alias定义一个或一组用户)

command:定义的命令(也可以使用Cmd_Alias来定义一个或一组命令)

其语义就是说,授权那一个用户在那一个主机上以什么样的身分执行那些命令。

注:关于更多别名的用法请visudo自行查看

⑵、标签

NOPASSWD:如果在命令别名前加上NOPASSWD则表示这一组命令都不需要不密码。

PASSWD:如果在命令别名前加上PASSWD则表示这一组命令在执行前都会提示输入密码

⑶、别名类别注解

注:

定义的别名必须要使用大写字母

%表示本地系统组

!表示取反(不允许执行)

如,不允许你对某一用户执行某一个命令

Cmnd_Alias USERADMIN = /usr/sbin/useradd,/usr/sbin/usermod,/usr/sbin/userdel,/usr/bin/passwd, !/usr/bin/passwd (root)别名类别User Aliases

样例User_Alias ADMINS = jsmith, mikem

注解以ADMINS为别名(大写)包含了两个用,jsmith与mikem

别名类别Host Aliases

样例Host_Alias SPARC = bigtime,eclipse,moet,anchor

Host_Alias CUNETS = 192.168.0.0/255.255.255.0

Host_Alias CURNETS =  172.16.0.0/16

注解将主机分类,这些都是可以随便分,目的是为了更好的管理,可以使用主机名,也可使用ip/mask或ip/cidr

别名类别Runas Aliases

样例Runas_Alias SYSTEM = root,oracle

注解在这里可以定义一组用户

别名类别Command Aliases

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

注解定义命令是命令的路径,命令一定要使用绝对路径,避免其它目录的同名命令被执行,造成安全隐患,因此使用的时候也是使用绝对路径引用

五、实例

授权tom,hdoop用户能够以管理员的身份基于sudo执行useradd、passwd、usermod、userdel命令;后面三个命令在执行时需要输入密码,而前一个不需要。

编辑sudo配置文件

$sudo visudo

User_Alias USERADMIN=tom,hdoop

Host_Alias LOCAL=127.0.0.1,bogon

Runas_Alias SYSTEM=root

Cmnd_Alias USERADD=/usr/sbin/useradd

Cmnd_Alias USERMOD=/usr/bin/passwd,/usr/sbin/userdel,/usr/sbin/usermod

USERADMIN LOCAL=(SYSTEM) NOPASSWD:USERADD

USERADMIN LOCAL=(SYSTEM) PASSWD:USERMOD

前提:

tom,hdoop必须事先存在,保存后,使用su - hdoop

60ec9466b34ce4d6c6618648709263f8.png

=====================完====================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值