用户和组相关的配置文件总结

前言:

在用户管理,组管理过程中,最基本的四个文件就是/etc下面的passwd,shadow,group,gshadow。他们记录了与用户和组相关的信息。是学习和深入了解用户,组的基本。

除了这些基本的配置文件 还有与初始化相关的配置文件。定义用户添加时初始状态的配置文件/etc/default/useradd。

以及用户家目录的内容文件参考目录/etc/skel。和与用户,组基本属性默认设置的配置文件/etc/login.defs。接下来就对这些配置文件进行详细介绍。

/etc/passwd:

    例:root:x:0:0:root:/root:/bin/bash

    1.帐号名称:用来提供给对数字不太敏感的人类使用来登入系统的。需要对呀UID。例如root的UID对应的就是0(第三位)

    2.密码:早起Unix系统的密码是放在这一栏的。但是因为passwd的特性是所有程序逗都能读取,这样很容易造成密码资料被窃取,因此后来就将这个栏位的密码资料改进到/etc/shadow中了。所以这里会看到一个x。

    3.UID:这个就是标识用户的识别码。通常,centos6中,id为0是系统管理员,即只要uid是0就是管理员,就散用户名是root,对应的uid不是0,那么它也不是系统管理员。1到499是系统用户,500到60000是普通用户,在centos 7中,系统帐号的id是1到999,普通用户的id是1000到60000。

    4.GID:这个与/etc/group有关。用来标识一个用户组。

    5.使用者资料说明栏:用来说明这个帐号的意义,比如:全名,办公室的房间号,办公室电话,家里电话等等

    6.家目录:指明用户的家目录,以上面为例,root的家目录就是/root。所以当root登录后就立刻跑到/roo目录里面,默认普通用户的家目录在/home/yourname

    7.shell:指定我们登录用户后使用的shell类型,特别要注意的/sbin/nologin这个shell,可使用户不能登录。

/etc/shadow:

    例:root:$6$wtbCCce/PxMeE5wm$KE2IfSJr.YLP7Rcai6oa/T7KFhO…:16559:0:99999:7:::

    1.帐号名称:这里的名称与/etc/passwd里的帐号名称对应。

    2.密码:这个栏里才是用户正真的密码,而且是经过加密的密码。并且很难被破解出来,虽然很难但不等于不会,所以此文件的权限是只有root可以读写。

    3.最近修改密码的日期:这个栏位记录了更改密码那一天的日期。16559表示修改密码那天距离1970年1月1日的天数,

    4.密码不可被更改的天数(与第三栏相比):标识这个密码被修改后需要经过几天才可以在此被修改,如果是0的话,表示密码可以被随时修改。如果设置为10天,标识你设置完密码后的10天内都不能修改密码。

    5.密码需要重新变更的天数:(与第三栏相比):这个栏位用来指定在最近一次修改密码后,在多少年数内需要在此的变更密码才行。你必须在这个天数内重新设定你的密码,否则这个帐号的密码将会过期。

    6.密码需要变更期限前的警告天数:(与第五栏相比)当账号的密码有效期限快要到的时候,系统会根据这个栏位的设定,发出警告言论给这个帐号,提醒他再过n天密码就要过期了,如上面的例子,则是密码到期之前的7天之内,系统会警告该用户。

    7.密码过期后的帐号宽限时间(密码失效日):(与第五栏相比)密码有效日期为第三栏更新日期加上第五栏的重新变更日期,过了该期限后使用者依旧没有更改密码,那该密码就算过期了。虽然密码过期但是该帐号还是可以用来进行其他的工作,包括登入系统取得bash。不过如果密码过期了,那当你登入系统时,系统会强制要求你必须重新设定密码才能登入继续使用。该栏目的表示,在密码过期几天后,如果使用者还是没有登入更改密码,那么该帐号的密码就会失效,即该帐号再也无法使用该密码登入了。要区分密码过期和密码失效

    8.帐号失效日期:这个日期跟第三栏一样,都是使用1970年来的总天数设定。这个栏标识,这个帐号在此栏规定的日期之后,将无法再使用。就是所谓的帐号失效,此时无论你的密码是否过期,这个帐号就不能在被使用,这个栏位会被使用通常应该在收费服务的系统中,你可以规定一个日期让这个帐号不能再使用了。

    9.保留:最后一栏是保留的,看以后有没有新功能加入。

/etc/default/useradd

    GROUP=100                 <==预设的群组
    HOME=/home                 <==预设的家目录所在目录
    INACTIVE=-1                 <==密码失效日,在shadow内的第7栏
    EXPIRE=                         <==帐号失效日,在shadow内的第8栏
    SHELL=/bin/bash                 <==预设的shell
    SKEL=/etc/skel                 <==使用者家目录的内容资料参考目录
    CREATE_MAIL_SPOOL=yes    <==是否主动帮使用者建立邮件信箱(mailbox)

    

    GROUP=100:新建帐号的初始群组为GID是100的群组,但centos中并不是这样。centos采用私有群组机制,在帐号创建时,系统默认会创建一个与帐号名一样的群组给使用者作为初始去租。这种群组这顶机制会比较有保密性,因为每个用户都有自己的群组,而家目录的权限设定为,只有自己和进入自己的家目录。所以此机制不会参考GROUP=100这个设定值。

    HOME=/home:用户家目录的基准目录,即用户的家目录通常是与帐号同名的目录,这个目录将会放在次设定值的目录后。

    INACTIVE=-1:密码过期后是否会失效的设定值,我们在shadwo配置文件中提过,第七栏位的设定值将会影响到密码过期后,在多久时间内还可以使用旧密码登入。这个项目就是在指定该天数!如果是0代表密码过期立刻失效,如果是-1则是代表密码永远不会失效。如果是30,则代表过期30天后才会失效。

    EXPIRE=:帐号失效的日期,就是shadow内的第八栏,你可以直接设定帐号在哪个日期后就直接失效,并且和密码的问题无关。

    SEELL=/bin/bash:默认使用的shell名称,系统默认的shell就写在这里,假如你的服务器不需要用户登录系统取得shell,那么就可以将这里设定为/sbin/nologin,这样,新建的使用者默认就无法登入了。

    SKEL=/etc/skel:用户家目录参考的基准目录,用户刚创建后家目录内就有各种配置文件,都是有/etc/skel所复制过去的。假如你想用户刚建立就有某个目录,就把该目录添加到/etc/skel中,这样每次用户被创建,此目录就会被复制到家目录下。

    CREATE_MAIL_SPOOL=yes:建立使用者的邮箱。

/etc/skel/

    就是上面提到的,用户家目录的内容参考目录,并且有以下配置文件。

    .bash_logout:当每次退出系统(退出bash shell)时,执行此文件

    .bash_profile:每个用户都可使用该文件输入专用于自己的shell信息,当用户登录时,该文件仅仅执行一次,默认情况下,他设置一些环境变量,执行用户的.bashrc文件

    .bashrc:该文件包含用户bash shell的信息,当登录时以及每次打开新的shell时,该文件被读取.

/etc/login.defs

    MAIL_DIR /var/spool/mail  <==使用者预设邮件信箱放置目录
 
    PASS_MAX_DAYS 99999     <==/etc/shadow内的第5栏,多久需变更密码日数
    PASS_MIN_DAYS 0         <==/etc/shadow内的第4栏,多久不可重新设定密码日数
    PASS_MIN_LEN 5         <==密码最短的字元长度,已被pam模组取代,失去效用!
    PASS_WARN_AGE 7         <==/etc/shadow内的第6栏,过期前会警告的日数
 
    UID_MIN 1000     <==使用者最小的UID,意即小于1000的UID为系统保留
    UID_MAX 60000     <==使用者能够用的最大UID
    SYS_UID_MIN 201     <==保留给使用者自行设定的系统帐号最小值UID
    SYS_UID_MAX 999     <==保留给使用者自行设定的系统帐号最大值UID
    GID_MIN 1000     <==使用者自订群组的最小GID,小于1000为系统保留
     GID_MAX 60000     <==使用者自订群组的最大GID
    SYS_GID_MIN 201     <==保留给使用者自行设定的系统帐号最小值GID
    SYS_GID_MAX 999     <==保留给使用者自行设定的系统帐号最大值GID
 
    CREATE_HOME yes       <==在不加-M及-m时,是否主动建立使用者家目录?
    UMASK 077       <==使用者家目录建立的umask ,因此权限会是700
    USERGROUPS_ENAB yes       <==使用userdel删除时,是否会删除初始群组
    ENCRYPT_METHOD SHA512     <==密码加密的机制使用的是sha512这一个机制!

原创文章,作者:M21-陕西-李贤,如若转载,请注明出处:http://www.178linux.com/53544

(0)
M21-陕西-李贤M21-陕西-李贤
上一篇 2016-10-24 09:09
下一篇 2016-10-24 09:10

相关推荐

  • systemd和systemctl

    systemd和systemctl(centos7)     Systemd是一种新的linux系统服务管理器。它替换了init系统,能够管理系统启动过程和一些系统服务,一旦启动起来,就将监管整个系统。在centos7系统中,PID 1被systemd所使用了:如下,在centos6中: init─┬─NetworkManager &nb…

    Linux干货 2016-10-09
  • LVM逻辑卷管理器详解

    一、LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。…

    Linux干货 2016-09-05
  • LNMMP架构实现Web动静分离

    前言 前面的文章中说过LAMP架构包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl、PHP或者Python编程语言,而今天要说的LNMMP 和LAMP类似,只是作为Web服务器的不再是Apache而是高性能的Nginx,同时引进Memcached加速缓存效率,用于加快访问速度。 Memcached是一款开源、高性能、分布…

    Linux干货 2015-06-15
  • CentOS 7源码安装httpd服务

    httpd的简介     httpd是一个开源软件,且一般用作web服务器来使用。目前最流行的web服务器软件叫做httpd,httpd还有一个俗称叫apache,Apache是一个软件基金会,httpd也是这个软件基金会的一个项目。在早期的http server就叫做apache,到了http server 2.0以…

    Linux干货 2016-08-24
  • 国际标准OSI七层模型和事实标准TCP/IP四层模型

    我们知道,标准分为三种:国际标准、国家标准和事实标准。那我们学习的两个重要模型:OSI和TCP/IP模型分别属于国际标准和事实标准,接下来我们来总结一下两种模型的分层及功能还有异同: 一:国际标准OSI模型 OSI:(Open System Interconnect) 开放系统互连,总共分为七层,从下到上顺序为:物理层(physical)、数据链路层(dat…

    2017-09-02
  • shell脚本练习

    习题1:打印99乘法表 #!/bin/bash # for ((j=1;j<=9;j++)) do for ((i=1;i<=j;i++)) do echo -e -n “${i}x${j}=$[${i}*${j}]\t” done echo done 习题2:写一个脚本(1)创建目录/tmp/dir-当前日期时间;例如/tmp/dir-2015…

    Linux干货 2017-05-22