用户\组的管理

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
下一篇 2016-08-04

相关推荐

  • Nginx负载均衡

    基于Nginx的负载均衡以及高可用简单应用 一、负载均衡配置 1、Nginx负载均衡配置 前面配置好的Nginx,可以访问之后,克隆4台,统一配置为512M,因为我的电脑内存是4G的。一台用来访问,一台用来做调度器(Director),两台web服务器(real server),Nginx前面已经介绍过了,故在此简单介绍一下那台Director的配置。 2、…

    Linux干货 2016-12-29
  • 搜索引擎-倒排索引基础知识

    1.单词——文档矩阵        单词-文档矩阵是表达两者之间所具有的一种包含关系的概念模型,图3-1展示了其含义。图3-1的每列代表一个文档,每行代表一个单词,打对勾的位置代表包含关系。          …

    Linux干货 2015-12-10
  • 内键命令和外部命令

    命令的基本格式 COMMAND  [OPTIONS…]  [ARGUMENTS…]        命令 (COMMAND)       OPTIONS(选项):用于启用或关闭命令的某个或某些功能      …

    2017-05-23
  • lamp+nfs搭建wordpress

    一、前言 lamp是大多上公司常用的架构,本文将针对分离式的lamp+nfs来搭建一个简单的wordpress网站。 二、架构图 三、基本实现过程 3.1:dns搭建 由于这这是一个实验,故使用yum搭建dns服务器 yum install -y bind 配置如下 dns主配置文件 dns辅助配置文件 zone文件 对所有服务…

    Linux干货 2015-10-16
  • Linux基本文本管理命令

    一.Linux上的文件管理命令都有哪些,其使用的方法及其相关演示1.cp命令:copy (文件复制功能)源文件,目标文件单源复制:cp [OPTION]…[-T] SOURCE DEST多源复制:cp [OPTION]…SOURCE…DIRECTORYcp [OPTION]… -T DIRECTORY SOURCE… 单源复制:cp [OPTION]…[-T…

    2017-09-20
  • bash变量类型及区别之浅谈

    变量类型,区别 位置变量$0 $1,$2,$# $@ $* 变量的类型:本地变量、环境变量、位置变量 本地变量:生效范围为当前shell进程,对当前shell之外的其他shell进程包括当前shell的子进程均无效 环境变量:生效范围为当前shell进程及子进程 位置变量:$1,…..$n,${10}来表示,用于放脚本在脚本代码中调用通过命令行传…

    Linux干货 2016-08-12

评论列表(1条)

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

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