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

相关推荐

  • 企业面试题

    要求: 将一下数据进行排序(字母部分已小到大排序) 101.37.8.249 wz417-419/wz119-125/wz7-16/wz571/wz544/wz1-6101.37.21.19 wz545/wz453-456/wz441-444116.62.4.21 wz106-118/wz514-516/wz581/wz190-199/wz572101.37…

    Linux干货 2017-06-27
  • rpm包管理

    linux程序包管理 RPM ================================================================== #ldd 查看二进制程序调用的动态链接库 #ldconfig  -p  显示本机已缓存的所有可用库文件     dll: Dynamic…

    Linux干货 2016-08-18
  • 手动编译内核+busybox+dropbear+nginx

    我们需要先在宿主机上添加一个磁盘,然后,把这个磁盘做好分区和文件系统: fdisk /dev/sdb 创建第一个分区: n p 1 +512M 创建第二个分区: n p 2 +10G 保存退出: w 为分区提供文件系统: kpartx /dev/sdb 为分区提供文件系统: mke2fs -t ext4 /dev/sd…

    Linux干货 2015-09-24
  • linux iptables替代工具nftables

    1 使用 FirewallD 构建动态防火墙 1.1 “守护进程” 1.2 静态防火墙(system-config-firewall/lokkit) 1.3 使用 iptables 和 ip6tables 的静态防火墙规则 1.4 什么是区域? 1.4.1 预定义的服务 1.4.2 端口和…

    Linux干货 2015-03-11
  • MAN手册各章节功能

         1.普通命令     2.系统调用 (方便查到调用的函数,需加的头文件)     3.库函数     4.特殊文件 例:/dev下的各种设备文件     5.文件的格式    &n…

    Linux干货 2016-10-18
  • 搜索引擎-网络爬虫

     通用搜索引擎的处理对象是互联网网页,目前网页数量以百亿计,搜索引擎的网络爬虫能够高效地将海量的网页数据传下载到本地,在本地 形成互联网网页的镜像备份。它是搜索引擎系统中很关键也很基础的构件。 1. 网络爬虫本质就是浏览器http请求。      浏览器和网络爬虫是两种不同的网络客户端,都以相同的方式来获取网…

    Linux干货 2015-11-18

评论列表(1条)

  • renjin
    renjin 2017-04-05 11:38

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