一、用户,组和权限管理

  1、多用户(Multi-tasks),多任务(Multi-Users)。对计算机而言,每一个使用者就是一个用户。

  2、每个使用者:

    a、用户标识,密码:

      认证(Authentication):用户名和密码登陆

      授权(Authorization):哪个用户有哪个权限

      审计(Audition):对相应操作行为进行审计

    b、组:用户组,即用户容器。

二、用户和组

  1、用户类别:

    a、管理

    b、普通用户

      系统用户

      登陆用户

    c、用户标识:UserID,UID

      16bits二进制数字:0-65535

        管理员标识(ID):0

        普通用户:1-65536,一般CentOS只用到了60000

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

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

      名称解析:名称转换

        Username <--> UID

        根据名称解析库进行:/etc/passwd

  2、组类别1

    a、管理员组

    b、普通用户组

      系统组

      登陆组

    c、组标识:GroupID,GID

        管理员组(ID):0

        普通用户组:1-65536,一般CentOS只用到了60000

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

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

    d、名称解析:名称转换

      groupname  <--> GID

      解析库:/etc/group

  3、组类别2

    a、用户的基本(主)组

    b、用户的附加组

  4、组类别3:

    用户的私有组:组名同用户名,且只包含一个用户。

    用户的公共组:组内包含了多个用户

  5、认证信息

    a、通过比对事先存储的,与登录时提供的信息是否一致。

      password:

        用户密码库文件:/etc/shadow

        组密码库文件:/etc/gshadow

    b、密码使用策略

      (1)、使用随机密码

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

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

      (4)、定期更换

    c、加密算法:

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

        

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

        秘钥对:使用公钥加密的只能使用与之配对的私钥解密。非对称加密秘钥长度比对称加密长的多。对称加密早期只有56位,但2002年就已经被破解了,后来就开始增长秘钥的长度,128位,192位,256位,384位等等。而非对称加密的长度后来达到了惊人的级别,起始为512位,现在可以达到2048位,甚至可以达到4096位。秘钥越长,加密解密也就越慢,因此非对称加密一般来说比较慢一点。据说非对称加密比对称加密慢三个数量级即10^3倍

            公钥:public key

            私钥:private key

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

        定长输出

        雪崩效应:初始节点细微改变可能引起全局巨大变化

[root@node1 .ssh]# echo "hao are you" |md5sum
e2a28ca5906fdacfd9825bd6766efc9d -
[root@node1 .ssh]# echo "hao are you ?" |md5sum
49dba70f61c42012af4d0e8db4a332c9 -

        目前的算法:

          md5:message digest,128bits

          sha:secure hash algorithm,160bits

          sha224

          sha256

          sha384

          sha512

[root@node1 /]# echo "wohaoshuai"|sha512sum
3306a5149229338826594b1fa5ccaf5681d38049130cd991c0b0b9f462fe839927269fd838352d62c25a26c13b1a2cdbd93f6abc012e8f0a28f5861304c0e887 -
[root@node1 /]# echo "wohaoshuai"|sha512sum
3306a5149229338826594b1fa5ccaf5681d38049130cd991c0b0b9f462fe839927269fd838352d62c25a26c13b1a2cdbd93f6abc012e8f0a28f5861304c0e887 -

  6、我们现在来增加用户centos和gentoo并修改密码,我们可以看到我们密码一样但是他们的密码随机数也是不一样的。这是因为他在计算时加了salt,即随机数。

[root@node1 /]# useradd centos
[root@node1 /]# useradd gentoo
[root@node1 /]# passwd centos
Changing password for user centos.
New password:
BAD PASSWORD: The password is shorter than characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@node1 /]# passwd gentoo
Changing password for user gentoo.
New password:
BAD PASSWORD: The password is shorter than characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@node1 /]# tail - /etc/shadow
centos:$$x6tAsVEU$LD0TeHD/8MxGXC4yFlGfwoZRhShRferRCHjgiCZMFfkNn/ZXMw2hnQrd0DT4Ev5AW6w8fBv2GqSfQ2E6gVflu0:::::::
gentoo:$$3zQ80.$ryAHNDjDcSA8stzrDPYkCZiXFaUVueTxdAVexjuNl4lQkemWyD1dn4FgSH.tn2WQ94NXKo68ciygE3NFWH6ij1:::::::

三、相应文件解析

  1、/etc/passwd:用户的信息库

[root@node1 etc]# whatis passwd
sslpasswd (1ssl) - compute password hashes
passwd () - update user's authentication tokens
passwd () - password file
[root@node1 etc]# man passwd

    a、对应内容格式

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

      name:用户名

      password:可以是加密的密码,也可以是占位符x,x出现意味着密码在/etc/shadow中

      UID:用户ID

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

      GECOS:用户的注释信息

      directory:用户的家目录

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

[root@node1 etc]# tail /etc/passwd
chrony:x::::/var/lib/chrony:/sbin/nologin
sshd:x:::Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x::::/:/sbin/nologin
testuser:x::::/home/testuser:/bin/tcsh
nginx:x:::Nginx web server:/var/lib/nginx:/sbin/nologin
redis:x:::Redis Database Server:/var/lib/redis:/sbin/nologin
wohaoshuai:x::::/home/wohaoshuai:/bin/bash
tomcat:x:::Apache Tomcat:/usr/share/tomcat:/sbin/nologin
centos:x::::/home/centos:/bin/bash
gentoo:x::::/home/gentoo:/bin/bash

  2、/etc/shadow:用户密码

[root@node1 etc]# whatis shadow
shadow () - encrypted password file routines
shadow () - shadowed password file
[root@node1 etc]# man shadow

    a、对应内容格式

      用户名:加密的密码:最近一次修改密码的时间(从1970年到现在的天数):密码的最短使用期限(此时间不能改密码):密码最长使用期限:警告期:过期期限:保留时长(即过期后密码还可以保留多久)

      在警告期有两个情况,当警告期处于密码最长使用期限期间时用户登录系统时只会警告还可以操作,当警告期处于密码最长使用期限时间之后时登录后将会一直被警告而不能操作,当过期后密码也就无法登陆了,也不会警告了

gentoo:$$tI6yub9Q$NeWTMw9SfRJLD0ynfzrDeNCeOatzaRhT0mmyr3eZM4LdRuf2BOrz34bDG1B7zTyUBQsjej/LeK.EFijBq61w./:::::::
centos:$$2CIkdkuC$KujBc6P8uwHlnjX3JYzTLeDqvqSy1JAtnGBihzwmRxqrhU5OHubRd86sFaCcHKg6xgqEoLZDBVTYPel5a88lS0:::::::

      加密的密码串在前面默认会加一段随机字符然后再进行加密,使用$作为分隔符,由三段组成:$加密算法,1表示md5,在linux中一共有上面介绍的6种加密算法,6表示sha512$随机数$加密后的字符串。上面可以看到centos后面的加密的密码串就是如上所述的意思。

  3、/etc/group:组的信息库

[root@localhost ~]# whatis group
group () - user group file
[root@localhost ~]# man group

    a、内容结构:group_name:password:GID:user_list

      group:组名

      password:默认也是x,在/etc/gshadow中

      GID:组ID

      user_list:该组的用户成员,以此组为附加组的用户的用户列表

[root@localhost ~]# tail /etc/group
postdrop:x::
postfix:x::
ntp:x::
chrony:x::
tcpdump:x::
stapusr:x::
stapsys:x::
stapdev:x::
gentoo:x::
centos:x::

  4、相关命令:

    useradd,userdel,usermod,passwd

    groupadd,groupdel,groupmod,gpasswd

    chage,chsh,id,su

linux学习15 Linux系统用户和组全面讲解的更多相关文章

  1. linux学习(五)用户与组管理命令,以及用户信息文件解释

    目录 (1)/etc/passwd文件 (2)/etc/shadow passwd命令 userdel命令 usermod命令 groupadd @(用户与组管理命令) linux是一个多用户多任务的 ...

  2. Linux学习笔记13-用户和组

    操作系统通过用户.组概念来管理使用计算机的人 用户代表一个使用计算机的使用者,操作系统通过用户概念限制一个使用者能够访问的资源 组用来组织管理用户 用户具有以下概念: 每个用户有一个用户名和一个用户I ...

  3. Linux学习笔记06—系统用户及用户组的管理

    一.认识/etc/passwd和/etc/shadow 1./etc/passwd 由 ‘:’ 分割成7个字段,每个字段的具体含义是: 用户名 存放账号的口令:现在存放在/etc/shadow下,在这 ...

  4. linux系统用户和组管理

    用户和组管理 Linux是多用户多任务的网络操作系统,作为网络管理员,掌握用户的组的创建与管理至关重要. 学习要点: 了解用户和组的群的配置文件. 熟悉掌握Linux下用户的创建和维护管理. 熟悉掌握 ...

  5. Linux学习之三-Linux系统的一些重要配置文件

    Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0        ...

  6. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  7. 基于Activiti5.15.1 自定义用户、组(User,Group)实现

    基于Activiti5.15.1 自定义用户.组(User,Group)实现 本人刚接触Activiti,最近工作中需要将Activiti中原有的用户,组(ACT_ID_USER,ACT_ID_GRO ...

  8. Linux系统用户、组和权限管理

    一.用户与组 1.用户与组的概念 在linux系统中,根据系统管理需要将用户分为三种类型: 1.超级用户:root是linux系统的超级用户,对系统拥有绝对权限.由于root用户权限太大,只有在进行系 ...

  9. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

随机推荐

  1. tornado之websoket

    继承WebSoketHandler def open(self): # 当一个WebSoket连接建立之后被调用 def on_message(self, message): # 当客户端发送一个消息 ...

  2. linux权限管理(chown、chgrp、chomd)

    一.文件权限 我们以/etc/passwd 文件为例,用ll长列出其属性如下所示 ll /etc/passwd 每个文件针对每类访问访问者都定义了三种权限 文件类型中: p:表示命名管道文件 d:表示 ...

  3. 汉诺(hanio)塔问题

    规则:大盘子不能压在小盘子上.要求:将A柱子上所有盘(每个盘大小不同)放到C柱子上,使用B柱子作辅助. 比如柱子A上有n个盘,执行以下步骤: 1. 把n-1个盘从源柱移动到临时柱上: 2. 把源柱上剩 ...

  4. python 面向对象编程、获取对象信息

    面向对象与面向过程 参考链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0 ...

  5. 一,python编程100例

    1.有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? number = (1 ,2,3,4) ...

  6. Ansible--Ansible之Playbook

    Ansible之Playbook Playbook介绍 playbook参考文档 Playbook与ad-hoc相比,是一种完全不同的运用ansible的方式,类似与saltstack的state状态 ...

  7. ssh工具推荐

    FinalShell 看图就知道功能多强大了, 官网地址 http://www.hostbuf.com

  8. SAP CDS redirect view支持写操作吗,一个实验来验证

    According to this wiki, write back on CDS view is not supported: And also it is defined in ABAP help ...

  9. nginx配置ssl证书流程及常见问题

    背景:         项目开发中用到了微信小程序,但是服务器配置URL必须是HTTPS,所以需要通过配置nginx的SSL模块来支持HTTPS访问,也就是说,要做一个网站域名为 dmsdbj.com ...

  10. web服务器-nginx

    一.nginx之前 同步与异步: 同步与异步的重点在消息通知的方式上,也就是调用结果的通知方式不同. 同步:当一个同步调用发出去后,调用者要一直等待调用的结果通知后,才能进行后续的操作. 异步:当一个 ...