码迷,mamicode.com
首页 > 系统相关 > 详细

linux的账号管理

时间:2016-08-01 23:08:48      阅读:354      评论:0      收藏:0      [点我收藏+]

标签:linux用户管理

    用户标识符UID和GID

    我们登陆linux系统时,输入的是我们的账号,但是由于计算机只认识0和1,所以linux不会直接认识账号名称,仅会认识我们的ID.每个登陆的用户至少会获得两个ID,一个是用户ID--UID,一个是用户组ID--GID,文件就是通过UID和GID来判断文件的所有者和用户组。当我们要显示文件的属性的时候,OS会依据/etc/passed和/etc/group的内容,找到UID/GID对应的账号和组名再显示出来.

    当登陆linuxOS时,通过login接口输入账号和密码,系统会调用/etc/passwd和/etc/group中的账号,并且将对应的UID和GID读出来,同时,账号的home文件夹和shell设置也一起读出;然后来核对密码表,linuxOS会进入到/etc/shadow中找出对应的UID,然后核对密码是否相符;如果上述都正确,就可以登录系统,进入shell控管阶段了.

    与UID和GID相关的配置文件有四个,分别是

 /etc/passed:存放用户及其属性信息(名称,UID,主组ID等)

 /etc/shadow:存放用户密码及其相关属性

 /etc/group:存放组及其属性信息

 /etc/gshadow:组密码及其属性信息


/etc/passwd文件结构


    存在几行就表示系统中有几个账号,但是不能随便删除,因为有很多账号是系统运行所必须的,这些是系统账号.

    /etc/passwd中存放的是用户的相关信息,结构如下

    1    2  3  4   5    6     7

  UserName: x :UID:GID:GECOS:directory:shell

    其中x为原密码口令位置,由于/etc/passwd所有程序可读,存在安全隐患,所以将密码存放到/etc/shadow中,这里只能看到一个x


   UID,这个是用户标识符,这个id的取值是有一定范围的,0为系统管理员使用,切仅有这一个,centos6中1~499是系统账号的id范围,500~是普通用户的id;centos7中1~999是系统账号id,并且是一般是不能登录的,1000~是普通用户的账号id,可以登录


   GECOS为用户的描述信息,用户全名或者注释

   directory为用户的家目录

   shell为用户的shell类型


/etc/shadow文件结构


     1:2:3:4:5:6:7:8:9

    1  user name

    2  encrypted password  加密后的密码  这个密码是经过加密后显示的,并且经过加密后显示的密文长度对应的编码系统的长度是一定的,所以改变密码的长度后,会使密码暂时失效

    3  date of last password change 最经更新密码的时间,这个时间是从1970年1月1日开始计算的,单位是 S  

     4  minimum password age 密码不可被改动的天数

     5  maxmum password age 密码需要重新更改的天数

    6  password warning period 密码需要更改期限前的警告天数

     7  password inactive period 密码过期后的账号宽限天数(密码失效日)

    8  account expiration date 上号失效日期

     9  保留

    一般用户的密码,可以用root帐号直接更改,重新设定

    查询加密算法authconfig --test | grep hashing


有效与初始用户组:groups,newgrp


    /etc/group文件结构

    group_name:password:GID:user_list

    增加user_list 只需要在后边增加  ,user 即可

    password一般不需要设置,同样密码也移动到/etc/gshadow中去了,这里也显示x

    user_list 此用户组支持的账号名称

    假如我们同时加入多个用户组,那么我们在操作的时候,是以哪个用户组为准呢?


    有效用户组(effective group)和初始用户组(initial group)

    切换用户或以其他用户身份执行命令:  su 

     su [options...] [-] [[user]args...]

    切换用户的方式

       su uesrname  非登录式切换,不会读取用户的配置文件

      su - username 登录式切换,会读取用户的配置文件,完全切换

    groups:有效与支持用户组的查看

     执行命令,第一个显示的就是有效用户组

    newgrp:有效用户组的切换

    想要切换的用户组必须已经支持的用户组

   /etc/gshadow文件结构

    用户组名:密码列:用户组管理员的账号:该用户组的所属账号

    密码列,开头为!表示没有合法的密码,所以无用户组管理员


账号管理

   新增与删除用户:useradd,相关配置文件,passwd,usermod,userdel

 useradd - 创建一个新用户或更新默认新用户信息

     useradd [选项] 登录

     useradd -D

     useradd -D [选项]

选项

     -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

    -M:强制,不要创建用户主文件夹(系统账号默认值)

     -m:强制,要创建用户主文件夹(一般账号默认)

     -f:后面接shadow的第七字段选项,制定密码是否会失效。0为立刻失效,-1为永远不会失效

   

    在/etc/passwd里面创建一行与账号相关的数据,包括UID/GID/主文件夹等

    在/etc/shadow里将账号的密码相关参数填入,但是尚未有密码

    在/etc/group中加入一个与账号名称一模一样的组名

    在/home下面创建一个与账号名称同名的的目录作为用户主文件夹

notice:由于系统账号主要是用来进行运行系统所需的服务的权限设置,所以系统账号默认都不会主动创建主文件夹的.

练习: 

创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"

   useradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo

    结果技术分享

在我们创建用户的时候,系统为我们规定好了默认的属性和参考文件了,useradd -D 可以查看,技术分享  

   这个数据其实是由/etc/default/useradd文件调用出来的,可以用文本编辑器去修改需要的内容.

   从上面可以看到系统默认的用户初始GID=100,但是centos上面默认的用户组为与账号相同的用户组.

    

passwd   update user‘s authentication tokens更新用户的身份证令牌

    用法passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

   选项

         -l:锁定指定用户

         -u:解锁指定用户

        -S:列出密码相关参数,亦即 shadow 文件内的大部分信息。

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

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

         -x maxdays:最大使用期限

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

         -i inactivedays:非活动期限;

         --stdin:从标准输入接收用户密码;

    echo "PASSWORD" | passwd--stdinUSERNAME



未完待续



linux的账号管理

标签:linux用户管理

原文地址:http://11887241.blog.51cto.com/11877241/1833156

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!