linux 用户组概念,Linux用户和用户组基本概念

一、Linux用户基本概念

1、 3A认证机制

计算机如何区分不同的使用者呢 ? --->  用户标识(用户名、GID)、密码;

认证信息:通过比对事先存储的,与登录时提供的信息是否一致Authentication: 认证机制,通过某种方案来确认用户是其声称的用户,如密码、生物识别等

Authorization: 授权机制, 资源使用级别(Linux只有管理员和普通用户两级分配机制,权限)

Audition: 审计机制,监督权限的使用 ,log审计凭据---额外审计功能SELinuse

2、 用户分类

用户标识: UserID, UID,   16bits 二进制数表示,也就是: 0 - 65535

Linux内核(2.6.x)已经可以支持到2^32 - 1 个标识符。root : 0

普通用户: 1 - 65535系统用户: 1-499(CentOS 6) ;  1-999(CentOS 7)

登录用户: 500 - 60000(CentOS 6) ; 1000 - 60000 (CentOS 7)

3、 用户配置文件

e314b5d1df488d5143ed110d54bee72a.png

(1) 用户信息库: /etc/passwd

格式(七段):account:password:UID:GID:GECOS:directory:shell

account: 用户名

password:占位符x;

UID:用户的ID号

GID:用户所属的主组的ID号;

GECOS:注释信息

directory:用户的家目录;

shell:用户的默认shell,登录时默认shell程序;

(2)密码存储位置: /etc/shadow

格式(九段):用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期段:过期宽限时间:账号失效日期:保留字段login name:用户名

encrypted password:经过编码的密码

date of last password change:密码最近一次修改密码的时间

minimum password age:密码最短使用期限

maximum password age:密码最长使用期限:表示两次修改密码的最长间隔。

password warning period:警告时间:表示在密码快要过期之前的多少天开始警告用户修改密码。

password inactivity period:过期宽限时间:表示在密码过期以后,还允许用户登录的时间,只不过在这段时间里登录系统以后就必须要修改密码才能使用系统。

account expiration date:账号失效日期,该账号被禁用

reserved field:保留字段

(3)创建新用户默认属性: /etc/default/useradd# useradd defaults file

GROUP=100                # 创建组

HOME=/home               # 默认家目录

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash          # 默认shell

SKEL=/etc/skel           # 默认家目录的文件

CREATE_MAIL_SPOOL=yes    # 自动创建mail

二、用户组

1.用户组(用户容器)的分类

组标识:GroupID, GID

16bits二进制数字:0-65535

(1)系统视角:管理员用户组&普通用户组

管理员组:0

普通用户组:1-65635

系统用户组:1-499(CentOS6), 1-999(CentOS7)

登录用户组:500-60000(CentOS6), 1000-60000(CentOS7)

(2)用户视角:基本组&附加组

用户的基本组:用户本身所属组

用户的附加组:用户额外所支持的组

有效组:## 查看用户所属的组,第一个为有效用户组

# groups

##切换有效组为其他辅组

# newgrp GROUP

其实这个命令导致创建了一个子shell。

三、密码相关策略

1.加密算法

(1)对称加密算法:加密和解密使用同一个密码;

a1d1258fdcbccbe86140d5b3ba365f2e.png

(2)非对称加密算法:加密和解密使用的一对儿密钥

4e536f6ac432b9b3e0e6fc02d376970a.png

密码对:公钥(pubic key)、私钥(private key),一个公钥对应一个私钥。公钥加密,私钥解密。私钥加密,公钥解密。

(3)单向加密:只能加密、不能解密,提取数据特征码

不可逆算法,常用语数据完整性校验,速度是非对称加密的1000倍

单向加密的特性:

1、定长输出:生成的加密密码长度是一定的

2、雪崩效应(蝴蝶效应):任何passwd或sallt微小改变,加密后结果发生巨大改变

3、不可逆

4、明文一致,加密后密文也一致

【单向加密算法】

MD5(Message Digest)消息摘要, 128bits(2^128种变化,16进制输出)

SHA(Secure Hash Algorithm )安全的哈希算法, 160bits

扩展:sha224、sha256、sha384、sha512

【SALT】添加的随机数:不同用户密码相同,随机数不同加密结果相差甚远

让我们来看一下 /etc/shadow

8bbf95f691b5ab01fd47adc26ac55873.png

密码:!! ,表示此用户被禁用、锁定,禁止登陆系统

技巧:如果要临时禁止某个用户登陆,可以在其密码前面加上!!或其他字符。根据单向加密算法的特性,只要密码长度不一致,就无法匹配。

加密后的密码由三部分组成,由$分隔:

第一个$后的部分: 1-6的数字表示加密算法(md5,sha1,sha224,sha256,sha384,sha512),从左到右1-6。

第二个$后的部分: salt,加点盐。加了防止两个用户是一样的密码的情况,这样加密后的字符串也是一样的,一个用户看到另一个用户跟自己的字符串一样,也就知道那个用户的密码了。

密码与salt组合在一起加密所生成的字符串。

第三个$后的部分:就是用户输入的 key

Linux密码通常采用的是MD5方式加密,根据MD5加密特性(原始数据相同,加密后生成的密文也相同),就会出现以下情况:假设两个用户使用的密码都是123456,当甲发现乙加密的密码和自己的密码一样,那么他就可以知道乙的密码也是123456。

那么,为什么两个不同的用户,使用相同的密码,而/etc/shadow中的密码字段不同呢?

操作系统为用户的密码再加上salt。

key is a user's typed password.

salt is a two-character string chosenfrom the set [a-zA-Z0-9./].  This

string  is used to perturb the algorithm in one of4096 different ways.

2.密码使用策略

(1) 使用随机密码;

(2) 最短长度不要低于8位;

(3) 应该使用大写字母、小写字母、数字和符号四类字符中至少三类;

(4) 定期更换;

(5) 循环周期足够长

可以 使用 名言、古诗等方式,缩写设定密码

四、密码相关命令

useradd、usermod、userdel、passwd

groupadd、groupmod、groupdel、gpasswd

id:显示用户的信息和有效ID;

su:switch user,切换用户

newgrp:临时切换指定的组为基本组,使用exit退出

手动创建一个用户:

编辑/etc/passwd,编辑/etc/group,编辑/etc/shadow, 创建/etc/username目录,

复制/etc/skel 到/home目录, 然后重命名为username

为什么这么操作呢?因为/etc/skel 目录下,都是隐藏文件,不好操作

# cp –a /etc/skel /home

# mv /home/skel /home/myuser

修改权限及属主信息, 利用passwd命令改变密码。

# chown –R myuser:myuser /home/myuser

# chmod 700 /home/myuser

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值