用户\组的管理

1、用户的标识符:UID与GID

  每个登录的用户都至少会识别两个ID,那么就是UID与GID(username与groupneme)当我们要显示文件属性时,系统会根据/etc/passwd与/etc/group的内容,找到id对应的账号与组名再显示出来。

/etc/passwd文件结构

  他的每一行都代表一个账号,并且里面许多账号都是系统正常运行所必要的称之为系统账号,切不可随意删除。

用户\组的管理1.png

  我们可以看出,每一行都用:分隔开,每一个行都有七个字段分别是:

  1、账号名称

    就是创建账号的名字用来对应UID

  2、密码

    这里存放的是账号密码,但是由于他能被读取会导致数据窃取,所以后来密码都被加密并放置在/etc/shadow中。

  3、UID

用户\组的管理2.png

  4、GID

    这个跟UID差不多,它用来规定组名与GID的对应关系。

  5、用户信息说明

    相当备注,用来解释账号的作用。

  6、主文件夹

   这里就是用户的家目录,比如root的主文件夹在/root中,所以当root登录后会自动跳转至/root目录里。

  7、Shell

   Shell有很多类型,bush只是其中的其中,在这里我们可以看见对应用户所使用的shell类型。

2、密码

  很多的程序运行跟权限有关,而权限又跟UID/GID有关,早期的密码存放在 /etc/passwd中,所以很容易导致信息泄露,所以大牛们就把密码加密搬家到/etc/shadow中。

用户\组的管理3.png

  如上面一样每一行都用:分隔开,每一个行有九个字段!

    1、账号名称

  密码是要与账号对应的,所以第一个字段就是账号的名字。

    2、密码

  这个字段就是经过加密的密码了

    加密机制:

    加密:明文–> 密文

    解密:密文–> 明文

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

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

    md5: message digest, 128bits

    sha1: secure hash algorithm, 160bits

    sha224: 224bits

    sha256: 256bits

    sha384: 384bits

    sha512: 512bits

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

    3、最近密码改动日期

  这个字段记录了密码改动的日期,在linux中,日期时间是以1970年1月1日作为1而累加的。

    4、密码不可被更改的天数

  它表示这个密码被更改后需要多久才可以继续更改密码。

    5、密码需要重新更改的天数

  它表示密码更改之后,多少天后需要再次更改密码,你必须要在这个天数内更改你的用户密码。

    6、密码需要更改期限前的警告天数。

  它是相对于5的,表示需要再次更改密码期限期快到时,在期限期前多少天提醒用户更改密码。

    7、密码过期后的账号宽限日期

  它也是相对于5的,表示密码依旧没有被更改,还能够使用多少天,过了之后系统会强制要求你必须重新设置密码才能够登录继续使用账号。

    8、账号失效日期

  这个日期也需要从1970年来设置,表示这个账号在规定能的日期才能使用。

    9、保留

  最后保留,方便以后加入新功能。

  3、用户组

  Linux组的类别:

    用户的主要组(主组): 用户必须属于一个且只有一个主组 组名同用户名,且仅包含一个用户:

    私有组 用户的附加组(辅助组): 一个用户可以属于零个或多个辅助组。

用户\组的管理4.png

继续介绍这四个字段!

  1、用户组名称

    就是组的名字

  2、用户组密码

    同样移到了/etc/gshadow

  3、GID

    就是用户组的id

  4、这个用户组支持的账号名称

    一个账号可以加入多个组,账号想加入用户组时,在这个字段里添加就好了。

  4、相关用法概念与命令

  介绍完了这些相信对linux用户、用户组也有了一定的了解,但是我们不可能每次添加用户,用户组都去改配置文件,这样不仅出错率高,而且危险。所以接下来,就介绍相关的命令使用方法。

直接更改配置文件检查命令

    vipw和vigr

    vipw=vi /etc/passwd(他会检查格式是否符合要求)

    vigr=vi /etc/group

    pwck和grpck

    pwck (passwd check)检查用户

    grpck (group check)检查组

  用户管理命令

  useradd、usermod、userdel

  组帐号维护命令

  groupadd、groupmod、groupdel

 1、用户相关命令

创建用户

  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/default/useradd文件中

    显示或更改默认设置: useradd -D useradd –D -s SHELL

    /etc/default/useradd(保存了创建用户时如果不设置属性的默认项)

    /etc/skel/*(家目录的默认文件)

删除用户

    userdel [OPTION]… login

    -r: 删除用户家目录;

用户属性修改

   usermod [OPTION] login

     -u UID: 新UID

     -g GID: 新基本组

     -G GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;

     -s SHELL:新的默认SHELL;

     -c 'COMMENT':新的注释信息;

     -d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项

     -l login_name: 新的名字;

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

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

     -e YYYY-MM-DD: 指明用户账号过期日期;

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

更改密码

  passwd [OPTIONS] UserName: 修改指定用户的密码,仅 root用户权限

  passwd: 修改自己的密码;

  常用选项:

    -l:锁定指定用户

    -u:解锁指定用户

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

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

    -x maxdays:最大使用期限

    -w warndays:提前多少天开始警告

    -i inactivedays:非活动期限;

    –stdin:从标准输入接收用户密码; echo "PASSWORD" |

    passwd –stdin USERNAME

更改密码配置

  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

  批量创建用户。

    创建一个文件,以用户配置文件中格式写新文件。

    然后使用newusers passwd格式文件 批量创建用户

  批量创建密码

    创建一个文件,以密码配置文件中格式写新文件。

    chpasswd 批量修改用户口令

  切换用户命令

  su [options…] [-] [user [args…]]

  切换用户的方式:

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

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

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

  换身份执行命令:

    su [-] UserName -c 'COMMAND'

  选项:-l –login:

    su -l UserName 相当于 su – UserName

 2、组相关命令

  组创建/删除

   创建

    groupadd [OPTION]… group_name

        -g GID: 指明GID号;

        -r: 创建系统组;

   删除

    groupdel groupdel GROUP

   组属性修改:

     groupmod [OPTION]… group

        -n group_name: 新名字

        -g GID: 新的GID;

   组密码

     gpasswd [OPTION] GROUP

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

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

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

     newgrp命令:临时切换基本组; 如果用户本不属于此组,则需要组密码

    更改和查看组成员

     groupmems [options] [action] options:

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

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

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

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

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

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

原创文章,作者:502795641,如若转载,请注明出处:http://www.178linux.com/28741

(0)
502795641502795641
上一篇 2016-08-04 14:39
下一篇 2016-08-04 14:39

相关推荐

  • 网络班26期-第1周课程作业

    1、描述计算机的组成及其功能? (1)CPU:计算机的大脑,计算机的运算,命令的控制功能,寄存器及缓存都由CPU功能承担; (2)内存:RAM,随机访问存储器,计算机的另一个核心功能,系统指令存放及运行的基础。 (3)输入设备:人工给计算机下指令的设备,例如鼠标,键盘等; (4)输出设备:计算机输出人工输入的执行命令的结果;例如,音响,显示屏等; …

    Linux干货 2017-01-10
  • if case语句练习

     1、 写一个脚本/root/bin/createuser.sh,实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息 [root@localhost bin]# cat createuser.sh #!/bin/bash # Date…

    Linux干货 2016-08-15
  • 高级文件系统之逻辑卷和btrfs文件系统

    逻辑卷管理器快照 逻辑卷可以实现对分区的动态的扩展,快照可以看成是特殊的逻辑卷,它是在生成快照是存在的逻辑卷的准确拷贝。 快照只有在它们和原来的逻辑卷不同时才会消耗空间:     在生成快照时会分配给他一定的空间,但只有在原来的逻辑卷或者快照有所改变时才会使用这些空间     当…

    Linux干货 2016-09-02
  • 开机启动流程

    Centos的开机启动流程 具体步骤解释:  第一步:加电自检:POST         加电自检是检测硬件设备是否正常运行,以及一些外围设备的输入输出是否存在。 自检功能的实现是依靠BIOS软件程序实现的 BIOS即基本输入输出系统,它是装载在一个硬件芯片COMS上的,加电过程…

    Linux干货 2016-09-13
  • LVM应用

    1、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项 ·首先在虚拟机当中添加指定大小的硬盘,添加完成后,系统不会自动扫描添加的硬盘设备,键入命令重新扫描SCSI总线来添加设备   echo "- – -&quo…

    Linux干货 2016-08-30
  • 马哥教育网络班21期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 集线器(HUB)是在OSI模型的第一层——物理层——连接多台主机、延长网络的设备。其主要功能是将从一个端口接收到的数据包转发给所有端口。中继器(Repeater)是将由电缆传过来的电信号或光信号调整波形和放大再传给另一个电缆的设备,提供多端口服务的中继器称作集线器。二者的主要区别…

    Linux干货 2016-09-05

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-04 15:22

    用户和组管理相关的命令都已经总结好了,如果能相应的有些示例说明,就更好了哦。