当前位置: 首页 > news >正文

账号和权限管理

目录

一、用户账号和的概述

(一)用户类别

(二)组账号

​编辑(三)UID号

​编辑(四)GID号

(五)配置文件

二、用户账号管理

(一)创建用户

1.不加选项

2.-u

3.-d

4.-e

5.-g

6.-G

7.-M

8.-s

(二)修改用户账号属性

1.-l

2.-L

3.-U

4.-u

(三)密码管理

(四)删除用户

(五)用户账号的初始配置文件

三、组账号管理

(一)创建组

(二)添加、设置、删除组成员

(三)删除组

(四)查看命令

1.命令之----w

2.命令之-----who

3.命令之-----user

4.命令之-----finger

四、文件/目录的权限

(一)权限的分类

1.对文件的权限

2.对目录的权限

3.访问用户的分类

(二)修改权限

1.模式法

2.八进制数字法

3.修改属主、组

4.特殊权限

5.umask

6.acl访问控制列表


一、用户账号和的概述

用户一般来说是指使用计算机的人,计算机对使用其每一个用户给了一个特定的名称,用户就可以使用这些名称来登录使用计算机,除了人之外,一些系统服务也需要含有部分特权的用户账户运行;因此,出于安全考虑,用户管理应运而生,它加以明确限制各个用户账户的权限,root在计算机中拥有至高权限,所以一般只做管理用,非特权用户可以通过SU或SUDO程序来临时获得特权

Linux中通过用户和用户组实现访问-----包括对文件访问、设备使用的控制

个人可以拥有很多账户,只是名称不同,比如root已经占用就不能再次使用,此外,任意用户可能从属某个用户组,此用户可以加入某些已经存在的组来获取改组的特权

Linux系统中,每一个文件都有属一个用户(属主)和一个用户组(属组)。另外还有三种类型的访问权限:读(read)、写(write)、运行(execute)。我们可以针对文件的属主、属组而设置相应的访问权限。

我们可以使用ls或者stat命令查看该文件的权限

(一)用户类别

在Linux中,用户的类别一般分为一下三种

(二)组账号

用户的主要组(primary group):用户必须属于一个且只有一个主组,默认创建用户时会自动创建

用户名同名的组,做为用户的主要组,由于此组中只有一个用户,又称为私有组

附加组:除了第一个组外的其他组为附加组或公共组,附加组在 /etc/group 文件中指定

一对一:一个用户可以存在一个组中

一对多:一个用户可以存在多个组中

多对一:多个用户可以存在一个组中

多对多:多个用户可以存在多个组中

(三)UID号

UID(User IDentity ):用户标识号,Linux中每个用户都有一个以数字为表达方式的身份标记,类似于每个人的身份证号

(四)GID号

GID(Group IDentify):组标识号。与UID号相似,每一个组也有自己的标识

(五)配置文件

名称帐号信息说明
用户配置文件/etc/passwd

记录了每个用户的基本属性,并且对所有用户

可读每一行记录对应一个用户,每行记录使用

冒号进行分割

用户组文件/etc/group用户组的所有信息存放地,并且组名不能重复
用户对应的密码信息/etc/shadow

因为passwd是对所有用户可读的,为了安全起见把密码从passwd里分离出来放入单独的文件,该文件只有root用户

有读权限,从而保证密码的安全性

1.用户配置文件

打开/etc/passwd

各字段代表的含义

打开/etc/group

打开/etc/shadow

kysw:$6$2YaZfC2f$RJctv3I765WZvyMXDUDEy.1cYBadOqLuIAp7ZALl3m.0TLjKhgSYwaYvhd8jHkYgPfRwT1GW.SsLG0aquobfb0:19717:0:99999:7:::

知识扩展:第三段字符从1970-01-01日开始算起,这个日子是UNIX诞生的日子,实际上在1969年Unix就已经诞生,正式公布为1970年1月1日,当时有个“千年虫”事件。Unix的作者也没有想到它会存在这么长的时间,所以当时出现了一个BUG,当时间到2000年时系统无法识别,就会从1900年重新开始计算

二、用户账号管理

(一)创建用户

命令-------useradd 

语法:useradd 【选项】...  用户名

作用:添加新用户,并对新用户进行个性化设置

选项:

-u指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
-d指定用户的宿主目录位置(当与-M 一起使用时,不生效)。
-e指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g指定用户的基本组名(或使用 GID 号)。
-G指定用户的附加组名(或使用 GID 号)。
-M不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。
-s指定用户的登录 Shell /sbin/nologin

1.不加选项

无特殊情况,按顺序依次生成UID号与组ID号

useradd  lida

2.-u

指定UID号

3.-d

指定用户的宿主目录位置(当与-M 一起使用时,不生效)

两台不同的机器创建的用户,为了给大家演示方便,不用太纠结

4.-e

指定用户失效时间

5.-g

指定用户的基本组名(或使用 GID 号)

6.-G

指定用户的附加组名(或使用 GID 号)

7.-M

不建立宿主目录不建立宿主目录

8.-s

指定用户的登录 Shell 

(二)修改用户账号属性

命令之----------usermod

语法:usermod  【选项】...  用户名

作用:对已经创建的用户属性进行修改

选项:

-l:更改用户账号的登录名称(Login Name)

-L:锁定用户账户

-u: 修改用户的 UID 号

-U:解锁锁用户账户

-d:修改用户的宿主目录位置。

-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

-g:修改用户的基本组名(或使用 GID 号)

-G:修改用户的附加组名(或使用 GID 号)

-s:指定用户的登录 Shell

1.-l

更改用户账号的登录名称

2.-L

锁定用户账户,锁定后账户就无法登录了

3.-U

解锁锁用户账户

4.-u

修改用户的 UID 号

(三)密码管理

命令之------passwd

语法:passwd [选项]... 用户名   不加用户名默认为当前用户修改密码

作用:为用户账号设置密码

选项:

不加选项:passwd  用户名

-d:清空指定用户的密码,仅使用用户名即可登录系统。

-l:锁定用户账户。

-S:查看用户账户的状态(是否被锁定)。

-u:解锁用户账户。

其它选项与useradd基本一致,在此不再过多演示

(四)删除用户

命令之--------userdel

userdel  【选项】 用户

不加条件的话,用户删除后,该用户的家目录还会存在

-r 将用户家目录一起删除

(五)用户账号的初始配置文件

用户宿主目录下的初始配置文件只对当前用户有效

~/ .bash_profile

#此文件中的命令将在该用户每次登录时被执行,他会设置一些环境变量,并且会调用该用户的~/.bashrc文件

~/.bashrc

#此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行(登录 切换 新的bash环境)

~/.bash_logout

#此文件中的命令将在该用户每次退出时bash shell时使用

/etc/bashrc

三、组账号管理

(一)创建组

命令之------groupadd

语法:groupadd  【选项】 组名

作用:创建新的用户组,并设置个性化属性

groupadd  【-g GID号】  组账号名

[root@localhost ~]#groupadd ky1[root@localhost ~]#tail -1 /etc/group
ky1:x:2004:[root@localhost ~]#groupadd -g 2500 ky2
[root@localhost ~]#tail -2 /etc/group
ky1:x:2004:
ky2:x:2500:#不加 -g  会根据前一个创建用户GID号依次生成
#加上 -g  后可以自定义GID号

(二)添加、设置、删除组成员

命令之------gpasswd

语法:gpasswd  【选项】  用户名  组名

作用:对组成员进行操作

选项:

-a:向组内添加一个用户

-d:从组内删除一个用户成员

-M:定义组成员列表,以逗号分隔

 

(三)删除组

groupdel 组帐号名

(四)查看命令

1.命令之----w

查询已登录到主机的用户信息

标题含义
USER登录到系统的用户。
TTY登录终端。
FROM表示用户从哪里登陆进来,一般显示远程登陆主机的 IP 地址或者主机名。
LOGIN@用户登陆的日期和时间。
IDLE表示某个程序上次从终端开始执行到现在所持续的时间。
JCPU和该终端连接的所有进程占用的 CPU 运算时间。这个时间里并不包括过去的后台作业时间,但是包括当前正在运行的后台作业所占用的时间。
PCPU当前进程所占用的 CPU 运算时间。
WHAT当前用户正在执行的进程名称和选项,换句话说,就是表示用户当前执行的是什么命令。

2.命令之-----who

相比较 w 命令,who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令。 who 命令的基本格式如下:

3.命令之-----user

显示当前登录到系统的用户列表

4.命令之-----finger

此命令需要手动安装 ,它可以查看到用户的详细信息

四、文件/目录的权限

在Unix/Linux系统中,文件和目录都有各自的权限设置,这些权限决定了哪些用户或用户组可以

文件或目录进行操作

(一)权限的分类

1.对文件的权限

①读取(r):可使用文件查看类工具,比如:cat,可以获取其内容

②写入(w):可修改其内容

③执行(x):可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行)

2.对目录的权限

:可以使用ls查看此目录中文件列表

w :可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关

x :可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限

3.访问用户的分类

文件和目录的权限通常通过一组九个字符来表示,格式如下:

这九个字符分为三组,每组三个,分别代表所有者(user)、所属组(group)和其他用户(others)的权限。

(二)修改权限

命令之----chmod

语法 :chmod   【选项】  文件名

作用:修改文件/目录对特定用户的权限

选项:

1.模式法

+  是加上,在原有的基础上加上权限

-  是在原有的基础上减去权限

=  赋予 就是原有权限不看 等于号后面的权限

2.八进制数字法

权限使用三位八进制数来表示所有者、所属组和其他用户的权限。每一位数字的范围是0-7,分别对应以下权限组合:

0:无权限

1:执行权限

2:写入权限

3:写入和执行权限

4:读取权限          

5:读取和执行权限

6:读取和写入权限

7:读取、写入和执行权限

在Linux显示为   r=4、w=2、x=1

例如:        

使用chmod修改权限后

3.修改属主、组

命令之-----chown

语法:chown  用户:组名  文件名

作用:修改文件/目录的所属住和所属组

只修改所属主 :输入 chown  属主名  文件名

只修改所属组:输入 chown  .属组名  文件名

同时修改:输入 chown  属主名:属组名  文件名

4.特殊权限

除了基本的读、写、执行权限外,还有一些特殊的权限位:

s(setuid/setgid)

当设置在可执行文件上时,允许以文件所有者的身份(setuid)或文件所属组的身份(setgid)运行该文件。

此处s表示当使用这个命令程序时,把当前用户当成文件的所属主

修改密码就是修改/etc/shadow文件内容

正常来说,作为普通用户,我们是没有权限去修改的,但是passwd命令加上了suid这个特殊权限,就可以将使用该命令的用户作为修改文件的所属主,无视权限

添加命令为: chown  s(g)+s  文件名

t(粘滞位/sticky bit)

当设置在目录上时,仅允许文件所有者删除该目录下的文件,即使其他用户具有写入权限。

输入chmod  o+t  文件名

其它用户虽然有权限,但是无法删除

只有该文件的属主可以删除

5.umask

umask 的值可以用来保留在创建文件权限

新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变  因为为了安全考虑,默认是将x(执行)权限去掉  (x=1)

新建目录的默认权限: 777-umask

非特权用户umask默认是 002

root的umask 默认是 022

6.acl访问控制列表

可以实现单个用户的权限设置,

除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } 文件名....

-m,       --modify-acl 更改文件的访问控制列表

-M,       --modify-file=file 从文件读取访问控制列表条目更改

-x,       --remove=acl 根据文件中访问控制列表移除条目

-X,       --remove-file=file 从文件读取访问控制列表条目并删除

-b,       --remove-all 删除所有扩展访问控制列表条目

-k,       --remove-default 移除默认访问控制列表
          --set=acl 设定替换当前的文件访问控制列表
          --set-file=file 从文件中读取访问控制列表条目设定
          --mask 重新计算有效权限掩码

-n,       --no-mask 不重新计算有效权限掩码

-d,       --default 应用到默认访问控制列表的操作

-R,       --recursive 递归操作子目录

-L,       --logical 依照系统逻辑,跟随符号链接

-P,       --physical 依照自然逻辑,不跟随符号链接
          --restore=file 恢复访问控制列表,和“getfacl -R”作用相反
          --test 测试模式,并不真正修改访问控制列表属性

-v,       --version           显示版本并退出

-h,       --help              显示本帮助信息

举个例子

总结:通过用户和组的管理,可以对不同的用户进行不同的权限设置

相关文章:

账号和权限管理

目录 一、用户账号和的概述 (一)用户类别 (二)组账号 ​编辑(三)UID号 ​编辑(四)GID号 (五)配置文件 二、用户账号管理 (一)…...

前端---表单标签

1. 表单的介绍 表单用于搜集不同类型的用户输入(用户输入的数据)&#xff0c;然后可以把用户数据提交到web服务器 。 2. 表单相关标签的使用 <form>标签 表示表单标签&#xff0c;定义整体的表单区域 <label>标签 表示表单元素的文字标注标签&#xff0c;定义文字…...

Matplotlib 绘制基本的图表

# 导入包 import pandas as pd import numpy as np import matplotlib.pyplot as plt plt.rcParams[font.sans-serif][SimHei] # 用来显示中文 plt.rcParams[axes.unicode_minus] False # 显示负坐标轴# 读取源数据&#xff0c;后续大部分数据基于词文件的数据&#xff0c;需…...

【JavaScript】异步解决方案的发展历程

✨ 专栏介绍 在现代Web开发中&#xff0c;JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性&#xff0c;还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言&#xff0c;JavaScript具有广泛的应用场景&#x…...

前端性能优化三十四:花裤衩模板引入打包分析工具

测量各个插件和loader所花费的时间 (1). install: yarn add speed-measure-webpack-plugin -D(2). Vue-cli 3.x设置: const SpeedMeasurePlugin require(speed-measure-webpack-plugin) const smp new SpeedMeasurePlugin({outputFormat: human }) // 包裹configureWebpac…...

求职小程序列表基础配置-移动端通用列表模块配置教程(1)

求职小程序列表基础配置-移动端通用列表模块配置教程(1) 移动端通用列表页开发指南 准备工作 注册多八多AIIDE账号: 访问多八多AIIDE官网并注册新账号。完成邮箱和手机号的验证。 创建移动应用: 登录后&#xff0c;在工作台新建一个移动应用。填写应用名称&#xff0c;选择“…...

牛客设计模式

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a;…...

从零构建tomcat环境

一、官网构建 1.1 下载 一般来说对于开源软件都有自己的官方网站&#xff0c;并且会附上使用文档以及一些特性和二次构建的方法&#xff0c;那么我们首先的话需要从官网或者tomcat上下载到我们需要的源码包。下载地址&#xff1a;官网、Github。 这里需要声明一下&#xff…...

MySQL递归公用表表达式

&#x1f607;作者介绍&#xff1a;一个有梦想、有理想、有目标的&#xff0c;且渴望能够学有所成的追梦人。 &#x1f386;学习格言&#xff1a;不读书的人,思想就会停止。——狄德罗 ⛪️个人主页&#xff1a;进入博主主页 &#x1f5fc;专栏系列&#xff1a;MySQL知识 &…...

深入 K8s 网络原理(一)- Flannel VXLAN 模式分析

1. 概述 这周集中聊下 K8s 的集群网络原理&#xff0c;我初步考虑分成3个方向&#xff1a; Pod-to-Pod 通信&#xff08;同节点 or 跨节点&#xff09;&#xff0c;以 Flannel VXLAN 模式为例&#xff1b; Pod/External-to-Service 通信&#xff0c;以 iptables 实现为例&…...

fpga 8段4位数码管verilator模拟

8段4位数码管verilator模拟 seg.v module seg(input wire clk,input wire rst_n,output wire[7:0] SEG,output wire[3:0] SEL );reg[7:0] digit[0:15] {8h3f, 8h06, 8h5b, 8h4f, 8h66, 8h6d, 8h7d,8h07,8h7f,8h6f, 8h77, 8h7c, 8h39, 8h5e, 8h79, 8h71};reg[31:0] cnt 32…...

HttpURLConnection发送各种内容格式

通过java.net.HttpURLConnection类实现http post发送Content-Type为multipart/form-data的请求。 json处理使用com.fasterxml.jackson 图片压缩使用net.coobird.thumbnailator log使用org.slf4j 一些静态变量 private static final Charset charset StandardCharsets.UTF_8;…...

摇杆控制人物移动

摇杆控制人物移动 一、UI搭建二、3d模型搭建三、脚本JoyStickBar.csPlayerController.cs 工程在我资源里名字叫Joystickbar.unitypackage [连接](https://download.csdn.net/download/qq_42194657/12043019?spm1001.2014.3001.5503) 一、UI搭建 JoyStickBar是图片背景 JoySt…...

Jenkins自动化部署之后端

准备工作参考本人另外几篇Jenkins相关的文章 新建任务 添加参数配置 字符串参数&#xff1a;分支名称 多选框&#xff1a;项目名称&#xff08;Extended Choice Parameter插件必备&#xff0c;插件安装参考我另外的文章&#xff09; 这个分割规则自定义。只要根据Jenkins…...

Could not resolve com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.28.

1、首先进入阿里云maven仓库&#xff0c;在搜索栏输入无法下载的依赖名称&#xff0c;查询现有版本号&#xff0c;可以看到这里有2.9.34。 2、在build.gradle(Project)的buildscript闭包下替换为阿里云maven仓库&#xff1a; maven { url https://www.jitpack.io } maven { u…...

RK3588平台开发系列讲解(AI 篇)RKNN rknn_query函数详细说明

文章目录 一、查询 SDK 版本二、查询输入输出 tensor 个数三、查询输入 tensor 属性(用于通用 API 接口)四、查询输出 tensor 属性(用于通用 API 接口)五、查询模型推理的逐层耗时六、查询模型推理的总耗时七、查询模型的内存占用情况八、查询模型里用户自定义字符串九、查询原…...

15个主流设计灵感网站,激发你的创作灵感!

即时设计 即时设计是一种强大的云设计工具&#xff0c;已成为许多设计师、产品经理和开发人员的首选工具之一。即时设计用户可以使用内置的工具和功能快速创建和编辑设计&#xff0c;或与其他用户共享和合作。此外&#xff0c;即时设计还有一个丰富的资源社区&#xff0c;为用…...

Matlab:解非线性方程组

1、基于问题求解非线性方程组 例&#xff1a; xoptimvar(x,2); %将x定义为一个二元素优化变量 eq1exp(-exp(-(x(1)x(2))))x(2)*(1x(1)^2); %创建第一个方程作为优化等式表达式 eq2x(1)*cos(x(2))x(2)*sin(x(1))1/2; %创建第二个方程作为优化等式表达式 probe…...

面向 AI,重塑云基础设施、存储、芯片、Serverless……2023亚马逊云科技re:Invent中国行

一年一度亚马逊云科技重要的技术盛会 re:Invent 刚落下帷幕&#xff0c;2023 亚马逊云科技 re:Invent 中国行就将其中重要的信息与内容带给了中国市场和用户。作为全球的云计算巨头&#xff0c;今年亚马逊云科技可以说全面加码 AI&#xff0c;例如发布完整的端到端生成式 AI 技…...

【JDK新特性】JDK和Springboot各版本新特性介绍

目录 参考资料 以下是一些较新版本的JDK的主要新特性介绍&#xff1a; JDK 8&#xff1a; Lambda 表达式&#xff1a;引入了函数式编程的概念&#xff0c;使得代码更简洁、可读性更强。Stream API&#xff1a;提供了一种高效处理集合数据的方式&#xff0c;支持并行处理。默认…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...