【测试开发学习历程】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

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

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

相关文章

MAMP Pro 站点404 Nginx 配置

MAMP Pro 站点配置 if (!-e $request_filename) {rewrite ^(.*)$ /index.php?s/$1 last;break; }

第十四届蓝桥杯C++B组编程题题目以及题解

a.冶炼金属&#xff08;二分&#xff09; 思路&#xff1a; 设任意一条冶炼记录投入金属数量为a,产出金属为b. 对于每一条冶炼记录我们都可以得到 一个转换率V的范围&#xff1a; b<a/v<b1即a/b< v <a/(b1) 为什么是b1呢&#xff1f;因为既然能产出b个金属&#xf…

实现的一个网页版的简易表白墙

实现的一个网页版的表白墙 实现效果 代码截图 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><tit…

【Java】初级篇:基本语法

一、变量与运算符 标识符命名规则 由26个英文字母大小写、0-9、_或$组成&#xff1b;不可以以数字开头&#xff1b;不能单用关键字和保留字&#xff1b;区分大小写&#xff1b;不包含空格。 【包名&#xff1a;所有字母小写|类名、接口名&#xff1a;多单词组成时所有字母首字…

1.6数组

一.序言 数组是一组类型相同类型元素的集合&#xff0c;数组的定长的&#xff08;数组的长度一旦被定义&#xff0c;长度不可改变&#xff09;。 数组在内存当中是一块连续的空间&#xff0c;可以保存相同类型的多个元素。 二.一维数组 2.1.数组的创建 int arr1[10]; …

Android的UI渲染机制(一)

应用程序与Surface的关系&#xff0c;从应用程序的Activity开始&#xff0c;一路追踪到ViewRoot、WindowManager Service。 SurfaceFlinger则主要负责视图的显示&#xff0c;其管理多个surface进行图像合成。WindowManager Service由System_Server进程启动&#xff0c;SurfaceF…

IDEA 设置信息及插件同步配置

所需插件&#xff1a; 第一步&#xff1a;打开登录界面&#xff0c;进行登录 第二步&#xff1a;再次点击

Go——运算符,变量和常量,基本类型

一.运算符 Go语言内置的运算符有&#xff1a; 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 1.1 算术运算符 注意&#xff1a;(自增)和--(自减)在go语言中是单独的语句&#xff0c;并不是运算符。 1.2 关系运算符 1.3 逻辑运算符 1.4 位运算符 位运算符对整数在内存…

【Linux】Linux小结

LVS、Nginx、HAproxy的区别 LVS、Nginx和HAproxy都是常见的负载均衡器&#xff0c;用于将网络负载分散到多个服务器上&#xff0c;以提高系统的可用性和性能 功能不同&#xff1a; LVS是一个Linux内核模块&#xff0c;在网络层&#xff08;第四层&#xff09;运行的。 Nginx和…

基于springboot+vue实现药品信息管理系统项目【项目源码+论文说明】计算机毕业设计

基于springbootvue实现药品信息管理系统演示 摘要 本文介绍了一种基于SpringBoot的药品信息管理系统的设计与实现。该系统旨在提高药品管理的效率和准确性&#xff0c;包括药品信息的录入、修改、查询和删除、药品入库、出库等功能。该系统采用了SpringBoot框架、MySQL数据库、…

[GPU]2.编译.cu文件

在编译.cu文件的时候&#xff0c;需要先确定自己已经安装了CUDA&#xff0c;并将其配置到系统环境中。 当然这个的前提是——你的显卡得是nvida的&#xff0c;你才能安装这个工具 如果你完成了这些的话&#xff0c;编译.cu文件就比较容易了&#xff0c;比如这个文件&#xff…

金三银四,求职攻略:解锁面试密码,赢在职场起跑线

春风拂面&#xff0c;金三银四的求职季如期而至。 你是否已经准备好在这场求职大战中脱颖而出&#xff0c;斩获心仪的职位&#xff1f;是不是还在为如何准备一份吸引人的简历而犯愁&#xff1f;是不是担心自己在面试中紧张失言&#xff0c;错失良机&#xff1f;是不是对如何了…

从入门到入魔,100个Python实战项目练习(附答案)!

大家好&#xff0c;我是彭涛。 之前给大家整理的资料&#xff0c;都是理论性的&#xff0c;虽然每一个知识点都给出了对应的示例代码&#xff0c;但是好多人还是感觉有一点点杂乱&#xff0c;如果有系统的实战项目练习就好了。 所以&#xff0c;应大家的需求&#xff0c;我们为…

HarmonyOS应用开发-Stage模型开发概述

基本概念 UI框架 HarmonyOS提供了一套UI开发框架&#xff0c;即方舟开发框架&#xff08;ArkUI框架&#xff09;。提供了应用UI开发所必需的能力&#xff1a;多种组件、布局计算、动画能力、UI交互、绘制。 方舟开发框架针对开发者提供了两种开发范式&#xff1a; 基于ArkTS…

【yolov8和yolov5】用命令快速着手训练

文章目录 1.yolov81.1.创建conda环境1.2.下载代码和环境1.3.YOLOv8训练、自测和预测的代码及解释1.3.1. YOLOv8 训练代码&#xff1a;1.3.2.yolov8 自测代码&#xff1a;1.3.3.yolov8 推理代码&#xff1a;1.3.4.注意&#xff1a; 2.yolov52.1.创建conda环境2.2.下载代码和环境…

简单聊一聊项目中用反射来做过啥【Java基础题】

1.什么是反射机制 反射允许(在运行时动态地)对封装类的字段、方法、构造函数的信息进行编程访问 在我们的代码中&#xff0c;使用构造器直接生成对象、直接访问对象、对象的成员等方式&#xff0c;是清晰直观的。但在有些场景中&#xff0c;需要在运行时动态地操作这些成员&…

Cisco Packet Tracer模拟器实现路由器的路由配置及网络的安全配置

1. 内容 1. 配置路由器实现多个不同网络间的通信&#xff0c;路由器提供的路由协议包括静态路由协议、RIP动态路由、OSPF动态路由协议等等&#xff0c;训练内容包括路由器的静态路由配置、路由器的RIP动态路由配置、路由器的OSPF动态路由配置以及路由器的路由重分布配置。 2.…

LaneNet 论文阅读

论文链接 Towards End-to-End Lane Detection: an Instance Segmentation Approach 0. Abstract 在本文中&#xff0c;将车道检测问题转化为实例分割问题——其中每个车道形成自己的实例——可以进行端到端训练为了在拟合车道之前对分段车道实例进行参数化&#xff0c;应用基…

Seata源码流程图

1.第一阶段分支事务的注册 流程图地址&#xff1a;https://www.processon.com/view/link/6108de4be401fd6714ba761d 2.第一阶段开启全局事务 流程图地址&#xff1a;https://www.processon.com/view/link/6108de13e0b34d3e35b8e4ef 3.第二阶段全局事务的提交 流程图地址…

Kafka生产消费实战-JAVA

Kafka生产消费实战-JAVA 文章目录 Kafka生产消费实战-JAVA生产者代码消费者代码消费者代码扩展Consumer消费offset查询Consumer消费顺序Kafka的三种语义 生产者代码 public static void main(String[] args) {Properties prop new Properties();// 指定broker地址prop.put(&q…