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)
上一篇 2017-04-04 23:54
下一篇 2017-04-05 08:22

相关推荐

  • Linux之进程和计划任务

    进程的概念     内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等     Process: 运行中的程序的一个副本,是被载入内存的一个指令集合进程ID(Process ID,PID)号码被用来标记各个进程    &nbs…

    Linux干货 2016-10-09
  • Flex Ant自动构建

    1.  Flex SDK Ant        Flex开发者会遇到很多,比如自动构建,在一个有着N多模块,N处源码,构建过程复杂的Flex项目开发中,依赖人力手工构建项目非常不现实(机械重复且枯燥无味的过程,相信哪位开发人员都会避之唯恐不及,而且对于人力是非常大的浪费),而通过使用Ant,我们可以将这些工作…

    Linux干货 2016-03-22
  • 初识Linux

        Linux系统现在如日中天,特别是在如今的互联网+大潮下,大数据、云计算、移动设备嵌入式设备等,无不显现着linux的身影。 现在,问题来了,Linux究竟是个什么鬼?我们平时经常接触的RedHat,CentOS等又是什么东东?别急,让我们一起来慢慢了解一下。     Linux是个类Unix操作系统,设计风格…

    Linux干货 2016-05-23
  • linux之/home目录转移分区。

    linux之/home目录转移分区。     I,基本思路,将/home目录的数据转移到新的分区,再将/home目录挂载到新的分区。     II,添加硬盘,进行分区,添加新硬盘不重启机器识别命令echo “- – -”  /sys/class/scsi_host/host#/scan,然后进行 …

    Linux干货 2017-06-19
  • keepalived+nginx部署(单主模型)

    环境准备Centos7系统,后端服务器提供web服务。地址规划: VS1: 172.18.51.7 VS2:172.17.51.77 RS1:172.18.51.74 RS2:172.18.51.75 VirtualIP:172.18.51.82 拓扑图: 原理:nginx是高度模块化的应用程序,其中nginx_proxy模块即可实现负载均衡,将前端的用户请…

    2017-05-17
  • Linux程序包管理方式

    Linux程序包安装和管理方式共计三种:          一、[yum|dnf],通过官网或者其他开源网站提供的文件服务器,本机镜像源等途径进行安装。         二、rpm,通过官网或者其他开源网站通过…

    Linux干货 2016-07-29

评论列表(1条)

  • renjin
    renjin 2017-04-05 11:38

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