pppcloud云主机内LINUX用户安全管理2

◆超级用户权限与授权

  ●建立多个超级用户

  不少新系统管理员认为root用户是唯一的超级用户,其实root只是系统默认的超级用户的名称,root并非因为它叫root而成为超级用户的。随便打开一个/etc/passwd文件的例子,你就会发现如下几行:

root:asiewhgYfaoO/J:0:0:root:/root:/bin/tcsh
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
lanf:Yuao56Ioyefg:0:0:bluewind:/home/bluewind:/bin/bash
jake:gUyfaiIodashfj:501:501:jake cheng:/home/jake:/bin/tcsh
apache:!!:502:502::/usr/local/apache:/bin/false

  可以看到,root的UID和GID都被设置为0了。实际上,超级用户的充要条件就是UID和GID都等于0。也就是说,任何用户,只要它的UID和GID都为0,就与常被称为root超级用户没有什么两样了。比如上面那个例子里面的lanf,也是一个超级用户。

  所以,可以将任何普通用户变成超级用户。但是,这样做并没有好处,很多时候这都会增加系统的隐患。除非在组织中需要多个系统管理员管理同一个系统,这就需要有多个超级用户帐号。这有利于各个管理员明确责任,通过日志知道不同的人分别做过什么事。

   还有一种情况,也可能出现多个超级用户帐号,那就是黑客入侵后设置一个看起来象普通帐号的用户,却修改了UID和GID使之为0。这样根本就不需要知道 root用户密码,就可以执行超级用户权限了。而从我们的系统管理员的一方来说,我们不可能时刻注意passwd文件的变化的,没有那个时间也没有那个精 力。这时只好编写一个脚本来帮助监视,例如:

/bin/grep ‘0:0’ /etc/passwd |awk ‘BEGIN{FS=”:”}
{print $1}’|mail –s “`date +”%D%T”`”root

  这是一个很小的脚本程序,使用了一些常规的命令来查看/etc/passwd文件,把UID和GID为0的行寄给root用户。把这个脚本放在/etc/cron.daily文件中让cron运行,root将每天收到一封信,报告当前的超级用户。

   实际上,由于PAM(可插入验证模块)的限制,在telnet上是不允许超级用户登入的,也就是说,黑客修改了自己的UID和GID后,想再次登陆从而 获得超级用户的权限的话,不修改/etc/seuretty文件是不可能的——除非你傻到自己添加了伪TTY设备ROOT用户登陆权限。一般可以让超级用 户先用普通用户帐号登陆,再su(su命令相关内容请参考本站命令查询部分)。

  ●为普通用户分配特权

  使用sudo命 令可以允许普通用户执行超级用户才能执行的命令。无论是基于信任的建立需要时间,还是基于是否存在这种必要,我们都不会把超级用户的所有权限轻易许人的。 这是网管工作的原则。所以,当一些用户必须访问某些内容时,我们可以配置sudo以允许单独的普通用户运行特权命令。

  sudo命令允许已经在/etc/sudoers文件中指定的用户运行超级用户命令。例如,一个已经获得许可的普通用户可以运行:

sudo vi /etc/passwd

  实际上,sudo的配置完全可以让我们指定某个列入/etc/sudoers文件的普通用户可以做什么、不可以做什么。/etc/sudoers的配置行如下:

  > 空行或注释行(以#字符打头):无用行。

  > 可选的主机别名行:用来创建主机列表的简称。必须以Host_Alias关键词开头,列表中的主机必须用逗号隔开。例如:

Host_Alias REDHAT=binbu,qd

  其中binbu和qd是俩主机名,你可以用REDHAT(别名)统称它们。

  >可选的用户别名行:用来创建用户列表的简称。用户别名行必须以User_Alias关键词开头,列表中的用户名必须以逗号隔开。其格式同主机别名行。

  >可选的命令别名行:用来创建命令列表的简称。必须以Cmnd_alias开头,列表中的命令必须用逗号隔开。

  >可选的运行方式别名行:也是用来创建用户列表的简称。不同的是,使用这样的别名可以告诉sudo程序以列表中某一用户的身份来运行程序。

  >必要的用户访问说明行:用户访问的说明语法如下:

user host= [run as user ] command list

   在user处指定一个真正的用户名或定义过的别名,同样的,host也可以是一个真正的主机名或者定义过的主机别名。默认情况下,sudo执行的所有命 令都是以root身份执行。如果你想使用其他身份可以指定。至于command list可以是以逗号分隔的命令列表,也可以是一个已经定义过的别名。例如:

lanf binbu=/sbin/shutdown

  这一句说明lanf可以在binbu主机上运行关机命令。

  注意:

  1、可以在一行定义多个别名,中间用:隔开。

  2、可以在命令或命令别名之前加上!号,使该命令或命令别名无效。

  3、有两个关键词:ALL 和NOPASSWD。ALL意味着“所有文件”(所有主机或所有命令),NOPASSWD意味着不用密码。

  下面是一个sudoers文件的例子:

#sudoers files
#User alias specification
User_Alias ADMIN=yourid:POWERUSER=hisid,herid
#user privilege specification
ADMIN ALL=ALL
POWERUSER ALL=ALL,!/bin/su

  第三行定义了两个别名ADMIN和POWERUSER,第五行说明在所有主机上ADMIN都可以以root身份执行所有命令。第六行给POWERUSER除了运行su命令外同等ADMIN的权限。

转载于:https://www.cnblogs.com/qq3391826735/p/5664291.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一份完全解读:是什么使神经网络变成图神经网络?

图1:来自(Bruna等人,ICLR,2014)的图,描绘了3D领域内的MNIST图像。虽然卷积网络很难对球面数据进行分类,但是图网络可以很自然地处理它。可以把它当做是一个处理工具,但在实际应用程序中会出现许多类似的任务…

中国芯片将靠此超车!RISC-V架构神在哪全解构【附下载】

来源: 智东西RISC-V(发音为“risk-five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA),简易解释为开源软件运动相对应的一种“开源硬件”。该项目2010年始于加州大学伯克利…

sha256校验工具_使用AIDE工具做入侵检测

AIDE(Advanced Intrusion Detection Environment,高级入侵检测环境)是个入侵检测工具,主要用途是检查文档的完整性。AIDE能够构造一个指定文档的数据库,他使用aide.conf作为其配置文档。AIDE数据库能够保存文档的各种属性,包括:权…

transition过渡的趣玩

本例中将三张图&#xff08;来自网络&#xff09;进行堆叠&#xff0c;鼠标悬停触发。附有源代码 <!DOCTYPE html> <html> <head><title>照片墙</title><meta charset"utf-8"><style type"text/css">.parent{wi…

网上花店系统源码_如何创建一个花店线上商城,可以开发一个微信小程序

说起来花店&#xff0c;相信很多人都去花店买过花&#xff0c;许多花店通常都是个人开的店&#xff0c;一般位置回去选取在人口稠密的地区&#xff0c;以求争取到附近的流量。一般来说&#xff0c;人们会在有人创业或做些开心的事&#xff0c;或者情人节时买鲜花。随着城市的不…

机器的类比

来源&#xff1a;人机与认知实验室如果说机器深度学习有几个重要的边界&#xff1a;数据边界、语义边界、符号边界和因果边界。那么突破这几个边界的口子可能就是——类比&#xff0c;不仅是比例类比&#xff0c;更是跨域机器类比机理的形成可能就是一条前进的光明大道。实质上…

【深度】全球机器人产业趋势及特征分析

来源&#xff1a;工业机器人前沿当前&#xff0c;全球机器人市场规模持续扩大&#xff0c;工业机器人市场增速回落&#xff0c;服务、特种机器人增速稳定。技术创新围绕仿生结构、人工智能和人机协作不断深入&#xff0c;产品在教育陪护、医疗康复、危险环境等领域的应用持续拓…

为什么多个线程不可能同时抢到一把锁_并发基础理论:原子性问题、锁、管程...

我们再回顾一下&#xff0c;原子性问题的根源是CPU切换线程执行指令所导致的&#xff0c;当前一个对共享变量的操作没有完成之前&#xff0c;CPU又切换到另外一个线程来操作对应的共享变量&#xff0c;那么最终产生的结果就可能出现问题。比如如果现在有两个线程都在执行number…

继智能手机之后,增强现实如何再次改变我们与世界的交互方式

来源&#xff1a;资本实验室作为面向未来的新技术&#xff0c;增强现实和虚拟现实在过去几年中的发展可以用不温不火来形容。尽管创业投资和市场规模都在不断扩大&#xff0c;但硬件设备、数据传输速度、沉浸式体验效果、分辨率等因素都制约着该技术的快速发展&#xff0c;而大…

简要说明建设城市大脑三条关键标准规范

作者&#xff1a;刘锋 前言&#xff1a;简要的说&#xff0c;城市大脑不是一个城市级AI信息系统&#xff0c;也不是城市内部的信息化建设&#xff0c;而是互联网结构从网状模型向大脑模型进化时&#xff0c;与城市建设结合的产物&#xff0c;因此建设城市大脑需要拥有三个特征…

git恢复删除前的版本

有时候我们想撤销上一次提交&#xff0c;于是执行git reset --soft HEAD^&#xff0c;这样就成功的删除了你上一次的commit。但有时候发现不小心撤销错了&#xff0c;想把刚刚的撤销给撤回&#xff1a; 方法&#xff1a;首先执行git reflog 这时会显示刚刚各个操作&#xff0…

NLP模型超越人类水平?你可能碰到了大忽悠

大数据文摘出品来源&#xff1a;thegradient编译&#xff1a;张睿毅、武帅、钱天培一个军方训练的神经网络声称可以分类图像中的坦克&#xff0c;但实际上&#xff0c;它只是学会了识别不同的亮度&#xff0c;因为一种类型的坦克仅出现在明亮的图片中&#xff0c;而另一种类型仅…

伸缩杆怎么缩回去图解_没有阳台怎么晾衣服?这10个神器,让家里衣物晾晒更轻松方便...

没有阳台怎么晾衣服&#xff1f;这10个神器&#xff0c;让家里衣物晾晒更轻松方便&#xff01;衣物晾晒是居家生活的必要环节&#xff0c;每个家庭在洗完衣物后都有自己的晾晒方式&#xff0c;但多数家庭会选择在阳台里进行。然而&#xff0c;对于没有阳台的家庭来说&#xff0…

小脑过度活跃,会引起整个大脑的问题

来源&#xff1a;中国生物技术网 9月10日&#xff0c;发表在《Cell Reports》的一项研究中&#xff0c;来自日本京都大学的研究团队发现小脑中的免疫活性诱导动物的神经元过度兴奋&#xff0c;干扰了精神运动行为。位于颅骨下背部的小脑&#xff0c;在调节诸如平衡、运动学习和…

Kubernetes(K8S)快速入门

概述 在本门课程中&#xff0c;我们将会学习K8S一些非常重要和核心概念&#xff0c;已经操作这些核心概念对应组件的相关命令和方式。比如Deploy部署&#xff0c;Pod容器&#xff0c;调度器&#xff0c;Service服务&#xff0c;Node集群节点&#xff0c;Helm包管理器等等。 在…

学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

学习jsp不得不学习jsp标签&#xff0c;一般来说&#xff0c;对于一个jsp开发者&#xff0c;可以理解为jsp页面中出现的java代码越少&#xff0c;对jsp的掌握就越好&#xff0c;而替换掉java代码的重要方式就是使用jsp标签。 jsp标签的分类&#xff1a;1&#xff09;内置标签&am…

没有精准定位,万物还能实现互联吗?

来源&#xff1a;CSDN万物皆备&#xff0c;静待互联。这是一个万物都被赋予「生命」的时代&#xff0c;从人工流水线到工业自动化&#xff1b;从相互独立的设备到实时可监测相连的家居智能化&#xff1b;从汽车的复杂操作到自动驾驶的无人化......探索其真谛&#xff0c;实则科…

log4net保存到数据库系列二:独立配置文件中配置log4net

园子里面有很多关于log4net保存到数据库的帖子,但是要动手操作还是比较不易&#xff0c;从头开始学习log4net数据库日志一、WebConfig中配置log4net 一、WebConfig中配置log4net二、独立配置文件中配置log4net三、代码中xml配置log4net四、完整代码配置log4net五、新增数据库字…

科学界5个终极难题,如果有一个被解决,人类文明将升级

来源&#xff1a;科学杂志 纵观人类发展历史&#xff0c;似乎每到了一定的阶段学术界就会有重大难题出现&#xff0c;例如人类的起源问题。为此有科学家总结出了人类历史上五大终极难题&#xff0c;如果有一个问题被解决的话&#xff0c;那么人类文明会实现质的飞跃。在人类文明…

判断三个数是否能构成三角形_三角形的面积

问题描述&#xff1a;输入三角形三边长a,b,c(保证能构成三角形)&#xff0c;输出三角形面积。输入&#xff1a;一行三个用一个空格隔开的实数a,b,c&#xff0c;表示三角形的三条边长。输出&#xff1a;输出三角形的面积&#xff0c;答案保留四位小数。样例输入3 4 5&#xff0c…