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

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code