03-Linux权限

news2025/1/12 12:10:02

root用户

root用户(超级管理员)

无论是Windows、MacOS、Linux均采用多用的管理模式进行权限管理

  • 在Linux系统中,拥有最大权限的账户名为:root(超级管理员)
  • 刚开始学习的时候,大多时间都是用的普通用户模式下进行操作的

image-20240127110805964

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的

  • 使用普通用户在根目录下创建文件夹

    image-20240127111133007

  • 切换到root用户后,继续尝试

    image-20240127111559139

  • 普通用户的权限一般在home目录下是不受限制的

  • 一旦出了home目录,普通用户只有只读和执行的权限,无权修改

suexit命令

su命令就是用于账户切换的系统命令

来源于英文单词:Switch User

语法

su [-] [用户名]
  • -符号是可选的,表示切换用户后是否加载环境变量,建议加上
  • 参数:用户名,表示要切换的用户,当用户名省略时切换到root
  • exitCtrl+d都可以回退上一个用户
  • 使用普通用户,切换到其他用户需要输入密码,如切换到root用户
  • 使用root用户切换到其他用户,无需密码,可以直接切换

sudo命令

使用su命令切换到root的最大权限,但是不建议长期使用root用户,避免带来系统损坏

可以使用sudo命令,为普通用户的命令授权,临时以root身份运行

sudo 其他命令
  • 在其他命令前加上sudo,即可为这一条命令临时赋予root授权
  • 但不是所有用户,都有权使用sudo需要为普通用户配置sudo认证

为普通用户配置sudo认证

  • 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers

  • 在文件的最后添加:

    用户名 ALL=(ALL)	NOPASSWD:ALL
    
    • NOPASSWD:ALL表示使用sudo命令,无需输入密码

    image-20240127115156716

  • 最后:wq保存

  • 切换到普通用户

    image-20240127115339960

  • 执行的命令,均以root运行

用户、用户组管理

用户、用户组

Linux系统中可以

  • 配置多个用户
  • 配置多个用户组
  • 用户可以加入多个用户组中

image-20240127140528098

Linux中关于权限的管控级别有2个级别,分别是:

  • 针对用户的权限控制
  • 针对用户组的权限控制

比如,针对某个文件,可以控制用户的权限,也可以控制用户组的权限

用户组管理

以下命令需root用户执行

  • 创建用户组
groupadd 用户组名
  • 删除用户组
groupdel 用户组名

创建一个itcast用户组:groupadd itcast

image-20240127155053658

用户管理

以下命令需root用户执行

  • 创建用户

    useradd [-g -d] 用户名
    
    • 选项:-g指定用户的组,若不指定-g,则会创建同名组并自动加入,指定-g需要组已经存在,如果已经存在同名组,必须使用-g

    • 选项:-d指定用户home路径,若不指定,则home目录默认在:/home/用户名

  • 删除组

    userdel [-r] 用户名
    
    • 选项:-r,删除用户的home目录,若不使用-r,删除用户时,home目录保留
  • 查看用户所属组

    id [用户名]
    
    • 参数:用户名,被查看的用户,如果不提供则查看自身
  • 修改用户所属组

    usermod -aG 用户组 用户名
    
    • 将指定用户加入指定用户组

image-20240127160119805

getent

getent命令可以查看当前系统中有哪些用户

语法

getent passwd

image-20240127160447488

共有7分信息,分别是:

bowen:x:1001:1001::/home/bowen:/bin/bash
#用户名:密码(x):用户ID:组ID:描述信息(无用):home目录:执行终端(默认bash)

getent命令,查看当前系统中有哪些用户组

语法

getent group

包含3份信息

jiaqi:x:1000:jiaqi
itcast:x:1001:jiaqi
#组名称:组认证(显示为x):组ID

image-20240127161323856

查看权限控制

认知权限信息

通过ls -l /可以以列表形式查看内容,并显示权限细节

image-20240127171415594

  • 序号1,表示文件、文件夹的权限控制信息
  • 序号2,表示文件、文件夹所属用户
  • 序号3,表示文件、文件夹所属用户组

解析一下序号1,权限细节

权限细节总共分为10个槽位

image-20240127172016480

举例:drwxr-xr-x,表示:

  • 首字母d表示这是一个文件夹
  • 所属用户权限有:r、w、x(可读、可写、可执行)
  • 所属用户组权限有:r、x(可读、可执行)
  • 其他用户权限有:r、x(可读、可执行)

rwx

  • r读权限
  • w写权限
  • x执行权限

针对文件、文件夹的不同

  • r,针对文件可以查看文件内容
    • 针对文件夹,可以查看文件夹内容,例如ls命令
  • w,针对文件表示可以修改此文件
    • 针对文件夹,可以在文件夹内:创建、删除、改名等操作
  • x,针对文件表示可以将文件作为程序执行
    • 针对文件夹,表示可以更改工作目录到此文件夹,即cd进入

修改权限控制-chmod

chmod命令

使用chmod命令,修改文件、文件夹的权限信息

注意:只有文件、文件夹的所属用户或root用户可以修改

语法

chmod [-R] 权限 文件或文件夹
  • 选项:-R,对文件夹内部的全部内容应用同样的操作

示例

#将hello.txt文件权限修改为:rwxr-x--x
chmod u=rwx,g=rx,o=x hello.txt
  • 其中:u表示user所属用户权限,g表示group组权限,o表示other其他用户权限
#将文件夹test以及文件夹内的全部内容的权限设置为:rwxr-x--x
chmod -R u=rwx,g=rx,o=x test

image-20240128144736926

权限的数字序号

权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其他用户权限。

数字的细节如下:r记为4,w记为2,x记为1,可以有:

  • 0:无任何权限,即---
  • 1:仅有x权限,即--x
  • 2:仅有w权限,即-w-
  • 3:有wx权限,即-wx
  • 4:仅有r权限,即r--
  • 5:有rx权限,即r-x
  • 6:有rw权限,即rw-
  • 7:有全部权限,即rwx

所以751表示:rwx(7)r-x(5)--x(1)

image-20240128150721834

修改权限控制-chown

chown命令

使用chown命令,可以修改文件、文件夹的所属用户和用户组

普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行

语法

chown [-R] [用户][:][用户组] 文件或文件夹
  • 选项,-R,同chmod,对文件夹内全部内容应用相同规则
  • 选项,用户,修改所属用户
  • 选项,用户组,修改所属用户组
  • :,用于分隔用户和用户组

示例

  • 将hello.txt所属用户改为root
chown root hello.txt
  • 将hello.txt所属用户组修改为root
chown :root hello.txt
  • 将hello.txt所属用户改为root,所属用户组改为jiaqi
chown root:jiaqi hello.txt
  • 将文件夹test的所属用户修改为root并对文件夹内容应用相同规则
chown -R root test

image-20240128152712985

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

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

相关文章

MySQL 篇-深入了解 DDL 语言(一)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 MySQL 说明 2.0 DDL 语言 2.1 DDL 语言 - 定义数据库 2.1.1 创建数据库操作 2.1.2 查看数据库操作 2.1.3 使用数据库操作 2.1.4 删除数据库操作 2.2 DDL 语言 …

leetcode-hot100-双指针

剪枝,减少不必要的计算 283. 移动零 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nums [0] 输出: [0] 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 第一印象:使用一个辅助数组,同时以…

蓝桥杯-答疑

原题链接:用户登录 答疑 题目描述 有 n 位同学同时找老师答疑。每位同学都预先估计了自己答疑的时间。 老师可以安排答疑的顺序,同学们要依次进入老师办公室答疑。一位同学答疑的过程如下 1.首先进入办公室,编号为 的同学需要 s,…

卖家横扫海外露营市场的机会来了,赛盈分销预测2024年消费者新需求

甲辰龙年开篇,就要迎来国外野营浪潮了,希望点开这篇推送的你,红红火火、热辣滚烫一整年。每年的3月份,海外用户对露营设备的搜索开始迅速增长。今天和大家聊聊露营市场出海的一些布局方向。 全球露营商品的市场规模愈发壮大&#…

Wireshark过滤DNS协议包语法实战

背景 现网DNS服务器发现CPU突增,发现有可能是客户恶意发起的随机子域名扫描,对服务器进行抓包分析,记录下当时的操作。 抓包 执行命令 tcpdump -iany port 53 and host $ip -nnv -w $ip.pcap进行抓包导出到本地,使用Wireshark进…

网站开发--详解Servlet

💕"Echo"💕 作者:Mylvzi 文章主要内容:网站开发–详解Servlet 一.基本介绍 tomcat是Java中开发服务器的重要的一个工具,任何开发的服务器都要部署在tomcat之上,可以说tomcat是所有服务器的底座,为了更好的操作http,to…

网络安全Web Hacking 101笔记,2023年最新整理!

在计算机技术如日中天的今天,Web安全问题也接踵而来。但Web安全却“入门简单精通难”,涉及技术非常多且广,学习阻力很大。 为此今天分享一份94页的《Web Hacking 101》笔记,包含Web安全知识,例如HTML注入、XSS、CSRF、…

MATLAB Function转C代码实战

文章目录 前言1. 准备工作2. 使用MATLAB Coder2.1 确定输入输出的类型2.2 MATLAB Coder过程 3. 代码调整和优化4. 编译和测试5. 性能分析和优化结语 前言 在科学与工程领域,MATLAB(Matrix Laboratory)是一种广泛使用的高级技术计算软件&…

Spring Boot 接口请求日志(基于AOP和自定义注解)

一、需求 在Spring Boot应用中,实现接口请求日志记录功能,要求能够记录包括请求方法、接口路径及请求参数等核心信息,并提供灵活的开关配置。 二、方案概述 采用AOP(面向切面编程)结合自定义注解的方式实现。 具体…

1904_ARM Cortex M系列芯片特性小结

1904_ARM Cortex M系列芯片特性小结 全部学习汇总: g_arm_cores: ARM内核的学习笔记 (gitee.com) ARM Cortex M系列的MCU用过好几款了,也涉及到了不同的内核。不过,关于这些内核的基本的特性还是有些不了解。从ARM的官方网站上找来了一个对比…

《游戏引擎架构》 -- 学习4

资源及文件系统 文件系统 游戏引擎的文件系统API通常提供以下功能: 搜需路径:是含一串路径的字符串,各路径之间以特殊字符(如冒号或分号)分隔,找文件时就会从这些路径进行搜寻。例如在命令行下执行程序&a…

2023年06月CCF-GESP编程能力等级认证Scratch编程一级真题解析

一、单选题(共10题,共30分) 第1题 以下不属于计算机输出设备的有( )。 A:麦克风 B:音箱 C:打印机 D:显示器 答案:A 第2题 点击下面哪个图标可以使舞台区…

真香!NineData SQL开发全面适配 GaiaDB

2 月,新年伊始,NineData 重磅发布,提供了对百度云原生关系型数据库 GaiaDB 的支持。 这一次的发布不仅仅是简单的数据源支持,而是覆盖了整个 SQL 开发能力的重要发布,意味着您已经可以完整地使用 NineData SQL 开发的…

Redis高并发分布锁实战

Redis高并发分布锁实战 问题场景 场景一: 没有捕获异常 // 仅仅加锁 // 读取 stock15 Boolean ret stringRedisTemplate.opsForValue().setIfAbsent("lock_key", "1"); // jedis.setnx(k,v) // TODO 业务代码 stock-- stringRedisTemplate.delete(&quo…

AI时代 编程高手的秘密武器:世界顶级大学推荐的计算机教材

文章目录 01 《深入理解计算机系统》02 《算法导论》03 《计算机程序的构造和解释》04 《数据库系统概念》05 《计算机组成与设计:硬件/软件接口》06 《离散数学及其应用》07 《组合数学》08《斯坦福算法博弈论二十讲》 清华、北大、MIT、CMU、斯坦福的学霸们在新学…

MySQL篇—持久化和非持久化统计信息介绍(第一篇,总共三篇)

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

Spring事务模板及afterCommit存在的坑

大家好,我是墨哥(隐墨星辰)。今天的内容来源于两个线上问题,主要和大家聊聊为什么支付系统中基本只使用事务模板方法,而不使用声明式事务Transaction注解,以及使用afterCommit()出现连接未按预期释放导致的…

科技云报道:黑马Groq单挑英伟达,AI芯片要变天?

科技云报道原创。 近一周来,大模型领域重磅产品接连推出:OpenAI发布“文字生视频”大模型Sora;Meta发布视频预测大模型 V-JEPA;谷歌发布大模型 Gemini 1.5 Pro,更毫无预兆地发布了开源模型Gemma… 难怪网友们感叹&am…

不可错过的Telegram神器:十个实用Telegram机器人介绍

Telegram机器人是基于Telegram平台上的自动化程序,通过Telegram Bot API来与用户交互,执行各种任务,大大拓宽了Telegram这个软件的功能。不只是可以进行简单的自动化任务如提醒服务、天气预报、个人助理,也可以完成复杂的商业行为…

SpringBoot自带的tomcat的最大连接数和最大的并发数

先说结果:springboot自带的tomcat的最大并发数是200, 最大连接数是:max-connectionsaccept-count的值 再说一下和连接数相关的几个配置: 以下都是默认值: server.tomcat.threads.min-spare10 server.tomcat.threa…