我的朗科运维第四课(2)

用户和组的管理

所采用的认证为Cisco开发的AAA认证体系:

Authetication:认证,核实身份是否正确;

Authorization:授权,对已经核实身份的用户进行资源分配;

Accounting:审计,监管资源被使用的情况;

Linux是一个多用户、多任务的系统:

能够实现资源使用和完成的任务的主体是:应用程序进程

进程是以其发起者的身份运行的;可以理解为:进程的所有者就是发起者;会将发起者信息标记在进程上;

当进程试图访问资源的时候,安全上下文会对比进程的所有者和资源的所有者的关系:

首先查看进程的所有者是不是资源的所有者,如果是,就按照属主的权限使用资源;

如果不是,则判断进程的所有者是否属于资源所属组,如果是,按照数组的权限使用资源;

如果不是,则直接使用资源的其他人访问权限来使用资源;

用户账户:就是计算机操作者在操作系统中的身份映射;在满足了认证条件之后的身份映射;

用户分类:

超级用户:(管理员)root

普通用户:

系统用户:为保证安全,必须让那些运行在后台的进程或者服务类进程亦菲管理员的身份运行;这类用户一般不需要登录到系统;

登陆用户:能够正常使用整个系统资源的用户;

用户的标识:用户登陆名称;

用户ID:为计算机系统准备的数字标识;

超级用户:0

系统用户:Centos5、Centos6:1~99;Centos7:1~999;

登陆用户:Centos、Centos6:500~60000;Centos7:1000~60000;

名称解析:名字<-->UID

解析库:/etc/passwd

系统利用解析库完成认证机制,验证登陆用户是否是你声称的那个人;

认证库:

用户的认证信息库:/etc/shadow

组的认证信息库:/etc/group

采用密码认证机制:

设置密码的一般性策略:

1.尽量使用随机字符串作为密码;

2.密码长度不要少于8字符;

3.密码中尽量包括大写字母、小写字母、数字和标点符号,这四类字符中的三类;

4.不定期更换,每个一段时间换一个密码(推荐42天之内一换密码);

在Linux中,保存到认证库中的密码信息是经过加密保存的;

hash单向加密算法:抽取原始数据的特征信息,数据指纹;

单向加密算法的特征:

1.只要数据相同,加密结果必然相同;

2.无论数据多大,其加密结果定长输出;

3.雪崩效应

4.不可逆

单向加密常用的算法:md5、sha1、sha224、sha256、sha384、sha512

为防止密码相同,每个用户都加一个salt而且只加一次

最终验证字符串:算法+salt+密码

用户组:将具有某些相同或相似属性的用户联系在一起以便集中授权的容器;

组类别:

管理员组:

普通用户组:

系统组:

登陆组:

组的标识方法:

组名:方便操作者使用;

组的ID(GID):位系统提供标识;

管理员组:0

系统组:Centos5、Centos6:1~499;Centos7:1000~60000

解析库:/etc/group

组也需要认证,组也有认证库:/etc/gpasswd

组也需要密码保护;

如果没有设置密码保护,则不能随时加入;

以用户为核心来对组进行分类:用户的主要组(基本组);用户的附加组(附属组,额外组);

根据组所容纳的用户来分:私有组,公共组;

用户和族的管理:

解析库1:/etc/passwd:

格式:name:password:UID:GID:GECOS:directory:shell

name:登录名

password:密码字段,现在使用了shadow机制的系统,通常使用“x" 作为占位符;

UID:用户的ID;

GID:此用户主要组的ID

GECOS:comment,注释类的信息,现在一般都会用来存放用户的说明信息或全名;

directory:用户的家目录的绝对路径;

shell:用户的默认登陆shell的绝对路径;

解析库2:/etc/group:

格式:group_name:password:GID:use_list

group_name:组名

password:组密码占位符,默认为空;

GID:组的ID;

user_lsit:以该组为附加组的用户的列表;

认证库1:/etc/shadow:

login name:用户的登录名;

encryted password:加密了的密码;

date of last password change:相对时间概念;

minimum password age:在多久时间内无法修改密码;

maximum password age:在多长时间之后密码过期;

password warning period:密码过期之前的友善提醒天数;

password inactivity period:密码过期之后的宽限期;

account ecpiration date:一个用户账户密码过期的日期;

reserved field:保留字段;

认证库2:/etc/gpasswd:

格式:group name:encrypted password:administrators:members

组管理命令:

groupadd:新建组账户,添加组;

groupadd [-g gid [-0]] [-r] [-f] groupname

-g gid:在创建组账户是,指定组账户GID; 如果不使用该选项指定,系统会选则在iexi文件按镇南关出现在不大于60000的GID加1;

-r:创建系统组;

groupmod:修改组的相关属性;

groupmod [选项] GROUPNAME

-g gid: 修改组账户的ID;

-n NEW_GROUPNSME: 修改组名;

groupdel: 删除组账户

groupdel [选项] GROUPNAME

注意:如果某个组是摸个用户的主要组或私有组,则该组无法删除;

用户管理的命令:

useradd:添加用户帐号

useradd [选项] 登录名

/etc/default/useradd

/etc/login.defs

/etc/skel

以上三个文件和目录能够帮助管理员在为指定任何选项是,也能创建用户,并为用户赋予默认的属性;

选项:

-c,--comment ‘COMMENT‘: 在创建用户是为用户添加注释信息,一般为全名;

-d,--home /PATH/TO/HOME_DIR: 在创建用户的时候为用户指定家目录的绝对路径,被指定的目录应该是事先不存在的目录;

-g,--gid GROUPNAME: 在创建用户时,为用户指定组目录;

-G,--groups GROUP1[,GROUP2,...[,GROUPN]]: 在创建用户时,为用户添加附加组;

-m,--create-home:在创建用户时,强制性为用户创建家目录;

-M:在创建用户时,不会创建用户的家目录,即使在/etc/login.defs中CREATE_HOME的值为yes也不创建;

-r,--system:创建系统用户;

-u,--uid UID:在创建用户的时候,为用户指定UID,这个UID可以超过6000的限制;

-s,--shell /PATH/TO/SHELL:在创建用户时,为用户指定默认shell,使用绝对路径;

-D,--defaults: 显示或修改用户默认属性值;

-s, --shell /PATH/TO/SHELL: 修改/etc/default/useradd文件中SHELL的默认值;

usermod: 修改用户账户信息

usermod [选项] 登录名

选项:

-c, --comment ‘COMMENT‘: 修改用户的注释信息;

-g,-gid GROUPNAME: 修改用户的主要组;

-G,--groups GROUP1[,GROUP2,...[,GROUPN]]: 修改用户的附加组为列表中的组;

-a,--append:与-G选项同时使用,给用户添加新的附加组;

-d,--home /PATH/TO/HOME_DIR: 修改用户的家目录;

-m,--create-home:与-d选项同时使用,将旧的家目录中的数据移动至新家之中;

-s,--shell /PATH/TO/SHELL: 修改用户账户的登陆shell;

-l,--login NEW_LOGIN: 更改用户账户的登录名;

-u,--uid UID:修改用户的UID;

-L,--lock:锁定账户密码;

-U,--unlock:解锁用户密码;

userdel:删除用户账号

userdel [选项] 登录名

选项:

-r:删除用户的同时,清楚用户的家目录;

用户认证相关命令:

passwd:设置和查看用户的密码信息:

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

1.如果省略用户名,意味这更改当前登录用户的密码;

2.如果指定用户名,更改指定用户的密码,只能root使用;

选项:

-l,lock:锁定用户密码;

-u,--unlock:解锁用户密码;

相比较usermod -L|-U而言,其优先级更高;

如果使用usermod -L锁定的用户密码,可以使用passwd -u解锁;

而使用passwd -l锁定的用户密码,无法使用usermod -U解锁;

-d,--delete:删除用户密码;将/stc/shadow文件中第二字段清空;

-S,--status:查看用户的密码状态;

--stdin:借助于管道将输入数据流当作标准输入信息送给passwd命令;

组认证相关命令:

gpasswd:

gpasswd [选项] groupname

选项:

-a,--adduser:向名为group的组中添加用户user;

-d,--deleteuser:从名为group的组中一处用户user;

其他命令:

su:switch user,切换用户身份

su USERNAME:半切换;在切换用户的时候,不会重新读取目标用户的配置文件,因此,用户并没有登陆行为,所以,工作环境不初始化;

su - USERNAME:登陆式切换,完全切换;在切换用户的时候,重新读取目标用户的配置文件并且初始化工作环境;相当于su -l USERNAME

-c COMMAND: 并不会切换用户身份,而是以目标用户的身份执行某命令;

使用su命令的时候,从root切换到其他普通用户,无需密码;但普通登陆用户进行切换时,必须给出目标用户的密码;

进行用户切换之后,不要连续切换,而是用exit命令返回之前的用户;

newgrp GROUPNAME: 临时更改当前登录用户的主要组;使用exit返回之前的状态

id: 显示真实的和有效的用户和组的ID;

真实的ID:在/etc/passwd定义的用户的UID和GID;

有效的ID:当前生效的用户的UID和GID;

id [OPTION]... [USER]

-g: 只显示用户的有效GID

-u: 只显示用户的有效UID

-G: 显示用户所有组的ID

-n: 以名称来代替ID进行显示

时间: 2024-08-06 11:56:34

我的朗科运维第四课(2)的相关文章

Linux云自动化运维第四课

Linux云自动化运维第四课 一.vim 1.vim光标移动 1)在命令模式下 :数字  ###移动到指定的行 G  ###文件最后一行 gg  ###文件第一行 2)在插入模式下 i  ###光标所在位置插入 I  ###光标所在行行首 a  ###光标所在字符的下一个位置 A  ###光标所在行行尾 o  ###光标所在行下一行 O  ###光标所在行上一行 s  ###删除光标所在字符插入 S  ###删除光标所在行插入 2.vim的退出模式 :q  ###当用vim打开文件但没有对字符作

我的朗科运维第七课

shell脚本编程 在讲shell脚本编程前,先了解一下bash的颜色显示规则: bash的颜色显示规则是按照ASCII编码对颜色进行设置的:其一些常用的编码有: \033:Ctrl键: [:控制颜色属性命令: 0m:关闭颜色属性命令: 1m:加粗显示文本字符: 4m:为文本字符加下划线标识: 5m:使文本字符闪烁: 7m:将文本字符的背景色和前景色交换显示: 8m:将文本字符的背景色和前景色设置为相同颜色: 30m-39m:设置文本字符的前景色:38m和39m暂时保留: 40m-49m:设置文

我的朗科运维第八课

shell编程之执行结构 case分支选择结构: case 词 in [模式 [| 模式] ...) 命令 ;; ] ... esac case 变量引用 in 模式1) 分支1 ;; 模式2) 分支2 ;; ... *) 默认分支 ;; esac 模式(PATTERN): 1.普通的文本字符 2.globbing风格的通配符 *:任意长度任意字符 ?:任意的单个字符 []:范围内的任意单个字符 [^]:范围外的任意单个字符 3.|:或 例:提示用户输入信息,然后判断用户输入的信息是否合法: #

我的朗科运维第六课(1)

文本处理三剑客 grep系:grep.egrep.fgrep,文本搜索工具,居于"PATTERN"对于给定的文本进行模糊搜索. sed:tream EDitor,流编辑器,行编辑器,文本编辑工具: awk:gawk--GNU awd,文本格式化工具,文本报告生成器,文本处理的编辑语言: grep系:grep.egrep.fgrep grep:Global search REgular expression and Print out the line. 利用增则表达式进行全局搜索并将匹

我的朗科运维第五课(1)

为了更好地保护系统的安全,linux系统中采用了用户权限管理. 其中用户的权限分为:普通权限.特殊权限.文件的特殊权限.FACL. 普通权限: 进程安全上下文: 1.判断进程的所有者是否为想要操作的属主,如果是,就按照属主的权限进行授权:如果不是,就转到第二条: 2.判断进程的所有者是否为想要操作的文件的属组中的成员,如果是,就按照属组的权限进行授权:如果不是,就转到第三条: 3.按照其他用户的权限进行授权: 权限的构成: MODE(Permission):使用权 r:Readable:可读 w

Linux运维第七课----Linux基础优化

一.find找出文件,并替换文件内容[[email protected] ~/data]# find /root/data/ -type f -name '.txt' ./oldboy.txt./acheng.txt./magua.txt./op.txt1.方法一 [[email protected] ~/data]# find /root/data/ -type f -name '.txt' -exec sed -i 's#sh#hs#g'[[email protected] ~/data]#

写给自己看的Linux运维基础(四) - python环境

pip - Python包管理工具 https://pip.pypa.io/en/latest/installing.html wget https://bootstrap.pypa.io/get-pip.py python get-pip.py Redis (NoSQL) http://www.redis.io/download wget http://download.redis.io/releases/redis-2.8.13.tar.gz tar xzf redis-2.8.13.tar

最新linux运维高级架构课13期 架构师课程

有会员购买的,分享给大家.完整一套,可以学习一下. ├─L001-2017linux运维高级架构师13期-运维与自动化运维发展-10节 │      1-1运维职业发展.avi │      1-2运维职业发展.avi │      1-3运维职业发展.avi │      10-1ITIL故障管理和问题管理.avi │      10-2ITIL故障管理和问题管理.avi │      10-3ITIL故障管理和问题管理.avi │      2-1运维知识系统和分类.avi │      2

从软件部署看运维的四种境界

首先,博文的名字很难取啊,叫什么都感觉不太对,这里就暂定这样吧.不可否认这里有点哗众取宠的动机,不谈境界总感觉格局不够大哈. 中国哲学家冯友兰先生说过,人生有四种境界:自然境界.功利境界.道德境界.天地境界.经过长期的部署安装软件服务,感觉最近手熟多了,通过实践可以得出一些方法,方法总结起来 就可以组成一套方法论了,但作为国人,还是用格局,境界之类的词更有亲切感. 不多说废话了,下面上干货.(我所理解的干货,也可能不是,牛人请忽略) 下面通过具体的安装redis这个小软件来说明问题,我分别附上四