一.用户与组管理

1、什么是用户
用户是操作系统提供一种安全机制
用户是权限的化身

 

2、为何要有用户?
(1)划分权限,增强安全性
(2)每启动一个进程都会与一个用户关联

(3)进程能否访问到文件,和用户的权限关联.


3、组的概念
主组: 用户本身所在部门(基本组)
附加组:为用户添加的部门(附加组)

用户与组的关系:
一对一:一个用户可以属于一个组,用户默认就在自己的主组下
一对多:一个用户可以属于多个组,用户只有一个主组,但可以为用户添加多个附加组
多对多:多个用户可以属于多个组

总结:
linux系统把文件的权限分为了三类
(1)属主对应的权限
(2)属组对应的权限
(3)其他用户对应的权限
一个用户对文件的权限扫描的优先级:
(1)先看该用户是否是文件的属主
(2)在1失败的情况,看该用户是否是文件的属组
(3)在2失败的情况,该用户就属于其他用户权限

4.用户的分类(centos7)(约定)

0:超级管理员,最高的权限.

1-200:系统用户,用来运行系统自带的进程,系统自建.

201-999:系统用户,用来运行安装的程序,所以此类用户无需登录系统.

1000+:普通用户,正常可以登录系统的用户,权限比较小,能执行的任务有限.

注意: 在CentOS7系统之前, UID1-499用于系统用户, 而UID 500+则用于普通用户

 

二. 用户与组相关文件

/etc/passwd

/etc/shadow

/etc/group

/etc/gshadow

组织架构 用户组 用户组管理_SYS

root:x:0:0:root:/root:/bin/bash
第一字段:用户名
第二字段:口令,我们看到的是一个X,其实密码已被映射到/etc/shadow文件中(删除X,用户登录就不需要密码)

第三字段:uid
第四字段:gid

第五字段:描述信息
第六字段:用户的家目录所在位置
第七字段:用户登录所用shell的类型

 

 

组织架构 用户组 用户组管理_组织架构 用户组_02

 

 

组织架构 用户组 用户组管理_组织架构 用户组_03

 

 

组织架构 用户组 用户组管理_普通用户_04

 

 

组织架构 用户组 用户组管理_组织架构 用户组_05

/etc/skel/ 用户老家的模版

/home/用户名  用户的家目录

/var/spool/mail/用户名  用户邮箱文件

 

用户创建扩展知识

useradd创建用户时,系统会以/etc/login.defs、/etc/defaults/useradd两个配置文件作为参照物

用户创建目录时,会发邮件在/var/spool/mail,可以删除。

1./etc/login.defs

#用户的邮件目录

MAIL_DIR /var/spool/mail

#密码的最大天数

PASS_MAX_DAYS 99999

#密码最小使用天数

PASS_MIN_DAYS 0

#密码最小长度

PASS_MIN_LEN 5

#剩多少天警告

PASS_WARN_AGE 7

#普通用户最小uid

UID_MIN 1000

#普通用户最大uid

UID_MAX 60000

#系统用户最小uid

SYS_UID_MIN 201

#系统用户最大uid

SYS_UID_MAX 999

#普通用户最小gid

GID_MIN 1000

#普通用户最大gid

GID_MAX 60000

SYS_GID_MIN 201

#系统用户最大gid

SYS_GID_MAX 999

#是否创建家目录

CREATE_HOME yes

#创建家目录的权限(700)

UMASK 077

#创建用户的同时 创建组,删除用户的同时,删除组

USERGROUPS_ENAB yes

#密码的 加密算法

ENCRYPT_METHOD SHA512

 

2./etc/default/useradd

#依赖于/etc/login.defs的USERGRUUPS_ENAB参数,如果为no,则在此处控制

GROUP=100

#普通用户家目录

HOME=/home

#是否启用账号过期 -1表示不启用

INACTIVE=-1

#账号的终止日志 不设置表示不启用

EXPIRE=

#默认登录shell

SHELL=/bin/bash

#用户的家目录 环境变量

SKEL=/etc/skel

#创建邮件

CREATE_MAIL_SPOOL=yes

 

 

三. 用户管理命令

 

useradd 添加用户

组织架构 用户组 用户组管理_SYS_06

 

usermod  修改用户信息

组织架构 用户组 用户组管理_组织架构 用户组_07

 

 

组织架构 用户组 用户组管理_SYS_08

 

userdel 删除用户

-r 同时删除用户的家目录


四.组管理


groupadd  创建组

-g 指定gid

-r  创建系统组

组织架构 用户组 用户组管理_字段_09

 


groupmod 修改组信息

-g 修改组gid

-n 修改组名称

组织架构 用户组 用户组管理_SYS_10

 

 

groupdel 删除组
注意:如果一个组是一个用户的主组,那么该组不能被删除.,一个用户必须有一个主组.

 

 

gpasswd (创建组密码:gpasswd 组名)

-a  将某个用户加入到某个组

-M 将多个用户加入到某个组

-A  指定某个用户为某个组的组长,除了root以外该用户也可以执行gpasswd -a,将一个用户添加到组长所在的组里.

-d  把一个用户从一个组里删除 

组织架构 用户组 用户组管理_字段_11

 

 

newgrp 

将一个用户临时加入到一个组中,可以执行这个组所对应的权限,但需要输入组的密码.退出登录,也会退出该组
语法: newgrp 组名

组织架构 用户组 用户组管理_组织架构 用户组_12