三、用户和组

1、概念

(1)、用户概念:

用户是用来运行某一些进程、拥有某一些文件或目录。

在Linux里面,用户分成三大类:root用户、系统用户、普通用户。

用户是用UID来唯一标识身份的,且root用户UID为0,系统用户UID范围为1-999,普通用户UID从1000开始默认依次往后累加。

(2)、什么是系统用户?

一般运行的进程属于系统内核进程,那么运行这些进程的用户都是系统用户,通常不会到系统前台,也就是命令解释器shell里面去登录。

(3)、主要组的概念:

当系统创建一个用户的时候,会单独给这个用户分配一个组。

在/etc/passwd文件中的第四个字段GID定义。

特点1:默认情况下,组名与用户名同名

特点2:默认情况下,GID与UID同号

特点3:默认情况下,该组里面只有该成员本身一人

特点4:每个用户有且仅有一个主要组,是1:1的数量关系。
(4)、从属组(附加组)的概念:

某个用户被人为添加到某个额外的组,获取了这个组的权限,那么这个组就叫做从属组,或者附加组,它是非主要组。

在/etc/group文件中的最后一个字段定义。

特点1:每个用户的从属组可以有多个,是1:n的数量关系。

特点2:反过来,一个组可以有多个用户成员,即可以是多个用户的从属组。

2、管理用户的常用命令:

id 命令——查看当前登录用户的UID、GID和groups等信息

ll 命令——查看用户对某个文件的访问权限,或查看三类用户对某个文件的访问权限

ps -au 命令——查看当前终端下运行的所有进程并显示与之相关联的用户。

useradd命令——创建新用户

usermod命令——修改用户属性

-G修改用户的从属组

-g修改用户的主要组

-c修改用户的注释字段

-u修改用户的UID

groupdel 用户名 命令—— 删除组

3、长文件形式详情:

ls -l 或 ll

第一列:文件的访问权限,共3组

是对谁而言的:文件所属用户、文件所属组、除了所属用户和组以外的其他用户

第一列第1位:

l->link  ->  链接文件

d->directory  ->  文件夹

横杠-  -> 普通文件

第一列后9位:

第一组代表所属用户对文件的访问权限

第二组代表所属组对文件的访问权限

第三组代表其他用户对文件的访问权限

权限包括以下三种:

r  ->  read  -> 可读

w  ->  write  ->  可写

x   ->  execute  ->  可执行

只读:r--

可读可写:rw-

可读可写可执行:rwx

第三列root -> 文件所属用户是root

第四列root -> 文件所属组是root组

4、存放信息的位置:

/etc/passwd -> 存放本地用户的信息

格式 -> 用户名:密码:UID:GID:注释:宿主目录:命令环境

密码:用X代替保存在影子文件中

GID:新建用户后系统默认一个同名组

注释:可空

宿主目录:/root或者/home/dir

命令环境:/bin/bash或者/sbin/nologin

/bin/bash -> 用户可以使用shell登陆系统

/sbin/nologin -> 用户不能登陆系统,但可以运行某个程序,如果哪个用户属于不安全用户,就可以将该用户设置为nologin

锁定账户:Vim /etc/passwd -> luna : /sbin/nologin

解锁账户:Vim /etc/passwd -> luna : /bin/bash

/etc/group -> 存放本地组信息

格式 -> 组名称:组密码:GID:从属组用户

组密码:用X代替,密码存放在/etc/gshadow文件中

从属组用户:即有哪些用户从属于这个组

/etc/shadow -> 存放本地用户的密码

格式 -> 用户名:密码:最后更改密码日期:密码最短使用期限:密码最多使用期限:密码到期警告期:密码到期后还可使用时间:密码到期日:预留空白字段

密码:  *  ->  代表没有密码,是空的

!->  代表该用户被禁用

密码最短使用期限:0  ->  表示无限期使用

5、用户和组的命令:

sudo 命令——以root身份运行命令

root用户 -> 系统超级用户 -> 具有系统全部权限的用户

useradd命令——创建用户,通常新建完一个用户后紧接着给他分配一个密码

usermod命令——修改用户属性

-g  ->  为用户指定主要组 

-G ->  为用户指定从属组

-c  ->  为用户添加一个注释字段

-u  ->  为用户指定一个UID

-L  ->  锁定用户,使用户密码不可用,例如连续输错密码。

-U ->  解锁用户,使用户密码恢复可用

userdel命令——删除用户

userdel 用户名 -> 非彻底删除,宿主目录被保留

userdel -r 用户名 -> 彻底删除,宿主目录被删除

groupadd命令——创建组

-g  ->  给新建的组分配一个GID

groupmod命令——修改现有的组 -modify

-g  ->  指定新的GID(主组)

-G  ->  指定附加组

-n  ->  指定新的groupname

groupdel命令——删除组 (不能删除属于其他用户的主组)

chage -用户名 命令——设置账户到期时间

-d  ->  设置最后一次修改用户密码的时间,以距离1970年1月1日开始算起

-E  ->  设置账户到期日期

-I   ->  设置账户到期后能继续登陆系统的时间

-m ->  设置账户可以修改密码的最少天数

-M ->  设置账户必须更改密码前的最多天数

-W ->  设置密码即将到期的警告天数

Linux基础三:用户和组的更多相关文章

  1. 【原创】Linux基础之用户和组

    1 添加.删除用户 # useradd $user# userdel $user 2 设置用户密码 # passwd $user /etc/passwd 3 查看$user的用户和组信息 # id $ ...

  2. linux基础之用户和组管理及权限

    一.用户和组管理 相关配置文件 /etc/passwd: 用户名 : 密码占位符 : UID : GID : COMMENTS : 家目录 :默认shell /etc/group: 组名 : 组密码占 ...

  3. linux基础_用户和组的三个文件

    1./etc/passwd文件 用户(user)的配置文件,记录用户的各种信息 每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell 2./etc/shadow文件 口令 ...

  4. Linux系统下用户与组的管理

    Linux系统下用户与组的管理 一.用户及组基本概述 Linux 系统上,用户管理是基于用户名和密码的方式进行资源的分配. 1.uid(用户身份标识) (1)root用户 uid为0 (2)普通用户: ...

  5. Linux学习--4.用户和组的管理

    用户和组的管理 前言 本篇文章主要讲Linux系统下用户和组的概念,还有添加用户和组,修改用户和组的基本操作,会涉及不少与之相关的配置文件与命令的介绍,几乎所有 正文 首先,简单提下概念,用户是操作系 ...

  6. 管理Linux服务器的用户和组

    管理Linux服务器的用户和组 Linux操作系统是一个多用户多任务的操作系统,允许多个用户同时登录到系统,使用系统资源. 为了使所有用户的工作顺利进行,保护每个用户的文件和进程,规范每个用户的权限, ...

  7. linux下创建用户及组

    linux下创建用户及组: 1.创建组 groupadd  组名 2.创建用户,并将用户添加到组 useradd  用户名  -g  组名 3.更改用户的密码 password  用户名 4.修改目录 ...

  8. Linux基础-3.用户、群组和权限

    1.用户及passwd文件 1)掌握/etc/passwd文件的功能:存储所有用户的相关信息,每一个用户占用一行记录,该文件也被称为用户信息数据库(Database) 2)/etc/passwd文件中 ...

  9. linux(centOS7)的基本操作(三) 用户、组、权限管理

    用户和组 1.用户.组.家目录的概念 linux系统支持多用户,除了管理员,其他用户一般不应该使用root,而是应该向管理员申请一个账号.组类似于角色,系统可以通过组对有共性的用户进行统一管理.每个用 ...

随机推荐

  1. 2017第二届广东省强网杯线上赛:WEB phone number (SQL注入)

    目录 解题思路 总结 解题思路 拿到题目的时候,只有一个登录界面 拿到登录界面,而且还伴随着有注册界面,联想到SQL的二次注入漏洞 尝试注册admin'#,并使用admin登录,发现登录失败,说明可能 ...

  2. 题解 Beautiful Pair

    题目传送门 题目大意 给出一个 \(n\) 个点的序列 \(a_{1,2,...,n}\) ,问有多少对点对 \((i,j)\) 满足 \(a_i\times a_j\le a_k(i\le k\le ...

  3. Kubernetes-Service介绍(二)-服务发现

    前言 本篇是Kubernetes第九篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战. Kubernetes系列文章: Kubernetes介绍 Kubernetes环境搭建 Kuberne ...

  4. .NET下使用ufun函数取CAM操作的进给速度

    UF_PARAM_ask_subobj_ptr_value,这个函数在封装的时候,给了很大一个坑啊. NXOpen.UF.UFParam.AskSubobjPtrValue(ByVal param_t ...

  5. scala基础篇---- Try finally不加catch的使用情形

    普通的try-catch-finally Try{ } catch{//不加catch向上抛出异常 case  _=> } finally{//一般是资源关闭 } 普通的try-finally ...

  6. 爬虫逆向基础,理解 JavaScript 模块化编程 webpack

    关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进阶.JS/安卓逆向等技术干货! 简介 在分析一些站点的 JavaScript 代码时,比较简单的代码,函数通常都是一个一个的,例 ...

  7. 从源码层面深度剖析Redisson实现分布式锁的原理(全程干货,注意收藏)

    Redis实现分布式锁的原理 前面讲了Redis在实际业务场景中的应用,那么下面再来了解一下Redisson功能性场景的应用,也就是大家经常使用的分布式锁的实现场景. 引入redisson依赖 < ...

  8. 初学Python-day13 文件处理1

    IO操作 一.os模块 作用:包含了操作系统的基本功能,提供了非常丰富的用来处理文件和目录的函数或方法. 1.属性 函数名 函数说明 name 获取操作系统的类型 uname 获取操作系统的信息(li ...

  9. for...of 和 for...in 是否可以直接遍历对象,有什么解决方案

    答案: for...of不能直接遍历对象,for  in可以直接遍历对象 原因: for...of需要实现iterator接口,对象没有实现iterator接口 解决: const obj = {a: ...

  10. javascript-jquery选择器

    jquery选择器用来获得jquery对象 我们用一个实例来演示jquery与原生的区别 <div id="title">123</div>原生获得元素的方 ...