Linux运维学习历程-第六天-Linux用户、组以及权限管理

本章内容

Linux的安全模型

用户和组

用户和组管理命令

文件权限

默认权限

特殊权限

ACL访问控制

一:3A认证

Authentication :认证

Authorization :授权

Audition 审计

Authentication(认证):验证用户的身份(账号和密码)与可使用的网络等一系列服务

Authorization (授权):依据认证结果开放网络等各种服务给用户,对用户的资源访问权限进行集中控制。

Audition (审计):将用户所有的操作日志集中记录管理和分析,不仅可以对用户行为进行监控,并且可以通过集中的审计数据进行数据挖掘,以便于事后的安全事故责任的认定。

形象的说就是用户通过用户名和密码认证,认证后获得令牌token(identity),令牌是已经被授权过的“身份卡”,拥有令牌之后就可以访问或者操作系统了,但是活动内容是被授权时赋予的权限限制的,规定了你能做什么;而审计是一种监督管控的措施,它保留日志等一切有关系统、用户活动的事物,可以管控用户是否有非正常操作等不合理的地方。

而linux系统在此过程中,用到的有:

用户名(USERID即UID)

密码(passwd)

主组(GID)

附加组(辅助组)(other)

文件和目录权限

ACL访问控制列表

通过上述各项,对用户的系统活动进行初步的管理

二、用户和组

1、用户user和用户ID(UID)

在linux系统中每一个用户都有自己用户名,但是linux在识别时,并不是识别我们登陆时键入的用户名,而是用户名所对应的UID,而UID才是真正的身份证号码,就好比我们的身份证一样,最后用于核实身份的是身份证号码就是这个道理。因此用户名与用户ID(UID)的关系如下

用户名:类此姓名           方便用户记忆操作登录

用户ID:类此身份证号码       系统识别身份的真正依据

比如我们在系统正常新建一个用户User1,指定UID号码是1111,然后

在linux中用户(UESRNAME和UID)分为

管理用户(管理员root UID=0)

普通用户(UID=1-65535)

系统用户(如nologin)CentOS6.8默认UID=1-499;CentOS7.2默认UID=1-999

作用:对为了能够让后台进程或服务类进程以非管理员的身份运行,通常系统或应用程序需要为此创建多个普通用户,这类用户从不用登录系统,仅仅用来让其他进程以它的身份运行,从而仅能获取普通权限的;用户自己也可以常见系统用户。

登录交互用户(我们日常登陆工作的账户))CentOS6.8默认UID=500-60000;CentOS7.2默认

UID=1000-60000

作用:我们日常工作所用的交互账户,也是我们正常推荐所用的账户(root权限太大,操作有风险),有普通的权限,能够正常操作维护系统。

OK,我们来看一下示例,来看看UID如何影响用户名(账号)的

示例(1)

我们正常新建一个普通登录用户user1,并且指定UID=1111

useradd -u 1111 user1

然后在/etc/passwd中查看user1用户信息

getent passwd user1

查看普通用户家目录/home下的用户家目录列表存在的user1家目录的信息

ll /home

然后删除user1账户,但是保留家目录

userdel user1

查看普通用户家目录/home下的用户家目录列表存在的user1家目录的信息的变化

ll /home

添加用户user2,但是指定其uid=1111,与原来的user1相同

useradd -u 1111 user2

查看/etc/passwd中查看用户信息变化以及家目录中的变化

getent passwd
ll /home

示例2

作此示例请做好备份快照

我们用nano或vim文本编辑工具编辑修改/etc/passwd中的root uid=2222,并将user2的 uid=0

首先我们先要激活user2的密码,否则无法登陆

passwd user2

然后编辑配置/etc/passwd的信息,将root uid改为2222 将user2 uid改为0

vim /etc/passwd

我们以前提到过管理员的命令提示符默认是 # ,而普通用户为 $

然后我们重新登录一下系统,系统会重新读取/etc/passwd文件

exit

重新登录

登录user2会发现命令提示符变为 # 而默认管理员的命令提示符就是 # 而且切换用户root并不需要密码

而反观root用户原先只有管理员能够查看的/etc/shadow文件竟然不能访问查看,而且命令提示符号变为默认的普通用户 $ ;切换回user2账号竟然需要密码!而且能够查看/etc/shadow文件了

由此我们可以看出系统中的识别机制:是以用户ID即UID为依据的,并不是我们所用的用户名。

所以linux中的uid可以决定用户的身份,并影响其所属关系及权限。

注意:以上恢复原状,把root和user2的uid改回原值即可

用户uid是可以重复的(用命令创建和修改),但是一般不建议如此做

/etc/passwd  是全局配置文件之一 是数据库文件 记录的是用户账户的相关信息,可以用

man 5 passwd

了解相关参数的含义

2、密码

账户密码是用户登录认证的关键,我们在这里初步了解一下linux中用户密码,在系统中存储位置,和密码组成以及加密算法

在linux密码在早期版本中存储在数据库文件/etc/passwd中的第二个参数位置上,但是后期存储在/etc/shadow中,从现在的机制来说了,由于系统运作所需,passwd是所有用户都可以查看的,而shadow文件只能是root管理员查看来看,是为了安全因素所以给转移存储位置了,如果想要回到原来的存储模式,方法如下:

pwunconv      #关闭影子密码,是密码重新存储到/etc/passwd,而非/etc/shadow中
pwconv        #打开影子密码

上图我们可以看到,当关闭影子密码后,密码已经存储得到/etc/passwd中了,而且我们会发现/etc/shadowwen文件没有了!!!重现开启回到系统默认的影子密码模式,/etc/shadow文件又有了,密码又不存储在/etc/passwd中了,而是又存储到/etc/shadow中了

密码的组成:在系统中正常的密码组成由三部分构成

第一个$后是加密算法,数字与加密算法对应关系如下:

1:MD5     128位

2:sha1    160位

3:sha224   224位

4:sha256   256位

5:sha384   384位

6:sha512   512位

也因此我们可以看出上图user2的加密算法是sha512的

而早期密码算法多用MD5和sha1,位数没有上图显示的那么长,在当时虽然已经有更复杂的密码,但是考虑到加密和解密验证,都是要消耗系统资源的,同时还没有人能破解这种加密算法,所以为了让系统系统资源利用率更高,而没有使用更复杂算法;但是,在2005年由我国数学家王小云女博士!女博士!女博士!成功破解,也因此导致其后所有重要领域的密码加密算法改变。

天朝威武霸气,女博士天下无敌!!!!

加密机制:

加密:明文-->  密文

解密:密文-->  明文

单向加密:相同算法定长输出,获得密文不可逆推出原始数据

哈希算法,原文不同,密文必不同

雪崩效应:初始条件的微小改变,引起结果的巨大改变

更改加密算法 authconfig --passalgo=sha256 -- update

注意:

此命令是修改/etc/login.defs文件中的参数来实现的,所以对所有人有效,已经创建的用户加密模式不变,但是修改会变化,新建用户则使用修改后的加密算法,且重新登录也依然有效

第二$后是salt(盐):可以抽象理解为调料的作用,就是相同的密码,加入salt产生的随机数之后依据雪崩效应,产生的密文就不一样,这样就避免如果别人的密码密文与自己的一样,继而推算我们的密码。

第三$之后才是真正的密码密文,很根据加密算法位数的不同,而呈现不同长度,但是在相同算法下,不同长度的密码,密码密文长度相同,是等长的,所以,密码密文的长度由密码的加密算法决定。

3、组(主组、附加组)

在linux系统中用户的组我们可以抽象理解为所属部门,主组就是主职部门(也就是我们的关系所在地),而附加组则是兼职部门(比如技术部的主职技术员,本身又兼职公关部的形象大使),

时间: 2024-10-25 11:04:11

Linux运维学习历程-第六天-Linux用户、组以及权限管理的相关文章

Linux运维学习历程-第六天-Linux重定向和管道

本章内容我们将学习linux中的重定向和管道两大用法 I/O输入与输出设备 重定向 管道 tee命令与tr命令 一.I/O设备 1.什么是I/O设备 管理和控制计算机的所有输入/输出(I/O)设备是操作系统的主要功能之一,主要分为字符设备和块设备.一般由机械和电子两个部分组成. 功能介绍 输入/输出(Input /Output ,简称I/O),指的是一切操作.程序或设备与计算机之间发生的数据传输过程. 输入/输出系统(Input/Output System) ,指控制计算机数据流动的体制,包括程

Linux运维学习历程-第1天

什么是Linux Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统. 为什么学Linux 几乎所有的Linux版本都是免费的,网上有很多正版资源可供下载使用: Linux是开源性的,只要使用者遵循一定的开源协议就可以修改源代码:并且可以进行学习科研.工

Linux运维学习历程-第十六天-磁盘管理(三)逻辑卷快照

概述:逻辑卷管理(LVM)提供了为任何逻辑卷作一个快照的功能,目的是在一致的状态下来得到一个文件系统的备份.因为在备份过程中,应用程序可能访问一个分区的文件或者数据库.一些文件可能在一个状态被备份,而后面的文件可能在一个更新后被备份,导致备份的不完整 .传统的解决方法是以只读的方式挂载一个分区,对数据库应用表级锁或者关闭数据库的引擎等;所有的措施反而影响可用性(但是与没有备份相比不会丢失更多的数据).使用LVM的快照功能可以在没有损失可用性的情况下完成一致的备份. 请注意这个信息只对已经使用LV

Linux运维学习历程-第八天-Linux文本工具sed与Vim(vi)

概述: 本篇我们主要学习两个功能非常强大的文本编辑器,了解这两种文本编辑器的各自的特点 一.vi(vim)文本编辑器 练习和课后作业 1 .删除/etc/grub2.conf 文件中所有以空白开头的行行首的空白字符 sed "s/^[[:space:]]\+//" /etc/grub2.cfg sed -r "s/^[[:space:]]+//" /etc/grub2.cfg 2 .删除/etc/fstab 文件中所有以# 开头,后面至少跟一个空白字符的行的行首的#

Linux运维学习历程-第十三天-yum前端工具与源码编译安装

yum 前端工具 1.yum 2.源码编译安装http 二.作业: 1.输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序 2.删除kernel包后,无法启动,并恢复之 3.源码安装apache

Linux运维学习历程-第十四天-磁盘管理(一)

1.分区(mbr,gpt)区别和结构 1.作业:分区(mbr,gpt),创建文件系统(ext系列,xfs等),mount挂载各种选项 未完待续

[ Linux运维学习 ] 路径及实战项目合集

我们知道运维工程师(Operations)最基本的职责就是负责服务的稳定性并确保整个服务的高可用性,同时不断优化系统架构.提升部署效率.优化资源利用率,确保服务可以7*24H不间断地为用户提供服务. 如果你想从事Linux运维相关工作,那么你可以来实验楼,因为实验上有: [Linux运维技术路径]:一条学习路径,多个阶段.若干课程带你一步步成为Linux运维工程师: [Linux运维与Devops实战]:12周时间,带你0基础到运维工程师,涵盖Linux运维常用技术和DevOps相关技术: --

Linux运维学习-4——2016年7月26日

格式说明: 操作 概念 命令 说明及举例 四 du -sh /sys 查看文件.文件夹大小 /sys/class/scsi_host/host2/scan 在线扫盘(新加硬盘执行这个命令后才能发现) stat /etc/issue 更详细的看数据 蓝色:目录绿色:可执行文件浅蓝色:链接文件红色:压缩文件 创建-h文件名的文件,删除?访问?绝对路径 -:常规文件d:目录l:链接文件b:块设备(比如硬盘,有缓存)c:字符设备(不真实存在,没缓存) p:管道文件 例: 命令1 | 命令2 命令1的输出

Linux运维学习-2——2016年7月21日

格式说明: 操作 概念 命令 说明及举例 二 internet 因特网ethernet 以太网ctrl+alt+F1 图形界面ctrl+alt+F2-F6 字符界面 命令:who am i/who/who me i/tty/df/ifconfig/w/ halt 关机 reboot 重启 chvt 1-6 切换终端 init 3 关闭图形界面 init 5 打开图形界面 cp 复制 pwd 显示当前目录 lsblk 列出硬盘信息 id -u mg 查看用户ID,root为9,其他为普通用户,不加