Linux用户与组管理详解

在linux系统上,用户管理是基于用户名和密码的方式进行资源的分配,了解和掌握用户与组的管理是从事运维工作所必须具备的能力,也是将来从事运维行业的重要工作之一。

timg_image&quality=80&size=b9999_10000&sec=1522737516367&di=82992248e0191bcecd36

在linux系统上,用户管理是基于用户名和密码的方式进行资源的分配,了解和掌握用户与组的管理是从事运维工作所必须具备的能力,也是将来从事运维行业的重要工作之一。这里我将介绍Linux系统中用户与组的一些相关概念及管理用户与组的常见命令等:

 

*安全3A

Linux通过三个机制来保证用户的安全:

Authentication:认证

Authorization:授权

Accouting|Audition:审计

 

*用户user

令牌:token

Linux用户:Username

管理员:root,UID=0(拥有对系统的最高操作权限)

普通用户:

系统用户:1-499,1-999(centos7)

登录用户:500+,1000+(centos7)

 

*组 group:

Linux组:Groupname/GID

管理员组:root,GID=0

普通组:

系统组:1-499,1-999(centos7)

普通组:500+,1000+(centos7)

在创建用户不指定组的情况下,默认创建一个与该用户名相同的组作为该用户的主组

 

*组的类别:

用户的主要组:

用户必须属于一个且只有一个主组

组名同用户名,且仅包含一个用户,私有组

用户的附加组:

一个用户可以属于零个或多个附加组

 

*安全上下文

进程所能够访问资源的权限取决于进程的运行者的身份

 

*用户和组的配置文件

/etc/passwd:        存放用户及其属性信息

/etc/shadow:       存放用户密码及其相关信息

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

/etc/gshadow:     存放组密码及其相关信息

/etc/default/useradd:新建账户模板信息

 

/etc/passwd

passwd

name:password:UID:GID:GECEO:directory:shell

1.用户名

2.密码:显示为x

3.UID:用户ID

4.GID:组ID

5.描述信息:GECOS,可添加用户描述信息

6.家目录:用户家目录

7.shell类型:用户shell类型

 

/etc/shadow

shadow

1.用户名

2.密码加密:算法$6;!!表示账户锁定

3.上次修改密码时间:距离1970.1.1的天数

4.密码最小修改时间:距离下次修改密码至少需间隔的天数(0表示随时可变更)

5.密码最大修改时间:距离本次密码修改时间最多可间隔的天数(99999表示永不过期)

6.密码提醒时间:距离密码即将到期提前警告的天数

7.密码到期后宽限时间:密码到期后账户还能使用的天数

8.账户有效期:该账户可使用的日期

9.保留区域:保留将来可能增加的区域

密码期限

/etc/group

group

group_name:password:GID:user_list

1.组名

2.组密码:普通用户加入某个组时需要的密码(不推荐设置密码)

3.GID:组ID

4.组成员:“,”作为分隔符

 

/etc/gshadow

gshadow

group_name:encrypted_password:administrators:members

1.组名

2.组密码

3.组管理员(组长)

4.组成员:“,”作为分隔符

 

/etc/default/useradd

# useradd defaults file            创建用户默认文件

GROUP=100                     创建用户无指定组时默认所属的组users

HOME=/home                          创建用户默认家目录路径

INACTIVE=-1                    创建用户时默认没有宽限时间

EXPIRE=                             创建用户时默认有效期

SHELL=/bin/bash                      创建用户时默认shell类型

SKEL=/etc/skel                          创建用户时家目录模板

CREATE_MAIL_SPOOL=yes             创建用户时默认创建邮箱

 

*文件操作

vipw         等同于vi /etc/passwd

vigr           等同于vi /etc/group

pwck        检查passwd文件格式错误

grpck        检查group文件格式错误

 

*用户与组的管理命令

用户管理命令及常用选项:

useradd            etc/default/useradd存放创建用户时的默认信息

-u     指定uid(生产环境中多台服务器保证程序是同一UID)

-o     不检查UID的唯一性,需配合-u使用(不建议UID一样)

-g     创建用户时指定主组

-c  创建用户时添加描述

-d     创建用户时指定家目录路径,二层目录(生产环境中创建给服务用的账户可能会用到)

-s      创建用户时指定shell类型/etc/shells

-r      创建系统用户(默认不创建家目录)

-m    强行创建家目录,用于系统用户,配合-r使用(生产环境中为服务生成系统用户)-M         强行不创建家目录,用于普通用户

-G     创建用户时加入到多个辅助组里,多个辅助组用“,”分开

-N   创建一个用户名和主组名不同的用户,默认users作为主组

-p    创建用户添加密码(不建议此种方式添加口令,口令会在shadow文件中明文)

 

usermod

-u     修改UID

-g     修改GID(组需存在)

-G     修改辅助组(会将原来的辅助组覆盖),如果要保留原辅助组配合-a使用

-s      新的默认shell

-c     新的注释信息

-d     新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项(-m -d有顺序)

-l      新的用户名

-L     用户加锁

-U    用户解锁(centos6以后禁止此方式解锁)

 

userdel

-r      删除用户的所有文件,家目录及邮箱(工作中不建议用,建议保留数据)

 

*组帐号维护命令及常用选项

groupadd

-g     指明GID号创建组

-r      创建系统组group(centos6:ID<500、centos7:ID<1000)

 

groupmod

-n     新的组名

-g     新的GID

 

groupdel 删除组(前提没有用户以此组为主组)

 

groupmems     查看指定组的成员

-g     更改为指定组(只有root)

-a     指定用户加入组

-d     从组中删除用户

-p     从组中清除所有成员

-l      显示组成员列表(读取的/etc/group文件中对应组的最后一个字段的全部内容)

 

gpasswd           给组添加口令

-a user     将user添加至指定组中

-d user     从指定组中移除用户user

-A user1,user2…  设置有管理权限的用户列表(设置组管理员)

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94787

(1)
wangxczwangxcz
上一篇 2018-04-03 10:48
下一篇 2018-04-03 13:18

相关推荐

  • 第一周博客(4)

    基础命令

    Linux笔记 2018-05-12
  • 第四周,用户权限管理和正则表达式练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ● 实现命令 [root@localhost ~]#cp -r /etc/skel /home/tuser1 [root@localhost ~]#chmod -R og= /home/tuser1 ● 命令分解 cp:复制…

    2018-05-31
  • 正则式

    第四周作业

    Linux笔记 2018-06-10
  • 网络管理基础

    1.PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位 物理层的 PDU是数据位 bit 数据链路层的 PDU是数据帧 frame 网络层的PDU是数据包 packet 传输层的 PDU是数据段 segment 其他更高层次的PDU是消息 message 2.TCP特性工作在传输层 面向连接协议 全双工协…

    Linux笔记 2018-05-02
  • 正则表达式及vim使用方法

    正则表达式(正则表达式匹配的是文本内容中的字符串,通倍符匹配的是文件名)REGEXP:由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能程序支持:grep,sed,awk,vim, less,nginx,varnish等分两类:不同的命令支持不同的正则表达式基本正则表达式:BRE扩展正则表达式:EREgre…

    Linux笔记 2018-04-08