1.资源分配规则:

Authentication:认证—>Authorization:授权Accouting|Audition:审计

2.用户user:

(1.)用户访问文件是带着令牌token,identity进行验证的

(2.)Linux用户中每个用户对应一个UID

(3.)管理员的用户名是:root,UID是0

(4.)普通用户的UID:1-65535

系统用户:1-499(CentOS 6)1-999(CentOS 7)

系统用户是对守护进程获取资源进行权限分配

登陆用户:500(CentOS6)+,1000+

交互式登陆

3.组group:

(1.)Linux组中每个组都对应一个组名和一个GID

(2.)管理员组是:root,组id是0

(3.)普通组:

系统组:1-499,1-999

普通组:500+,1000+

4.linux安全上下文:

(1.)运行中的程序:进程(process)以进程发起者的身份运行:

root:/bin/cat

mage:/bin/cat

(2.)进程能访问资源的权限取决于进程运行者的身份。

5.linux组的类别:

(1.)用户的主要组(主组):

用户必须属于一个且只有一个主组

组名同用户名,且仅包含一个用户:私有组

(2.)用户的附加组(辅助组)

一个用户可以属于零个或多个辅助组(secondary group)

几个查看组信息的命令:

groups bin查看用户的所属主

id bin

id -u tom查看用户的UID

id -g tom查看用户的组id

6. 用户和组的配置文件:

Linux用户和组的主要配置文件:

(1.)/etc/passwd:用户及其相关属性信息(名称,UID,GID等等)

文件格式:

root:x:0:0:root:/root:/bin/bash

第一个字段是login name ;第二个字段是passwd;第三个字段是UID,第四个字段是GID;第五个字段是用户的属性信息;第六个字段是用户的home directory;第七个字段是用户的默认shell;

(2.)/etc/shadow:用户密码及其相关属性

文件格式:

root:$6$hofHDt7/$D4VYEL0qL7a.UiB6qRQePw6IFIXdTVoGYoqGLCExia0ln6OPuJQkXS27wEhRFLck.94LWbOo.QlnLO6l8ZpeR1:17007:0:99999:7:::

登陆用户,用户加密后的密码,密码修改从1970至今的过去的天数,密码使用最短时间,密码使用最长时间,密码过期前提醒时间,密码过期后几天后账户被锁定,自1970后多少天后账户失效。

(3.)/etc/group:用户及其属性信息

文件格式:

haldaemon:x:68:haldaemon

第一个字段是组名;第二个字段是组密码;第三个字段是组id;最后一个字段是组里的用户

(4.)/etc/gshadow:组密码及其相关属性

文件格式

bin:::bin,daemon:群组名称,群组密码,组管理员列表,以当前组为附加组的用户列表。

7.关于/etc/passwd和/etc/shadow有影响的几个命令

(1)pwconv:转换—把/etc/passwd中的密码字段转换位x,加密后的密码放在/etc/shadow中

(2)pwunconv:密码不转换为x,--加密后的密码直接放在/etc/paswd的第二个字段

(3)chfn添加描述信息

(4.)finger查看描述信息:初次使用可能需要安装finger的rpm包。

(5.)chsh  :chsh -s /bin/csh wang:专门用来改用户的shell

(6)$5使用的是md5 128位 $6使用的是sha512 sha160位

(7)openssl rand -base64 20 生成随机数

(8)newgrp tom 临时切换主组为tom

8.密码加密:

(1.)加密机制:

加密:明文密文

解密:密文明文

(2.)单向加密:哈希算法,原文不同,密文必不同

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

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

md5:message digest, 128bits

sha1:secure hash algorithm,160bits

sha224:224bits

sha256:256bits

sha384:384bits

sha512:512bits

$5使用的是md5 128位 $6使用的是sha512 sha160位

(3.)更改加密算法 authconfig --passalgo=sha256 --update

(4)密码的复杂性策略:

使用数字、大写字母、小写字母及特殊字符中的至少3种

足够长

使用随机密码

定期更换;不要使用最近曾经使用过的密码

(5)密码期限

lastchang(-d),min days(-m),max days(-M),warn days(-w),password expiration date ,inctive days(-l);inactive days

9.文件操作命令:

vipw和vigr:修改/etc/passwd和/etc/group的命令。

pwck和grpck:对上述两个文件进行语法检查的命令。

10.用户和组管理命令

(1)用户管理命令

useradd

useradd [options] LOGIN

-u UID:[UID_MIN,UID_MAX]定义在/etc/login.defs

-o 配合-u选项,不检查UID的唯一性

-g GID:指明用户所属基本组,可为组名,也可以GID

-c "COMMENT":用户的注释信息

-d HOME_DIR:以指定的路径(不存在)为家目录

-s SHELL:指明用户默认shell程序

可用列表在/etc/shells文件中

-G GROUP1[,GROUP2,...]为用户指明附加组,组必须事先存在

-N 不创建私用组做主组,使用users组做主组

-r:创建系统用户CentOS 6:id<500,CentOS 7:id<1000

系统默认值设定:/etc/dafault/useradd文件中

显示或更改默认设置:

useradd -D 

useradd -D -s SHELL

usermod

userdel

(2)组账号维护命令

groupadd

groupmod

groupdel

11.练习:(1)创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"

useradd -G bin,root -s /bin/csh -c "Gentoo DIstribution" gentoo 

(2)创建下面的用户、组和组成员关系

名字为admins 的组

用户natasha,使用admins 作为附属组

用户harry,也使用admins 作为附属组

用户sarah,不可交互登录系统,且不是admins 的成员,natasha,harry,sarah密码都是centos

groupadd admins;useradd -G admins natasha;useradd -G harry ;useradd -s /sbin/nologin;echo "centos" |passwd --stdin natasha;echo "centos" |passwd --stdin harry;echo "centos" |passwd --stdin sarah

12.新建用户的相关文件和命令:

/etc/dafault/useradd

/etc/skel/* 用户创建时的个人配置信息拷贝目录

/etc/login.defs:登陆用户创建时的一些规定和限制

批量创建用户命令:newusers passwd格式文件

批量修改用户口令:chpasswd:使用是由:用户:密码这样格式的文件

cat passwd.txt |chpasswd

13.用户属性修改:

usermod [OPTION] login

-u UID:新UID

-g GID :新基本组

-G GROUP1[GROUP2,...]新附加组,原附加组将被覆盖,如果想要保留原附加组,同时使用-a选项

-s SHELL:新的默认shell;

-c "adhfjds":新的注释信息     

  -d HOME:新的家目录不会自动创建,原家目录里的文件不会自动迁移,若要创建家目录并迁移个人数据,加上-m选项

-l login_name:新的名字;

-L:lock指定用户,在/etc/shadow密码栏增加!,锁定用户

-U:unlock指定用户,将/etc/shadow密码栏的!拿掉

-e yyyy-MM-DD:指定账户过期日期;

-f INACTIVE:设定非活动期限;

14.删除用户:

userdel [OPTION] ... login

-r:删除用户家目录;

15.查看用户相关的id信息:

id [OPTION]...[USER]

-u:UID

-g:GID

-G:GROUP

-n:Name;需和上面的选项一起使用

16.切换用户或以其它用户身份执行命令

su [options...] [-] [user[args...]]

切换用户的方式:

su UserName:非登陆式切换,即不会读取目标用户的配置文件,不改变当前工作目录

su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换

root su至其它用户无需密码;非root用户切换时需要密码

换个身份执行命令:

su [-] UserName -c 'COMMAND'

选项-l --login:

su -l UserName 相当于 su - UserName

17.设置密码:

passwd [OPTIONS] UserName 修改指定用户的密码,仅root可以修改其它用户密码

passwd:修改自己的密码

常用选项:

-l:锁定指定用户

-u:解锁指定用户

-e:强制用户下次登陆修改密码

-n mindays:指定密码最短使用期限

-x maxdays:密码最大使用期限

-w warndays:提前多少天开始提醒修改密码

-i inactivedays:非活动期限

--stdin:从标准输入接收用户密码

echo "PASSWORD" | passwd --stdin USERNAME

18.修改用户密码策略:

chage [OPTION]... LOGIN

-d:last_day 最后修改日期

-E:--expiredate EXPIRE_DATE 过期日期

-I:--inactive INACTIVE 非活跃期

-m:--mindays MIN_DAYS

-M:--maxdays MAX_DAYS

-W:--warndays WARN_DAYS

-l:显示密码策略

下次登陆强制重设密码:

chage -d 0 tom 

chage -m 0 -M 42 -W 14 -I 7 tom

chage -E 2016-19-10 tom

19.用户相关的其它命令:

chfn 指定个人信息

chsh 指定shell :chsh -s /bin/csh ci:修改ci用户的shell为csh

finger:查看用户的注释信息:finger ci

20.组创建:

groupadd [OPTION]... group_name

-g GID:创建组的时候指明GID号;[GID_MIN,GID_MAX]

-r:创建系统组;

CentOS 6:ID<500

CentOS 7: ID<1000

21.修改和删除组

groupmod [OPTION]... group

-n group_name:新名字

-g GID :新的GID

组删除命令:groupdel

groupdel GROUP

22.更改组密码:

组密码:gpasswd

gpasswd [OPTION] GROUP

-a user:将user添加至指定组中;

-d user:从指定组中移除用户user

-A user1,user2,...:设置有管理权限的用户列表

newgrp命令:临时切换基本组

如果用户不属于此组,则需要组密码

23.更改和查看组成员

groupmems [options] [action]

options:

-g,--group groupname 更改为指定组(只有root)

Actions:

-a,--add username指定用户加入组

-d,--delete username从组中删除用户

-p,--purge从组中清除所有成员

-l,--list 显示组成员列表

groups [OPTION].[USERNAME]...查看用户所属组列表:groups ci