【测试开发学习历程】Linux用户管理+文件权限管理

目录

一、用户管理

(一)用户和用户组的基本概念

1.概念

2.设置原因

3.用户与用户组的关系

4.用户类型

(二)用户的创建、修改属性和删除用户

1.用户信息文件

2.创建用户

3.修改用户密码

4.修改用户信息

5.用户查询

6.用户删除

(三)用户之间的切换

(四)用户组的创建和删除

​​​​​​​二、文件权限管理

(一)Linux的文件访问权限和访问者种类

(二)修改Linux文件的访问权限

(三)修改Linux文件所属用户和用户组

1.chown命令

​​​​​​​2.chgrp命令


一、用户管理

(一)用户和用户组的基本概念

1.概念

Linux是一个多用户的操作系统

任何一个要使用系统资源的用户,必须登录进入系统

Linux用户属于一个或多个特定的组,称为用户组,即group

2.设置原因

  • 资源访问控制
    • 文件(泛义上的文件)
  • 所有文件都属于一个特定的用户,和一个特定的用户组
  • 每个文件都有一定的访问权限,用户限制不同用户和用户组的访问行为

3.用户与用户组的关系

Linux系统以组Group方式管理用户,用户和组的对应关系为多对多,即某个用户可属于一个或多个组,某个组可以有0个、1个或多个用户。

组的分类:从用户的角度,分为主组和附属组

  • 主组:也被称为primary group、first group或initial login group,用户的默认组,用户的gid所标识的组
  • 附属组:也被称为Secondary group或supplementary group,用户的附加组
  • 用户必须有且只能有一个主组,就可以有0个、1个或多个附属组,如我们一定会有一个用来安家的房子(类同主组),还可以有n个用于投资或其他打算的房子(附属组)

4.用户类型

  • root用户
    • 超级管理员用户,具有操作系统的最大权限
  • 普通用户
    • 由超级用户创建及授权,并且可以登录到Linux系统执行某些任务
  • 系统用户
    • 系统内创建了若干用户,如mail、ftp、bin等,默认情况下,系统用户都是无法登录的

(二)用户的创建、修改属性和删除用户

1.用户信息文件

Linux的/etc/passwd文件是用来记录用户的所有信息

  • 1-用户名:长度在1到32个字符之间
  • 2-密码:x加密密码存在/etc/shadow
  • 3-用户ID(UID):root用户的ID是0
  • 4-用户主组ID(GID):用户的主组ID,root组的ID是0
  • 5-用户ID说明
  • 6-用户家目录
  • 7-用户默认的shell

2.创建用户

命令:useradd

格式:useradd 用户名

root用户使用useradd命令创建用户,比如:useradd jim

参数:

  • -d:指明用户家目录,若该目录不存在则创建目录
  • -g:指明用户所属组,该用户组必须存在

该命令完成的事情:

  • 在/etc/passwd文件中增加一行数据,表示该用户的信息。
  • 为该用户创建用户组,将该用户标识符加在/etc/group文件中,如果有-g选项,则不创建用户组,而是将该用户加入指定组中。
  • 为该用户创建一个家目录(home directory),将家目录的拥有者改为该用户所有。

3.修改用户密码

命令:passwd 用户名

root用户使用下列命令为用户jim设置密码

[root@localhost ~]# passwd jim

Changing password for user jim.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

  • 创建了用户之后,其密码是随机的
  • 用户可以修改自己的密码(需要输入当前密码)
  • 只有root用户可以修改其他用户密码

4.修改用户信息

命令:usermod

修改用户所属的组举例:

  • groups jim  //查看jim用户所属的组
  • usermod -g root jim  //修改用户jim的主组为root
  • usermod -a -G g4 jim  //增加用户jim的附属组g4
  • usermod -G g2,g3 jim  //修改用户jim的附属组为g2、g3
  • usermod -L jim  //锁定jim用户,锁定后该用户不能再登录
  • usermod -U jim  //解锁jim用户,解锁后该用户可以再登录

5.用户查询

用户可以使用下列指令查询用户相关信息

  • who:查询当前在线的用户,只能查询在登录页面输入了用户名密码登录的用户,通过su命令切换的用户无法查询到
  • whoami:用户身份查询,当前所在的用户
  • groups:查询用户所属的组
    • [root@localhost ~]# groups jack
    • jack : user05 user03 user04
  • id:显示当前用户信息
    • [root@localhost ~]# id
    • uid=0(root) gid=0(root) groups=0(root)

6.用户删除

命令:userdel

格式:userdel 用户名

如果加参数-r,表示在删除用户的同时,一并把用户的家目录及本地邮件存储的目录或文件也一同删除

例子

  • userdel jim           //删除用户jim,但不删除其家目录及文件
  • userdel -r jack      //删除用户jack,其家目录及文件一并删除

(三)用户之间的切换

命令:su

例如:

  • 切换到用户jim:su - jim 或 su jim
  • 切换到root用户:su -  或 su

有没有“-”的区别:

有“-”会重新初始化环境,比如全新用户home目录,新的环境变量

举例:

[root@localhost ~]# su - jack

[jack@localhost ~]$ pwd

/home/jack

[root@localhost ~]# su jack

[jack@localhost root]$ pwd

/root

(四)用户组的创建和删除

用户组命令:

Linux系统中,每个用户账号至少属于一个组,每个组可以包括多个用户

管理组的常用命令有如下:

  • groupadd:创建组
  • groupdel:删除组
  • usermod:修改用户所属组

只有root用户可以操作

root用户创建用户组sales

  • groupadd sales

root用户删除用户组sales

  • groupdel sales

如果有用户属于这个组    --primary组不能删除。

创建用户的时候指定用户组:

root用户创建用户sa01,sa02用户,并把它们添加到sales组里

  • useradd -g sales sa01
  • useradd -g sales sa02

​​​​​​​二、文件权限管理

(一)Linux的文件访问权限和访问者种类

还是从ls -l说起:

文件必须有一个所属用户和一个所属组

不同类型的用户有不同的权限

三种访问权限:可读、可写、可执行。

权限

文件的存取权限

目录的存取权限

r

具有文件的权限

能查看文件夹里面的内容(比如:用ls命令能查看文件夹里的内容)

w

具有文件的权限

能创建和删除文件(比如:在文件夹下面,使用touch命令创建文件)

x

具有行文件的权限

能使用该目录下的文件(如cd命令),能进入该目录

对于一个文件来讲,把所有用户分成三类:

用户类型

说明

owner

文件的所有者(一般来说,谁创建了文件,谁就是所有者)

group

文件所属工作组(一般来说,创建文件的用户所在的工作组(主组))--touch file举例说明

other

其他用户(非owner和非group

(二)修改Linux文件的访问权限

chmod命令

  • 谁可以改变文件访问权限?root和owner
  • 语法:chmod [who][op][permission] filename
  • 例如:chmod u+x file01
    • who项表示用户类型,它的内容为以下一项或多项
      • u                     拥有者(user --owner)
      • g                     与拥有者同一组的用户(group)
      • o                     其他人(other)
      • a                     所有人(all)​​​​​​​​​​​​​​
    • op项表示动作​​​​​​​
      • +                          表示要加上permission指定的权限
      • -                           表示要取消permission指定的权限
    • ​​​​​​​​​​​​​​permission项为存取权限,它的内容为以下一项或多项
      • r                         表示可读
      • w                        表示可写
      • x                         表示可执行

​​​​​​​​​​​​​​chmod命令举例

  • 第一种写法:
    • chmod ug+w file01                     拥有者和同组用户对file01“可写”
    • chmod a-x file02                          所有人对file02不可执行​​​​​​​
    • chmod u+rwx file03                    拥有者对file03“可读、可写、可执行”​​​​​​​​​​​​​​
  • 第二种写法:
    • chmod u=rwx file01                          拥有者对file01“可读可写可执行”
    • chmod u=rwx,g=rx,o=r file02          拥有者对file02“可读可写可执行”,  对同组用户“可读可执行”,对其他  用户“可读”
  • ​​​​​​​第三种写法
    • chmod 755 file01                         
    • 等价于​​​​​​​
    • chmod u=rwx,g=rx,o=rx file01

​​​​​​​​​​​​​​

(三)修改Linux文件所属用户和用户组

1.chown命令

谁可以改变文件的所有者和所属组?

只有root用户,owner都不行

语法:chown [选项]…[所有者]:[所属组] 文件

举例:

  • chown jack file01:把文件file01的所有者改成jack
  • chown jack:jack file02 :把文件file02的所有者改成jack,所属组改成jack
  • chown -R jack dir01:把目录dir01以及下面所有的子目录和文件的所有者改成jack
  • chown -R jack:jack dir02:把目录dir02以及下面所有的子目录和文件的所有者改成jack,所属组改成jack】

​​​​​​​2.chgrp命令

谁可以改变文件的所属组?

root,owner(只能改变到owner所在的组)​​​​​​​

语法:chgrp [选项]…[组] 文件

举例:chgrp jack file01  把file01的所属组改成jack

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

5.shell if判断语句

shell-if判断语句 1.什么是if2.为什么要用if3.if基础语法4.基于文件进行判断5.基于整数比对6.基于字符比对7.基于正则比对 1.什么是if if其实就是模仿人类的判断来进行的,要么真、要么假、就这两种结果。 2.为什么要用if 判断 3.if基础语法 单条件 if [ 如果你…

RocketMQ快速入门

RocketMQ快速入门 准备工作下载RocketMQ环境要求 JDK下载安装JDK下载JDK安装 安装RocketMQ安装步骤目录介绍 启动RocketMQ测试RocketMQ发送消息接收消息 关闭RocketMQ RocketMQ是阿里巴巴2016年开源的MQ中间件,使用Java语言开发,在阿里内部,R…

String、StringBuilder、StringBuffer 有什么区别?

1、典型回答 String、StringBuilder 和 StringBuffer 都是 Java 语言中,用于操作字符串的类,但它们在性能、可变性和线程安全性方面有一些区别 1、String:不可变字符串类,也就是说一旦创建,它的值就不可变。每次对 S…

数据库基础理论知识

1.基本概念 数据(Data):数据库存储的基本对象。数字、字符串、图形、图像、音频、视频等数据库(DB):在计算机内,永久存储、有组织、可共享的数据集合数据库管理系统(DBMS):管理数据库的系统软件数据库系统(DBS):DBDBMSDBADBAP 数…

【spring】-多模块构建二-问题整理

1、bean注入问题 The injection point has the following annotations: - org.springframework.beans.factory.annotation.Autowired(requiredtrue) 解决1: 由于引入的bean类 不属于启动类的子模块下,需要在启动类手动声明扫描的类 也适用于公共子模…

Ribbon-负载均衡

目录 一、负载均衡的作用位置 二、Ribbon负载均衡的工作流程 三、IRule接口 负载均衡的策略: 修改负载均衡策略(即修改使用的IRule接口的实现类): 四、饥饿加载 五、总结 前置知识:Eureka注册中心 不熟悉Eureka的…

【Emgu CV教程】9.3、形态学常用操作之开运算

文章目录 一、相关概念1.什么叫开运算3.开运算的函数 二、演示1.原始素材2.代码3.运行结果 一、相关概念 1.什么叫开运算 腐蚀、膨胀已经讲完,这两个是最基础的形态学操作。这次讲的是开运算,它是一个先腐蚀、后膨胀的过程。原始图像先被腐蚀&#xff…

使用Anaconda创建Python指定版本的虚拟环境

由于工作的需要和学习的需要,需要创建不同Python版本的虚拟环境。 比如zdppy的框架,主要支持的是Python3.8的版本,但是工作中FastAPI主要使用的是3.11的版本,所以本地需要两套Python环境。 决定使用Anaconda虚拟环境管理的能力&…

发那科数控机床FanucCNC(NCGuide)仿真模拟器配置和数据采集测试

开发日记3.12 此篇用于记录发那科数控机床(Fanuc CNC)采集程序开发中,用虚拟机做测试时,虚拟机的配置和使用以支持采集软件开发和测试。 配置虚拟机使用仿真软件 下载VMware15 「链接:https://pan.xunlei.com/s/VNsl9Gmb14ANBiiNlsT7vA2LA…

Chrome下载B站视频字幕的插件

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

多模态大模型Claude 3正式接入集简云与语聚!对标GPT-4且支持中文

自OpenAI发布GPT-4以来,引发了业务模式与应用使用的巨大变革,掀起了各大企业对于多模态大模型的研究热潮。3月初,AnthropicClaude在官网正式发布Claude 3系列多模态大模型,据了解,该模型在多个维度上超越了GPT-4&#…

Vcenter 定制创建 Rocky Linux 虚拟机

文章目录 1. 图形化安装2. 初始化配置 1. 图形化安装 2. 初始化配置 Centos 8.2 指南

图像分割损失函数

为什么要乘以2,是为了让DICE的值域在0和1之间 优化:两种LOSS相加 Focus loss:

C++的类和对象(六):友元、内部类

目录 友元 友元函数 友元类 内部类 匿名对象 拷贝对象时的一些编译器优化 再次理解类和对象 友元 基本概念:友元提供了一种突破封装的方式,有时提供了便利,但是友元会增加耦合度,破坏了封装,所以友元不宜多用&…

力扣--课程表--bfs+dfs

整体思路: 这是一道拓扑序列的题目,我们将边的方向定义成从先修课指向后修课的方向,借一下官方的题解图片,我们需要判断的是形成的这个图结构是否存在环,如果存在环,那么代表不能完成所有课程的学习。 bfs思…

2.Datax数据同步之Windows下,mysql和sqlserver之间的自定义sql文数据同步

目录 前言步骤操作大纲步骤明细mysql 至 sqlServersqlServer 至 mysql执行同步语句中报 前言 上一篇文章实现了不同的mysql数据库之间的数据同步,在此基础上本篇将实现mysql和sqlserver之间的自定义sql文数据同步 准备工作: JDK(1.8以上,推…

学习vue3第四节(ref以及ref相关api)

主要记录以下api:ref()、isRef()、unref()、 shallowRef()、triggerRef()、customRef() 1、ref() 定义 接受一个内部值,返回一个响应式的、可更改的 ref 对象,此对象只有一个指向其内部值的属性 .value,.value属性用于追踪并且存…

数据结构 第1章:绪论

文章目录 1. 绪论1.1. 数据结构 1.2. 算法1.2.1. 算法的基本概念1.2.2. 算法的时间复杂度1.2.3. 算法的空间复杂度 1. 绪论 程序 数据结构 算法 1.1. 数据结构 数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理…

记录一个Typora激活方法(附软件)!!!

前言 今天想体验Typora上的picList功能,手一抖给版本升级到最新的1.8.10,然后就提示我激活,让我输入序列号,如图所示。接着我就去百度找教程,于是乎就出现了这一篇文章。 教程开始 1、下载最新版 先去官网下载最新…

使用canvas绘制超炫时钟

HTML5 Canvas相当于一个画板,你可以在Canvas绘制任意的东西,今天要分享一款利用HTML5 Canvas绘制的超炫时钟的方法及代码,非常的漂亮,这里推荐给大家 代码地址 使用canvas绘制超炫时钟