用户和组账户的管理

用户和组账户的管理的基础和基本操作

计算机就是让我们使用资源的,但是我们的计算机不能让每个人的权限一样,所以我们需要设置多个不同权限的用户,有不同的身份认证,从而使用不同的操作。从而就有了多任务操作系统。
计算机能够实现资源使用和完成任务的主体是:应用程序进程
进程是以发起者的身份运行的:可以理解为,进程的所有者就是其发起者;每个进程上都会标记上其所有者的身份信息;

当进程试图访问资源的时候,安全上下文回避对进程的所有者和资源的所有者之间的关系:
首先,查看进程的所有者是否和资源的所有者为同一用户,如果是,就按照所有者拥有的权限来使用资源;如果不是,则进行下一步的判断;

如果不是,则判断按进程的所有者是否属于该资源所属组的成员;如果是,按照所属组的权限来使用资源;

如果不是,就按照最为普通的其他用户的权限来使用资源;

用户账户:实现操作者和计算机交互式操作的基础,是操作者的身份在满足了验证条件之后的计算机系统中的映射;我们输入我们想要的操作,计算机会帮我们进行实现操作。

用户账户分类:
超级用户(管理员):root
普通用户:
系统用户(非登录用户):
为了保证安全,往往会让某些进程或服务必须以非管理员的用户身份运行;这类非管理员用户,称为系统用户;此类用户一般不允许登录到系统的;是很危险的用户。
登录用户:
能够通过登录行为验证用户身份进而获得资源访问权限并可以对资源进行操作的用户,可以称为登录用户;

用户账户的标识方式:
用户登录名称:
为操作者提供简单易记的字符串标识;一般我们的用户名
用户数字ID(UID):
为计算机操作系统提供的标准的数字标识符号,0~2^32-1,真正的计算机识别的“用户名”

超级用户:
用户名:root
UID:0

普通用户:
系统用户:
centos 6以前:1~499
centos 7以后:1~999
登录用户
centos 6以前:500+
centos 7以后:1000+
注意:60000+的UID通常需要用户自定义标识,后面会说;

名称解析:
用户名 <--> UID

用户名解析库: /etc/passwd(用tail命令可以看)
操作系统中的认证组件通过解析库实现认证机制,即验证登录用户是否为已经存在的用户;

用户认证库: /etc/shadow(用tail命令可以看)
通过此前的解析库认证用户是存在的,在经过认证库的认证,来证明登录用户就是其声明的用户;

默认的认证机制:密码认证;

密码复杂性要求:
1.尽量避免使用有规律的或者来源于字典中的字符串作为密码;
2.密码要足够长,一般不得少于6个字符;
3.密码要足够复杂,其中应该至少包括大写字母,小写字母,数字及其他符号中的三类;
4.不定期更换,每隔一段时间进行密码更换;

在linux中,保存到认证库的密码是经过单向加密算法处理过的;
能够加密密码的算法:
MD:
MD5,Message Digest Version 5,消息摘要算法第5版;128位定长输出;
SHA:Secure Hash Algorithm,安全的哈希算法;
sha1:160位加密输出
sha224:
sha256:
sha384:
sha512:默认的加密算法;

salt:通过随机算法计算得到的随机数;

随机数的生成装置:
/dev/random:
仅仅是从熵池中返回随机数;如果熵池中随机数耗尽,进程会被阻塞;
/dev/urandom:
首先是从熵池中返回随机数;如果熵池中随机数耗尽,则利用伪随机数生成器生成伪随机数;

在认证库中的密码的最终形态:算法+salt+加密字符串;
算法:$1~$6
salt:$随机字符串
加密字符串:$单向加密的结果

组账户:将具有某些相同或相似属性的用户联系在一起以便可以集中授权的容器;就和小组是一样的
组的分类:
超级用户组
普通用户组
系统用户组
登录用户组

组账户的表示方法:
组账户名称:
组账户ID(GID):
超级用户组:0
系统用户组:
centos 6-:1~499
centos 7+:1~999
登录用户组:
centos 6-:500+
centos 7+:1000+

组名解析:
解析库:/etc/group
认证库:/etc/gshadow

组也需要使用密码加密保护

用户账户和组账户之间的关系:
在linux中,每个用户必须至少属于一个组:
用户账户的GID表示被称为用户的主要组(基本组),Primary
Group:每个用户必须要有主要组,而且只能有一个;

在主要组的基础之上,用户可以与其他的组账户存在逻辑关系,此类组称为用户的附加组(附属组,额外组),Addtion Group;对于用户来收缩,此类组可以没有,也可以有多个;

用户和组管理的管理命令:(这些操作可以从后边课后习题看出来)
组账户的管理命令:
groupadd、groupdel、groupmod
用户账户的管理命令:
useradd、userdel、usermod
认证相关的命令:
passwd、gpasswd
其他的相关命令:
chage,chsh,finger,su,id

与用户和组相关的命令:
1.groupadd - 创建一个新组
格式: groupadd [选项] group
常用选项:
-g GID:指定要创建的组的GID;
-r:将组创建为系统组,此时应该保证GID在系统指定范围内;

2.groupdel - 删除一个组
格式:groupdel [选项] group

注意:如果某个组是某个用户的主要组,则该组不能删除;

3.groupmod
groupmod - modify a group definition on the system
格式:
groupmod [选项] GROUP

常用选项:
-g GID:修改指定组的GID
-n GROUP_NAME:修改指定组的组账户名称;

4.useradd
useradd - 创建一个新用户或更新默认新用户信息
格式:
useradd [选项] username
useradd -D [选项]
常用选项:
-c, --commentCOMMENT:为用户添加注释信息;
-d, --homeHOME_DIR:为用户指定家目录的路径;此目录不能事先存在;
-e, --expiredateEXPIRE_DATE:用户密码的过期的绝对时间;如:2018/01/01
-f, --inactiveINACTIVE:为用户指定密码使用达到最大时间之后的宽限期;
-g, --gidGROUP:为用户指明GID;如果不写此选项,系统会创建一个与组用户名相同的组并且将之设置为词用的主要组;
-G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]:为用户添加附加组;
-m, --create-home: 必须为用户创建家目录
-M, --no-create-home: 不为用户创建家目录;再创建系统用户时常用此选项;
-s, --shellSHELL:为用户指定默认的shell
-r, --system:为系统创建一个新的系统账户
-u, --uidUID:为用户指定UID;

5.userdel
userdel - 删除用户账户和相关文件
格式:userdel [选项] username
常用选项:
-r, --remove:用户主目录中的文件将随用户主目录和用户邮箱一起删除。在其它文件系统中的文件必须手动搜索并删除。

6.usermod
usermod - 修改一个用户账户
格式:usermod [选项] username
常用选项:
-c, --commentCOMMENT:修改用户的注释信息;
-d, --homeHOME_DIR:修改用户的家目录;如果再加上 -m 参数(只与-d配合)。则会将现有home目录的地址重命名为新的home目录地址,如原来没有指定home目录地址,则为账号新建一个指定的home目录地址。
-e, --expiredateEXPIRE_DATE:修改用户密码过期的绝对日期;
-f, --inactiveINACTIVE:修改用户密码过期之后的宽限期;
-g, --gidGROUP:修改用户的主要组(GID);
-G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]:修改用户的附加组为此列表中的组,如果同时使用了-a选项,则保留原有的附加组,即将此列表中的组追加至用户的附加组列表;
-l, --loginNEW_LOGIN:修改用户的登录名;
-s, --shellSHELL::修改用户的登录shell;
-u, --uidUID:修改用户的UID;
-L, --lock:锁定用户;
-U, --unlock:解锁被usermod -L锁定的用户;

7.passwd
passwd - update user s authentication tokens
格式:passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inac‐
tivedays] [-S] [--stdin] [username]

常用选项:
-l, --lock:锁定用户;
-u, --unlock:解锁用户;
--stdin:通过标准输入接受密码,可以用于管道;
-d, --delete:删除用户的密码,也可以用于解除用户锁定;
-e, --expire:直接设置用户密码过期;
-n, --minimum DAYS:用户密码的最短使用时长;默认值为0
-x, --maximum DAYS:用户密码的最长时间时长;默认值为99999
-w, --warning DAYS:用户密码过期之前多少天开始发送警告信息;
-i, --inactive DAYS:用户密码过期之后的宽限期;
8.change
chage - 更改用户密码过期信息
格式:chage [选项] username
常用选项:
-d, --lastdayLAST_DAY
-E, --expiredateEXPIRE_DATE
-I, --inactiveINACTIVE
-l, --list
-m, --mindaysMIN_DAYS
-M, --maxdaysMAX_DAYS
-R, --rootCHROOT_DIR
-W, --warndaysWARN_DAYS

9.chsh
chsh - 改变登录 shell
chsh [ -s shell ] [ -l ] [ -u ] [ -v ] [ username ]

10.finger
finger — 用户信息查找程序
finger [-lmsp] [user ...] [[email protected] ...]
11.id
id - 显示真实和有效的 UID 和 GID
id [OPTION]... [USERNAME]
常用选项:
-u, --user: 只 显示 用户 ID
-n:显示名称
-g:显示GID

12.su
su - 运行替换用户和组标识的shell
su [OPTION]... [-] [USER [ARG]...]

常用选项:
-, -l, --login:以后面的用户身份登录到系统;
-c, --commmand=COMMAND:以前面指定的用户运行COMMAND,

原文地址:http://blog.51cto.com/wangzhihang/2126537

时间: 2024-10-30 02:59:19

用户和组账户的管理的相关文章

linux用户和组及权限管理

1.用户和组管理    资源分派:        Authentication:认证        Authorization:授权        Accouting:审计            Audition token, identity(username/password) Linux用户:Username/UID        管理员:root, 0        普通用户:1-65535            系统用户:1-499, 1-999                对守护进

Linux学习日记--基础命令(5)--用户和组概念与管理--文件权限

用户和组管理: 以下区间区别于centos6,和centos7  Linux用户:Username/UID        管理员:root, 0        普通用户:1-65535            系统用户:1-499, 1-999                 对守护进程获取资源进行权限分配:            登录用户:500+, 1000+                交互式登录: Linux组:Groupname/GID         管理员组:root, 0    

2017.2.28 activiti实战--第五章--用户与组及部署管理(二)部署流程资源

学习资料:<Activiti实战> 第五章 用户与组及部署管理(二)部署流程资源 内容概览:讲解流程资源的读取与部署. 5.2 部署流程资源 5.2.1 流程资源 流程资源常用的有以下几种: 1 流程定义文件:拓展名为bpmn20.xml和bpmn 2 流程定义的图片:拓展名为PNG 3 表单文件:拓展名为form 4 规则文件:拓展名为drl 部署流程资源的时候,要注意一点: 引擎会根据不同的拓展名进行不同的处理.bpmn或bpmn20.xml类型的文件,会在ACT_RU_PROCDEF(流

2017.2.20 《activiti实战第五章--用户与组及部署管理》(一)用户与组

学习资料:<Activiti实战> 第五章 用户与组及部署管理(一)用户与组 内容概览:讲解activiti中内置的一套用户.组的关系,以及如何通过API添加.删除.查询. 5.1 用户与组 5.1.1 用户 1 public class IdentityServiceTest{ 2 @Rule 3 public ActivitiRule ar = new ActivitiRule();//使用默认的acitiviti.cfg.xml作为参数 4 5 @Test 6 public void t

2017-11-13Linux基础知识(11)用户、组和权限管理

在之前的章节中讲述了bash的基础特性以及IO重定向以和管道等其它的功能程序,之后介绍了一些其相关的命令,例如:tr和tee命令等,之后我们介绍了Here document,在这一章中,我们开始讲述用户.组及权限管理中的一部分,我们首先来说用户和组. 一.用户 Linux操作系统是一款多用户Multi-Users及多任务Multi-tasks的操作系统,也就是说,可以多个用户同时登录该系统执行各自的任务,彼此用户与用户之间互不干扰,这也是当时为了解决主机资源所提供的一种有效手段,那时候主机都在中

用户,组和权限管理

用户,组和权限管理 概述:在Linux中由于可以实现多用户和多任务的管理,所以在Linux中用户和组与文件的权限关系显得格外重要.如果出现混乱,那么在用户使用时会给系统造成很多不稳定性的因素.这也是linux系统相对于其它操作系统更安全的原因之一. linux系统中用户分为: 系统用户: centos6上的UID(1-499) centos7上的UID(1-999) 注:系统用户无法登陆到系统之中 登录用户 centos6上的UID(500+) centos7上的UID(1000+)待 (通过交

12.用户和组账户管理

1.用户账户 A.普通用户账户:普通用户在系统上的任务是进行普通操作 B.超级用户账户:管理员在系统上的任务是对普通用户和整个系统进行管理.对系统具有绝对的控制权,能够对系统进行一切操作. 2.组账户 A. 私有组:当创建一个用户时没有指定属于哪个组,Linux就会建立一个与用户同名的私有组,此私有组只含有该用户. B.标准组:当创建一个用户时可以选定一个标准组,如果一个用户同时属于多个组时,登录后所属的组为主组,其他的为附加组. 3.账户系统文件 A./etc/passwd 每行定义一个用户账

linux基础:用户与组,权限管理

linux中用户与权限管理 与Window的单用户系统不同,Linux操作系统在设计之初就遵循着多用户.多任务的理念.而在这种情况下,安全问题非常重要,不同用户,不同的用户组之间的隐私保护,安全管理就非常有必要.对于这个问题,Linux就有了对于不同的用户,不同的组对于文件有不同的权限,以使用确保安全. 用户的概念 用户:由于Linux系统是一个多用户系统,每个用户又有不同的组.为了便于管理用户,所以在我们注册帐号时,系统会自动分配给我们一个ID,标识此用户的唯一性.而ID信息一般都存储与/et

详解用户,组,权限管理

内容介绍: 我们要使用操作系统进行工作,就需要人机交互操作,这时候计算机就需要创建用户,通过用户来实现操作,而且随着用户的增加需要给用户分组,这时候就需要对文件进行权限管理. 需要使用的工具: 用户相关工具:useradd; userdel; usermod;id;su等: 组相关工具:groupadd; groupdel; groupmod等: 权限管理工具:chmod; chown; chgrp:umask等: 一.用户类别: 管理员:root,管理员用户标识UID:0 普通用户:(系统用户