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
下一篇 2018-04-03

相关推荐

  • Linux用户和组

    我们知道Linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。由于是多用户操作系统,必然要涉及到时管理用户。由于用户访问Linux上的资源比较多,为了方便管理出现的组的概念.将多个用户添加到一个组里,方便管理。 介绍安全3A 资源分派: Authentication:认证 Au…

    Linux笔记 2018-04-08
  • 用 percona-xtrabackup 实现备份实例

    安装2.4.11版本的percona wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.11/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm 下载新版的percona 看下后…

    Linux笔记 2018-06-14
  • 挂载

    转载

    Linux笔记 2018-04-29
  • 进程和计划任务

    进程和计划任务 一、 进程 程序:是在磁盘上的一个文件,只要不去运行它就是一个静态文件,不占用内存空间; 进程:process是一个动态的概念,只有当用户将程序运行起来时才会有进程,当进程执行完毕时,就会从内存中删除。 线程:thread   pstree –p 命令显示中{}中的即为线程。 一个进程会对应一个程序,而一个程序可能会对应多个进程。 一个进程里…

    2018-05-05
  • 文本处理三剑客:sed简介

    文本处理三剑客:sed简介 sed是一种流编辑器,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。 处理过程 sed命令将当前处理的行读入模式空间(pattern space)进行处理,sed在该行上执…

    Linux笔记 2018-04-03
  • 使用until和while分别实现

    使用until和while分别实现192.168.0.0/24
    网段内,地址是否能够ping通,弱ping通则输出”success!”,若ping不通则输出”fail!”

    Linux笔记 2018-06-15