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

相关推荐

  • 2016/08/11:初涉shell脚本编程

    感悟 :    经过对文本处理工具grep,sed等内容的,以及vim文本编辑器的学习,马不停蹄的又进行了对shell脚本的学习。对shell脚本的认识是可以保存在本地,用的时候只要执行相关脚本,简短的命令就可以完成操作,可以用来应对日常重复性工作,有效提高系统管理员的效率,避免在重复性工作上花费不必要的时间。 *************…

    Linux干货 2016-08-16
  • Unix发展与现状

    Unix 简史 1965年时,贝尔实验室(Bell Labs)加入一项由奇异电子(General Electric)和麻省理工学院(MIT)合作的计划;该计划要建立一套多使用者、多任务、多层次(multi-user、multi- processor、multi-level)的MULTICS操作系统。直到1969年,因MULTICS计划的工作进度太慢,该计划就…

    Linux干货 2015-09-22
  • 马哥教育网络班22期第一周课程练习3-未闻花名

    man命令后面可以加一个数字参数,表示具体的范围定位: 数字"1"表示用户命令 数字"2"表示系统调用 数字"3"表示C语言库函数 数字"4"表示设备或特殊文件 数字"5"表示文件格式和规则 数字"6"表示游戏及其他 数字"7&q…

    Linux干货 2016-08-15
  • lvs–各类型的原理及实现—(原理篇)

    前言:    LVS即是linux虚拟服务器,是一个虚拟的服务器集群系统,目的是使用集群技术和linux操作系统实现一个高性能、高可用的服务器。采用IP负载均衡技术和基于内容请求分发技术,将请求负载均衡地转移到不同的服务器上执行,从而将一组服务器构成一个高性能、高可用的虚拟服务器。此篇的内容只包含两种较为常用的LVS技术,分别是LVS-N…

    Linux干货 2016-10-27
  • 深入了解磁盘结构

    一、     linux中常见的磁盘:   无论什么操作系统,归根还是要落实与磁盘上的,对于磁盘的管理也是linux管理必备的一项技能。在linux中“一切皆文件”的思想贯彻整个linux的学习中,包括像是磁盘等的硬件也是在linux的/dev/目录下类似于文件形式的存放,常见的SATA口USB优盘或是SCS…

    Linux干货 2016-08-29
  • 马哥教育网络班22期+第1周课程练习

    问题1: 计算机组成如下:CPU、存储器、输入设备、输出设备1、中央处理器(Central Processing Unit,简称 CPU)。它主要由控制器、运算器等组成,并采用大规模集成电路工艺制成的芯片,又称微处理器芯片。   CPU又由运算器和控制器组成。1)运算器 运算器又称算术逻辑单元(Arithmetic Logic Unit简…

    Linux干货 2016-08-15

评论列表(1条)

  • renjin
    renjin 2017-04-05 11:38

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