Linux操作系统--用户和群组(保姆级教程)

news2024/11/24 14:12:50

用户和群组

  • 用户
    什么是用户,即登录到linux操作系统的账号就是用户。在linux操作系统中账户的类别主要有三类:1、超级管理员(root),在linux中超级管理员的账户是root,这个root账户就类似于windows操作系统中administrator账户。也就是对计算机中软件和硬件有特殊操作权限的用户;2、普通账户(limy)普通账户就是在linux操作系统中为了完成某些任务而建立的一些账户,这些账户都有一个特点需要输入账户和密码才能进入系统。而且每个账户都有一个家目录。3、访客账户(guest)这个guest账户就是,没有任何权限的账户,只能进入系统录入和查看一些最最最基本的东西,实质这个guest账户没有什么作用,在windows里面也有一个访客账户与linux操作系统中的guest账户类似。
  • 群组
    群主是什么,账户得放在一个集合里面,这个集合就是群组,但是这里的集合指的的一个群组,在操作系统中(不管是windows还是linux都有很多群组)。把具有相同的账户放入到一个组里面,这个组就是这两个账户的群组,有的朋友就要问,我们为什么要这样做呢?因为我们在访问资源(操作系统中计算机的资源)时,可以让这个组里面的所有用户都具有访问权限。也可以对资源访问权限设置群组,对A资源的访问。那么我们就把所有对具有A资源访问权限的用户都放在一个组里面,这时候有另外有一个新建用户,也需要对A资源进行访问的权限,那么我们就可以直接把这个新建用户加入到这个群组里面,这时新建用户就具有对A资源访问的权限了。
  • 用户和群组的关系
    用户和群组有什么关系,用户属于群组。每一个用户必修有一个归属的群组。
    我们举例,比如学生和班级,班级就是群组,学生就是用户,学生是属于班级的,对于这个班级的资源,在这个班级的所有学生都可以进行访问及使用,不是这个班级的学生肯定就不能具有相应的权限。比如这个班级买了一本书,那么这个班级同学是可以对这本书进行阅读(查看)和做笔记(编辑)的权限的,其它班级的同学是无法进行阅读和编辑的,如果需要的话,就需要设置权限。即这个班级就是这本书的所有者。后面我们通过实验来说明。
  • 用户管理
    用户管理包括以下的管理:
    1、用户账号管理;
    2、组账号管理;
    3、用户/组账号的权限管理;
    linux操作系统中文件从何而来?
    下面我们用一个图来说明
    在这里插入图片描述
  • 用户账号包含信息
    1、用户名;
    2、口令:
    3、UID:用户唯一标识符;
    4、GID:用户组的唯一标识;
    5、用户描述信息;
    6、用户主目录:用户登录的初始目录;
    7、SHELL类型:设置SHELL程序的种类;
    口令文件(/etc/passwd)
    该文件用户登录时校验用户的登录名、加密的口令数据项、用户ID(UID)、默认的用户分组ID(GID)、GECOS字段、用户登录子目录以及登录后使用的SHELL
    改文件的每一行保存一个用户的资料,而用户资料的每一个数据项之间采用冒号“:”分割。
    在这里插入图片描述
    这里也可以重置limy账户的密码。具体操作下次讲解
  • 登录名
    注意它的唯一性,它的长度一般不超过32个字符,它们可以包括冒号和换行之外的任何字符。登录名要区分大小写。放在/etc/passwd文件的开头部分的用户是系统定义的虚拟用户bin、daemon
  • 加密的口令
    当编辑/etc/passwd文件来创建一个新账号时,在加密口令字段的位置要放一个星号(*)。这个星号防止未经授权就使用该账号,指导设置了真实的口令为止。
    如要要重置limy账户的密码,我们只需要在/etc/passwd文件中找到limy:后的字段,将x删掉即可。前提是只有root账户才有权限操作。
  • UID
    是32位无符号整数,它能表示从0到4294967296的数值。建议在可能的情况下将站点上的最大UID号限制在32767。root的UID为0。UID在整个机构中应该是唯一的
  • GID
    组的ID是一个32位整数,GID 0是给root的组保留的。GID1通常指的是名为“bin”的组,GID2指的是“daemon”组。
  • GECOS字段
    通常用来定义每个用户的个人信息。
  • 用户的登录子目录

每个用户都需要有地方保存自己的配置文件。这个地方就叫做用户登录子目录。要禁止没有主目录的用户登录,可以把/etc/login.defs中的CREATE_HOME设置为no。

  • 登录SHELL

用户上机后运行的shell,此处出现的是默认的shell,大多数情况下是/bin/bash

操作命令

1、添加新用户
格式:
useradd  [参数]  用户名
参数:
-u  UID   //指定用户的UID值;
-g  组名   //指定用户所属的默认组;
-G-u  组名   //指定用户附加组;
例子
在这里插入图片描述
我们已经创建好了zhangsan这个用户,细心的朋友可以看大我们还没有设置密码,下面我们看看密码的设置
在这里插入图片描述
在前图中我们可以看出,UID为1001,GID也为1001。
现在我们在按照指定的方式创建一个账户。
在这里插入图片描述
这里我们创建一个wangsi的账户,细心的朋友可以看到,wangsi这个账户归属在zhangsan这个组里面。
我们又没有创建zhangsan这个组哒,好了,其实我们在linux中创建账户时,如果没有指定组,linux会自己更具账户名创建一个用户组。就如同zhangsan账户,就有了后面-g,后面有zhangsan这个组,
-d  路径   //指定用户主目录(如果没有指定就是/home/xxxx)
-e  时间 //指定用户账户有效日期(YYY-MM-DD)
-s  类型 //指定默认的shell类型
-m   //建立用户主目录
-M   //不建立用户主目录
2、设置用户口令
格式:passwd [选项] [用户名]
d  (delete)   //删除用户口令
-l  (lock)  //暂时锁定指定的用户账户
-u  (unlock)  //解除指定用户账号的锁定
-S  (statue)  //显示指定用户账号状态
在这里插入图片描述
passwd  zhagnsan  //设置口令
passwd  -d  zhangsan     //删除用户口令
passwd  -l  zhangsan  //锁定账户
passwd  -u  tom  //解除账户
passwd   -S  tom  //显示账户
3、修改用户信息
usermod [参数] 用户名
参数:
-l 新用户名  当前用户名  //更改用户名
-d 路径  //更改用户主目录
-G 组名  //修改附加组
-L 用户账号名  //锁定用户账号(不能登录)
-U 用户账号名  //解锁用户账户
在这里插入图片描述
这里我们就将zhangsan账户改为了wanmazi。
我们在用wanmazi账户进行登录
在这里插入图片描述
后面的更改目录,改组,我就不一一示范了。
4、删除用户
格式
userdel  [参数]  用户名
参数:
-r  //同时删除用户主目录
实例:
在这里插入图片描述
删除wanmazi后,这个账号也被删除了。
5.切换用户身份
格式:  su [-]  [用户名]
比如:su -   //切换到超级用户
  su limy  //切换到limy账户
在这里插入图片描述
6.组账号管理
1、组的分类
私用组:创建用户时自动创建的组
标准组:可以包含多个用户的组
组账户文件在我们根目录下的(/etc/group)
组名:组的标识符号
口令:(密码)
GID:组的唯一标识符
组的成员:
我们现在来看看(/etc/group)文件包含了linux组的名称和每个组中的成员列表。
在这里插入图片描述
上图中,每一行代表了一个组,其中包含有四个字段;
组名;
被加密的口令(已经废弃,很少使用);
GID;
成员列表,彼此用逗号隔开(注意不要加空格)。
为了避免与厂商提供的GID发生冲突,一般从GID100开始分配本地组。
7、组账号的建立
格式:group [参数] 组名
参数:-g GID  //指定新建的组的GID值;
-r  //建立伪用户组(1-999);
实例:
groupadd g2
groupadd -r g3
groupadd -g 6400 testg
创建一个gid为6400组名为testg的组
在这里插入图片描述
8、修改组的信息
格式:
groupmod [参数] 组名
参数:
-n 新组名 原组名   //修改组的名字
-g GID     //修改组的GID
实例
groupmod -n group2 g1
在这里插入图片描述
groupmod -g 860 g2
在这里插入图片描述
9、添加/删除组成员
格式
gpasswd [参数] 用户名 组名
参数:
-a 用户名   //向指定组添加用户
-d 用户名   //从指定组中删除用户
gpasswd -a limy root
在这里插入图片描述
在这里插入图片描述

gpasswd -d limy root
在这里插入图片描述
在这里插入图片描述
10、删除组
格式:
groupdel 组名
实例:
groupdel g3
在这里插入图片描述
如果我们要查询当前用户属于那个组的话,我们可以使用以下的这个命令。
groups [用户名]
实例:
groups   (显示当前用户所属组)
group root  (显示root用户的所属组)

在这里插入图片描述

文件和目录的权限管理

定义:是一种限制用户对文件操作的规则
我们所说的文件,权限,访问规则,这里我并说一下。
文件是我们存储在计算机中的资料呈现的一种形式,这种形式的呈现是按照一定的信息的规律形式呈现的。
权限是我们对文件的操作(读、写、执行)限制,也就是让谁(用户)对这个文件有一个什么样的操作。
访问规则是我们对文件针对于计算机用户(或者群组)设定的规则。也就是谁(用户)或者群(拥有相同群组名字的用户)的访问规则设定。
在linux系统中文件访问权限通常分为三类
读:     r或4
写:     w或者2
执行:   x或1
在这里插入图片描述
权限值的设置方法
字符表示方法
r–:    只读
-w-:    x写
–x:    执行
rw-:    读写
-wx:    写和执行
r-x:    读和执行
rwx:    读写执行
—:    无权限
权限值的设置方法
命令:chmod
更改文件的权限
我们可以查看当前目录的权限
在这里插入图片描述
也可以查看当前用户对指定目录的权限
在这里插入图片描述
其实在上图还可以看出,这个文件test文件,属于那个用户和属于那个用户组。
我们如何来更改指定文件的权限。
chmod [操作对象] [操作符] [权限] 文件名
操作对象
u表示“用户(user)”,即文件或目录的所有者。
g表示“同组(group)用户”,即与文件属主相同组ID的所有用户。
o表示“其他(others)用户”。
a表示“所有(all)用户”,他是系统默认值。
操作符号
+添加某个权限
-取消某个权限
=设置唯一权限
所表示的权限可用下述字母的任意组合
r可读
w可写
x可执行
chmod o+w /root/test
在这里插入图片描述
这里的o是other的意思
补充说明
在这里插入图片描述
在我们查看文件的权限时候,有十个字符的位置,第一个字符(从左往右)先不管它,后面我在说第一个字符表示什么。
我们将剩下的9个字符分为三组,每组三个字符。从左往右第二个、第三个、第四个,这三个是文件的所有者拥有的权限,是红色线框框起来的部分,在从左往右数,第五个,第六个,第七个是文件的所有者所在的群组中账户对文件的权限,是蓝色线框框起来的部分,从左往右第八个,第九个,第十个,是other对文件的操作权限。在上图中是黄色线框框起来的部分。
我们在操作的时候,可以给文件设置用户的权限,用户所在群组的权限,以前其他用户对文件的权限,就像我们上面的那条命令,chmod o+w /root/test
这个是什么意思呢?就是给o(other)赋予w(写)的权限。我们要给那个赋予什么权限也就是需要+(加)后面的权限就可以了。如果想要减少权限呢,那就使用-(减)就可以了。如下
chmod o+w /root/test
chmod u-w /root/test
chmod g-rx /root/test
chmod o=rx /root/test
这里o表示other;u表示user,g表示group(用户所在的群组)。

权限值的表示方法。

上面我们说的是,三个字符一个组,比如当前用户的权限是第二,第三,第四位表示。当前用户所在的组是第五,第六,第七位表示。其他用户是第八,第九,第十位。我们可以发现的规则是,他们都是占三位,那么可以用另外的一种表示方式,也就是二进制,在数学上我们说的数值都是从右往左数的,那么我们可以明确的是,这里的权限是三位一组。安装二进制表示方法中,1表示有,0表示无,比如100这个时候,我们就说有read(读的权限),010表示write(写的权限),001表示executable(可执行)
我们可以对应为数字来学与记,
r:4即    (100)
w:2即    (010)
x:1即    (001)
我们也可以将这些权限进行组合,比如
rw:6即    (110)
rx:6即    (101)
wx:6即    (011)
rwx:7即    (111)
0表示没有任何权限。
chmod 764 /root/test
在这里插入图片描述
chmod 777 /root/test
在这里插入图片描述
chmod 600 /root/test
在这里插入图片描述
其实,我们学会了数值法表示,会更加方便些。因为可以根据数值的具体某位表示出u,g,o。
在这里插入图片描述

权限值的表示方法

chown
功能:改变文件拥有者,并可以一并修改文件所属组群。(超级用户使用
格式:
chown  <用户名>  <文件名>
chown  limy /root/test
在这里插入图片描述
这个时候,我就将/root/test文件的所有者改为了limy用户。

chgrp
功能:更改文件所属的组(超级用户使用)
格式:chgrp  <组名称>  <文件名>
chgrp  limy  /root/test
在这里插入图片描述
这个时候,/root/test文件所属的root组,现在已经变为了limy群组里面了。
本篇内容主要讲用户群组和用户,以及用户,角色,权限。
在我们日常学习与工作中,用到的时间非常多,尤其是学习信息安全的同学们,使用linux操作系统比使用windows操作系统要方便很多,但是对于不熟悉liunx操作系统的同学,可以反复的去练习创建文件,删除文件,创建用户,删除用户,将文件加入到某个群组,将文件从某个群组中移除,给特定的用户对文件赋予特定的操作权限。
下面进行总结知识点:
在这里插入图片描述
本节主要讲解了以上的命令,需要同学们反复的练习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pom.xml配置中引入Oracle依赖

pom.xml配置中引入Oracle依赖1. Download Driver1.1 pom.xml2.Awakening1. Download Driver 因为Oracle是要收费的&#xff0c;所以不能通过远程的方式来引入&#xff0c;可以通过mvn指令导入到Maven本地仓库。 下载地址 Oracle Website: https://www.oracle.com/database/tech…

MyBatis案例 | 使用映射配置文件实现CRUD操作——查询所有数据

本专栏主要是记录学习完JavaSE后学习JavaWeb部分的一些知识点总结以及遇到的一些问题等&#xff0c;如果刚开始学习Java的小伙伴可以点击下方连接查看专栏 本专栏地址&#xff1a;&#x1f525;JavaWeb Java入门篇&#xff1a; &#x1f525;Java基础学习篇 Java进阶学习篇&…

各类SDR的USB接口一致性测试

最近用高带宽示波器测了好几个SDR产品的USB2接口一致性。由于探头数量只有1个&#xff0c;所以不能测全所有的项目。但已经包含了最主要的USB眼图&#xff08;信号质量&#xff09;项目。 待测件包含&#xff1a; 1.原版RTL-SDR 2.自制RTL-SDR 3.HackRF 4.无线电罗盘v0.8 测试…

css实现超出div长度文字自动隐藏或用省略号表示

网页中一些区域的标题文字是不能换行的&#xff0c;例如首页显示的文章标题&#xff0c;因为布局是固定的&#xff0c;换行会打乱布局&#xff0c;从而使网页产生错位。因此&#xff0c;我们需要一行一段文字&#xff0c;超出行宽的文字用省略号表示或者直接去掉不用省略号代替…

在CentOS-6.9配置apache服务(1)---基于个人主页的身份验证

文章目录一 系统环境二 用户身份验证2.1 编写主配置文件2.2 编写用户身份验证的配置文件2.3 创建用户密码文件2.4 创建测试页面2.5 测试三 基于个人主页的身份验证3.1 修改主配置文件3.2 创建测试用户3.3 创建测试的个人主页3.4 设置防火墙和selinux3.5 测试在部署了apache服务…

LeetCode-189. 轮转数组

目录方法一&#xff1a;使用额外的数组方法二&#xff1a;环状替换方法三&#xff1a;数组翻转题目来源 189. 轮转数组 方法一&#xff1a;使用额外的数组 我们可以使用额外的数组来将每个元素放至正确的位置。用 n 表示数组的长度&#xff0c;我们遍历原数组&#xff0c;将原…

JSP SSM校园超市管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSPssm 校园超市管理系统 是一套完善的系统源码&#xff0c;对理解JSP java SrpingMVC mybiats 框架 MVC编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;以及相应配套的设计文档 &#xff0c;系统主要采用B/S模式开发。 研究的基…

Dubbo 中 Zookeeper 注册中心原理分析

本文通过分析Dubbo中ZooKeeper注册中心的实现ZooKeeperResitry的继承体系结构&#xff0c;自顶向下分析了AbstractRegistry&#xff08;提供了服务数据的本地缓存&#xff09;、FailbackRegistry&#xff08;服务注册订阅相关的异常重试&#xff09;、CacheableFailbackRegistr…

Web Spider Fiddler - JS Hook 基本使用

文章目录前言一、资源下载二、什么是Hook三、Hook 的几种方式四、Fiddler - 编程猫插件安装五、Fiddler - Hook 案例六、常用的js hook代码Hook CookieHook Header总结前言 Hook技术也叫钩子函数&#xff0c;功能是把网站的代码拉出来&#xff0c;改成我们自己想执行的代码片段…

mysql:性能分析工具

检查是否开启慢查询日志&#xff0c;查看慢查询的日志中的数据 也可以通过查看sql执行成本&#xff0c;进行优化 统计SQL的查询成本&#xff1a;last_query_cost SHOW STATUS LIKE ‘last_query_cost’; 查询优化器的成本&#xff0c;查看最后一个sql使用的多少数据页 定位执…

1-2MySQL 面试题

MySQL 面试题 1.说一下 MySQL 执行一条查询语句的内部执行过程&#xff1f; 答&#xff1a;MySQL 执行一条查询的流程如下&#xff1a; 客户端先通过连接器连接到 MySQL 服务器&#xff1b;连接器权限验证通过之后&#xff0c;先查询是否有查询缓存&#xff0c;如果有缓存&a…

大型React项目需要使用ES6解决方案以及对JSX的使用【React高级技术】

不使用 ES6 然而&#xff0c;在纯浏览器端使用ES6语法时&#xff0c;浏览器支持存在差异&#xff0c;这需要特殊处理才能正常运行。 支持ES2015桌面浏览器 Chrome&#xff1a;从51版开始&#xff0c;它可以支持ES6 97%的新功能。 Firefox&#xff1a;53版本支持97%的ES6新功能…

几个超级牛的在线 Python 解释器

安装 Python 很容易&#xff0c;但或许你正在用智能手机/平板电脑&#xff0c;在用不允许安装软件的电脑&#xff0c;或者因为其它原因无法安装 Python。那么&#xff0c;如何通过免安装的方式使用 Python 呢&#xff1f; 本文将介绍 18 个免费的 Python 解释器和交互式 Shell…

软测 · 软件测试的基本概念 · 什么是需求 · 测试用例的概念 · 软件错误(bug)的概念

一、什么是软件测试软件测试和开发的区别测试和调试的区别一个优秀的软件测试人员具备的素质二、什么是需求从测试人员角度看待需求三、测试用例的概念四、软件错误&#xff08;bug&#xff09;的概念一、什么是软件测试 最常见的解释是&#xff1a;软件测试就是找 BUG&#x…

Linux学习之常用基本命令【3】

文章目录一 账号管理1.1 用户账号概述1.2 用户账号管理1.2.1 useradduseradduseradd添加账号1.2.2 userdeluserdeluserdel删除帐号1.2.3 usermodusermodusermod修改账号1.3 用户口令管理二 用户组管理2.1 用户组概述2.1.1 groupaddgroupaddgroupadd添加用户组2.1.2 groupdelgro…

渲染管线

Unity 是一款跨平台的 3D 引擎&#xff0c;有着强大的渲染功能&#xff0c;并主要用于游戏开发。谈到 Unity 的渲染功能&#xff0c;我们不得不提及到着色器&#xff08;Shader&#xff09;——3D 游戏引擎中最重要的一个因素,它在游戏效果以及画面显示方面起到了决定性的作用。…

录制电脑屏幕的软件哪个性价比高?这4款软件就很实用

电脑是我们学习和办公不可以缺少的工具&#xff0c;除了使用它上面的应用之外&#xff0c;我们有时还需要它进行屏幕录制。那有没有可以录制电脑屏幕的软件呢&#xff1f;当然有&#xff01;录制电脑屏幕的软件哪个性价比高&#xff1f;今天小编就给大家分享4款性价比高的软件&…

报表生成器 FastReport .Net 用户指南 2023(三):Bands

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案&#xff0c;使用FastReport .NET可以创建独立于应用程序的.NET报表&#xff0c;同时FastReport .Net支持中文、英语等14种语言&#xff0c;可以让你的产品保证真正的国际性。 FastReport.NET官方版…

Echarts环形图、饼图径向渐变示例

第005个点击查看专栏目录在上一篇文章中已经讲过 ECharts线性渐变色示例演示&#xff08;2种渐变方式&#xff09;&#xff0c;这里做了环形图&#xff0c;饼图的一个径向渐变的示例演示&#xff0c;这里type: ‘radial’,想&#xff0c;y、x、z需要设置相应的数值&#xff0c…

【微服务】Elasticsearch概述环境搭建(一)

&#x1f697;Es学习起始站~ &#x1f6a9;本文已收录至专栏&#xff1a;微服务探索之旅 &#x1f44d;希望您能有所收获 一.初识elasticsearch (1) 作用 elasticsearch是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff0c;可以帮助我们从海量数据中快速…