Linux用户管理之管理配置文件讲解

这一章开始为你们介绍Linux的用户管理,不少教材对于用户管理这块,一上来就为你们介绍用户管理的各类命令。而我先从用户管理的配置文件开始讲起,由于咱们要理解用户管理的原理以及各类概念。咱们先来了解下用户管理的配置文件。shell

配置文件信息 文件名称
用户信息文件 /etc/passwd
密码文件 /etc/shadow
用户组文件 /etc/group
用户组密码文件 /etc/gshadow
用户配置文件 /etc/login.defs , /etc/default/useradd
新用户信息文件 /etc/skel
登陆信息 /etc/motd

1、用户信息文件

用户信息文件是 /etc/passwd,首先咱们来看下这个文件的里面的格式:bash

$ vi /etc/passwd

image

这个文件里面保存了全部Linux的用户信息,每一行信息表明一个用户,咱们能够看到我这个系统里面总共有44个用户。每一行信息是什么意思呢?咱们先来看下这个文件的帮助信息:加密

$ man 5 passwd

image

能够看到文件格式是:spa

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

所以能够了解到,每一行信息包含了7个部份内容,每一个部分是用:分隔,每一个部分信息表明以下:3d

字段 含义
name(用户名) 用户登陆系统时使用的用户名
password(密码) 密码位
UID 用户标识号
GID 缺省组标识号
GECOS(注释性描述) 例如存放用户全名等信息
directory(宿主目录) 用户登陆系统后的缺省目录
shell(命令解释器) 用户使用的Shell,默认为bash
  • 用户名:不要太长,建议最长8位便可,不要用特殊字符
  • 密码位:这里为何叫密码位而不是叫密码呢?由于在这里并无真正的存放密码。不过在最先的UNIX里面,这里确实是存放的密码。目前这里用 x 来占位
  • 用户标识号:Linux的内核它是不认识字母的,只认识数字。也就是说内核操做的每个对象,不管是进程、用户、用户组等,它都须要有一个数字标识。用户的数字标识就是UID
Linux用户分为三种:超级用户(root,UID=0);普通用户(UID 500-60000);伪用户(UID 1-499)。所以在这里纠正一个不少同窗的误解,不少同窗认为只有root才是超级用户,其实不是,而是UID=0的用户就叫超级用户。
  • 缺省组标识号:每一个用户至少要属于一个用户组;每一个用户组能够包括多个用户;同一组的用户享有该组共有的权限
  • 注释性描述:对用户信息进行描述说明,能够方便之后用户管理
  • 宿主目录:每一个用户在系统中必须有一个宿主目录。在添加用户的时候,若是不指定宿主目录,自动会在/home目录添加一个和用户同名的目录

2、用户密码文件

用户密码文件是/etc/shadow,这里文件里面保存的用户真正的密码。咱们先来看一下这个文件内容:code

$ vi /etc/shadow

image

这个文件里面保存了全部Linux的用户信息,一样的每一行信息表明一个用户的密码,在上一步咱们查看用户信息文件的时候,发现共有44个用户,那么这里一样会有44个密码。每一行信息是什么意思呢?咱们先来看下这个文件的帮助信息:对象

image

这里最重要的其实就是两个部分,一是登陆的用户名login name,另一个是加密的密码encrypted passwordblog

能够了解到,每一行信息包含了7个部份内容,每一个部分是用:分隔,每一个部分信息表明以下:进程

字段 含义
用户名 用户登陆系统时使用的用户名
最后一次修改时间 用户最后一次修改密码的天数
最小时间间隔 两次修改密码之间的最小天数
最大时间间隔 密码保持有效的最多天数
警告时间 从系统开始警告到密码失效的天数
帐号闲置时间 帐号闲置时间
时间 密码失效的绝对天数

掌握了这两个配置文件以后,其实咱们就能够手动去建立一个用户了,不用经过useradd命令去建立了,下面给你们演示一下。rem

3、手动建立系统用户

  • 一、在 /etc/passwd文件中添加一个用户基础信息:
$ vi /etc/passwd

image

在这里咱们添加一个叫eddy的普通用户,按Esc,而后输入:wq!保存退出。而后咱们须要建立该用户的宿主目录:

$ mkdir /home/eddy

image

建立完成以后,咱们发现该目录的全部者是属于root,所以要把这个目录的全部者改为刚才新建的用户eddy:

$ chown eddy /home/eddy
  • 二、在/etc/shadow文件中添加用户的密码信息:
$ vi /etc/shadow

而后添加一行密码信息,这里咱们设置密码为空,保存退出,这样咱们就手工添加了一个用户。
image

咱们如今用eddy用户就能够去登陆了。

image

4、新用户信息文件

新用户信息文件存在于目录/etc/skel目录:

$ ls -a /etc/skel

这里用到了-a参数来显示隐藏的文件,由于这个目录里面的文件都是隐藏文件。咱们在使用命令建立新用户的时候,系统会自动把这个这个目录里面的文件复制到新用户的宿主目录下面去。

5、用户配置文件:

一、 /etc/login.defs,这里记录了用户的一些默认配置,咱们打开这个文件来看一下:

$ vi /etc/login.defs

image

从这个文件中能够看到,在前面讲用户信息文件/etc/passwd和用户密码文件/etc/shadow的时候的一些配置,在这里都有默认值。也就是说用命令建立用户的时候,从这里读取一些默认配置。

设置项 含义
MAIL_DIR /var/spool/mail 建立用户时,系统会在目录 /var/spool/mail 中建立一个用户邮箱
PASS_MAX_DAYS 99999 密码有效期,99999 是自 1970 年 1 月 1 日起密码有效的天数,至关于 273 年,可理解为密码始终有效。
PASS_MIN_DAYS 0 表示自上次修改密码以来,最少隔多少天后用户才能再次修改密码,默认值是 0。
PASS_MIN_LEN 5 指定密码的最小长度,默认不小于 5 位,可是如今用户登陆时验证已经被 PAM 模块取代,因此这个选项并不生效。
PASS_WARN_AGE 7 指定在密码到期前多少天,系统就开始经过用户密码即将到期,默认为 7 天。
UID_MIN 500 指定最小 UID 为 500,也就是说,添加用户时,默认 UID 从 500 开始。注意,若是手工指定了一个用户的 UID 是 550,那么下一个建立的用户的 UID 就会从 551 开始,哪怕 500~549 之间的 UID 没有使用。
UID_MAX 60000 指定用户最大的 UID 为 60000。
GID_MIN 500 指定最小 GID 为 500,也就是在添加组时,组的 GID 从 500 开始。
GID_MAX 60000 用户 GID 最大为 60000。
CREATE_HOME yes 指定在建立用户时,是否同时建立用户主目录,yes 表示建立,no 则不建立,默认是 yes。
UMASK 077 用户主目录的权限默认设置为 077。
USERGROUPS_ENAB yes 指定删除用户的时候是否同时删除用户组,准备地说,这里指的是删除用户的初始组,此项的默认值为 yes。
ENCRYPT_METHOD SHA512 指定用户密码采用的加密规则,默认采用 SHA512,这是新的密码加密模式,原先的 Linux 只能用 DES 或 MD5 加密。

二、 /etc/default/useradd

$ vi /etc/default/useradd

image

  • GROUP 表示缺省的所属组
  • HOME 表示缺省的宿主目录
  • INACTIVE 帐户缺省是否禁用:-1 表示未禁用
  • EXPIRE 帐户的失效时间,有时候须要临时建立一些帐号,那么就能够指定失效时间
  • SHELL 默认使用哪一个shell
  • SKEL 新用户信息文件模板目录
  • CREATE_MAIL_SPOOL 是否建立邮箱文件

用户管理的配置文件就介绍到这里了,你们须要重点掌握用户信息文件和用户密码文件。

image

相关文章
相关标签/搜索