linux 用户与组管理详解

##用户与组的分类
Linux系统对用户分配如下:
-系统管理员:root
-普通用户:普通用户分为以下两种
          系统用户:系统用户通常是不可登陆的,执行某些服务及进程的帐号
          登录用户:一般用户,
    我们登录linux系统时,输入的是我们的帐号,但是linux系统并不会直接识别你的帐号,而是通过我们建立帐号时系统分配的ID号码,对于用户类型ID分配如下:
     -系统管理员ID:0 (root用户ID)
     -普通用户ID:1~65535,
           系统用户ID:1~499(CentOS 6),1 ~999(CentOS 7)
          登录用户ID:500~+(CentOS 6),1000~+(CentOS 7)
    在建立用户帐号时,系统会为用户帐号分配至少两个ID,一个用户ID(UserID,简称UID),一个用户组ID(GroupID,简称GID),上面是UID,下面了解一下GID:
    -管理员组:0 (root组ID) 
    -普通组:1~65535,
          系统组ID:1~499(CentOS 6),1 ~999(CentOS 7)
          非系统组ID:500~+(CentOS 6),1000~+(CentOS 7)
    对于一个用户而言,只有唯一个UID,但是可以有多个不同的组,分别为主组和附加组,主组组名与用户名相同,且只有一个用户,也可以称为私有组。主组以外的组为附加组。
##相关的配置文件
###用户和组的相关配置文件如下:
/etc/passwd: 用户帐号的相关信息
/etc/group: 组帐号的相关信息
/etc/shadow: 用户密码及相关属性
/etc/gshadow: 组密码及相关属性
###配置文档详解:
####/etc/passwd:文件结构
[root@smartwy ~]# cat /etc/passwd | grep 'wangye' 

     wangye:x:1008:1008:samrtwy:/home/wangye:/bin/bash

passwd文件以":"将信息分为7字段,各字段意义如下:
1字段:用户名称
2字段:用户密码,早期密码就在这个字段,后因安全问题,改放到/etc/shadow
3字段:UID,该帐号是登录用户,UID(CentOS7)分配为1000+
4字段:GID
5字段:对用户的说明信息,(注释)
6字段:用户的家目录
7字段:用户的shell
 
####/etc/group:文件结构
[root@smartwy ~]# cat /etc/group | grep 'wangye'
wangye:x:1008:

group文件以":"将信息分为4字段,各字段意义如下:
1字段:组名称
2字段:用户组密码,因安全问题,改放到/etc/gshadow
3字段:GID
4字段:以此组为附加组的用户名称
 
####/etc/shadow:文件结构
[root@smartwy ~]# cat /etc/shadow | grep 'wangye'


wangye:!!:17251:0:99999:7:::

shadow文件以":"将信息分为4字段,各字段意义如下:
1字段:用户名称
2字段:用户密码,该用户暂未设置密码
3字段:最后一次变更密码的日期,从1970年1月1日开始计算
4字段:密码变更锁定天数,与第3段相比锁定天数过后才可变更密码
5字段:密码使用期限,与第3段相比在此天数内需要重设你的密码
6字段:密码变更前警告期,与第5段相比密码快要到期时,系统会依据这个字段的天数设置发出"警告"
7字段:密码过期宽限时间,在此天数内用户没有登录变更密码,那么该帐号的密码将会"失效"
8字段:帐号失效日期,无论密码是否过期,这个帐号都不能再被使用
9字段:保留字段
 
**建议:密码的复杂性策略**
**1,使用数字,大写字母,小写字母及特殊符号中至少3种**
**2,使用非规律密码且足够长**
**3,定期更换**

####/etc/gshadow:文件结构
[root@smartwy ~]# cat /etc/gshadow | grep 'wangye'
wangye:!::

gshadow文件以":"将信息分为4字段,各字段意义如下:
1字段:组名称
2字段:用户组密码,该用户组暂未设置密码
3字段:用户组管理者,缺省代表没有管理者
4字段:组内用户列表,因为这是用户的私有组所以没有其他用户
##用户和组管理命令
###新增,变更与删除用户:useradd,passwd,chage,usermod,userdel
useradd:新建用户
[root@smartwy ~]# useradd [OPTIONS] username
[OPTIONS]选项参数如下:
-u:指定UID
-g:指定GID(此组需存在)
-G:指定用户附加组,多个附加组需使用逗号分隔开(此组需存在)
-c:指定注释信息
-d:指定用户家目录
-s:指定shell,可在/etc/shells文件里查看shell可用种类
-r:创建系统用户
-D:修改用户默认选项(修改的是/etc/default/useradd中选项)

passwd:添加密码
[root@smartwy ~]# passwd [OPTIONS] username
[OPTIONS]选项参数如下:
-l:锁定指定用户密码
-u:解锁指定用户密码
-d:清除指定用户密码
-e:终止用户密码,强制用户修改密码
-i:非活动期限
-n:指定密码最短试用期
-x:密码最长使用期限
-w:提前多少天警告变更密码
–stdin:echo "12345678" | passwd –stdin username,将12345678设定为username的密码,一般用于批量新建用户初始密码

chage:修改密码参数
[root@smartwy ~]# chage [OPTIONS] username
[OPTIONS]选项参数如下:
-l:列出该用户的密码详细参数
-d:修改shadow第3段(最后一次变更密码的日期)设定为0时,用户首次登录需要变更密码
-m:修改shadow第4段(密码变更锁定天数)
-M:修改shadow第5段(密码使用期限)
-W:修改shadow第6段(密码变更前警告期)
-I:修改shadow第7段(密码过期宽限时间)
-E:修改shadow第8段(帐号失效日期)

usermod:用户属性修改
[root@smartwy ~]# usermod [OPTIONS] username
[OPTIONS]选项参数如下:
-u:指定UID
-g:指定GID(此组需存在)
-G:指定用户附加组,多个附加组需使用逗号分隔开(此组需存在)
-c:指定注释信息
-d:指定用户家目录
-s:指定shell,可在/etc/shells文件里查看shell可用种类
-r:创建系统用户
-l:更改用户名
-L:锁定用户,密码前添加"!"
-U:解锁用户,去掉密码前的"!"

userdel:删除用户
[root@smartwy ~]# userdel [OPTIONS] username
[OPTIONS]选项参数如下:
-r:删除用户家目录

###新增,变更与删除组:groupadd,gpasswd,groupmod,groupdel

groupadd:新建组
[root@smartwy ~]# groupadd [OPTIONS] groupname
[OPTIONS]选项参数如下:
-g:指定GID
-r:创建系统组

gpasswd:组密码
[root@smartwy ~]# gasswd [OPTIONS] groupname
[OPTIONS]选项参数如下:
-a user:将用户user添加进该组
-d user:将用户user移除该组
-A userlist:设置有组管理权限的用户列表

groupmod:组属性修改
[root@smartwy ~]# groupmod [OPTIONS] groupname
[OPTIONS]选项参数如下:
-g:修改GID
-n:修改组名称

groupdel:删除组
[root@smartwy ~]# groupdel groupname

##扩展id与su
###id:查看用户相关ID信息
[root@smartwy ~]# id [OPTIONS]… [USER] 
[OPTIONS]选项参数如下:
-g:查看该组GID
-u:查看该用户ID
###su:切换用户
[root@smartwy ~]# su  [user[args]] 
非登录式切换,不会读取目标用户的配置文件
[root@smartwy ~]# su – [user[args]] 
登录式切换,读取目标用户的配置文件
**注意:root切换其它用户无需密码,非root切换用户时需要密码**

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

(0)
wangywangy
上一篇 2017-04-04
下一篇 2017-04-05

相关推荐

  • Linux基础学习总结(二)

    经过前两周的学习,我们大家对于Linux系统和操作已经有了一定的认识。基于Linux平台进行开发,确实要更方便和高效,我经过自己的学习消化,现在将自己的理解的几点总结下来: Linux哲学思想的几句话,简洁的阐明了linux系统的特点。其中一切都是一个文件这句话特别精辟,在实际学习和操作linux系统之后,更是深刻体会到了这句话的内涵,感受颇深。它具体指明了…

    Linux干货 2018-03-16
  • 马哥教育网络21期+第十二周练习博客下

    6、在LAMP架构中,请分别以php编译成httpd模块形式和php以fpm工作为独立守护进程的方式来支持httpd,列出详细的过程。 # LAMP编译安装 # LAMP编译安装,目前CentOS7操作系统上可以使用yum进行安装,在CentOS6上需要编译安装 CentOS6 http-2.2主要安装的,编译安装LAMP需要h…

    Linux干货 2016-10-17
  • WORD文档格式要求与linux学习规划

    WORD文档格式要求 一、封面               1、活动名称(隶书,小初号字,加粗)               2、主办单位、策划日期(宋体、3号字) 二、目录    &nbs…

    Linux干货 2016-12-12
  • bash脚本编程class3

    bash脚本编程class3—函数定义与数组使用相关     一.函数的使用以及数组的定义   我们通过学习知道,当编辑一个shell脚本的时候,可以在这个shell脚本中调用其他的shell脚本来实现特定的功能。在实际工作环境中,用很多shell实现的功能是我们常常使用到的,如果一次一次的调用这些shell脚本会显得非常麻烦。…

    Linux干货 2016-08-24
  • 磁盘阵列RAID

    磁盘阵列RAID 什么是RAID RAID的全称是Redundant Array of Inexpensive Disks 可以释义为 廉价磁盘冗余阵列,后来的RAID里的字母I被认为是Independent,即独立的磁盘冗余阵列。 RAID的作用 由于服务器中磁盘读写率太大,所以磁盘经常损坏,raid可以让坏了一块磁盘时,服务器不至于岩机。当然这只是其中的…

    Linux干货 2017-06-18
  • 进程的基本动作机制

    进程 我们知道硬件到用户使用分为:硬件,内核(系统),软件。 硬件也就是我们常见到的计算机等等,就相当于我们的身体,内核就相当于是我们的大脑,软件就相当于我们的动作。而进程就相当于我们怎么去实现这些动作。 进程是程序的一个具体实现,同一个程序可以执行多次,每次都可以在内存中开辟独立的空间来装载,从而产生多个进程。不同的进程还可以拥有各自独立的IO接口。 进程…

    Linux干货 2016-06-01

评论列表(1条)

  • renjin
    renjin 2017-04-05 11:38

    对命令的选项及参数有较详细的说明,可以把常用的标注一下,适当的加入一些图片