Linux-用户和权限

news2025/2/24 11:11:14

文章目录

  • 一. 用户
    • 1. 用户分类
      • ① root用户(超级管理员)
      • ② 普通用户
        • Ⅰ. 创建普通用户命令
      • ③ root用户与普通用户
        • Ⅰ. 权限区别
        • Ⅱ. 切换用户命令
        • Ⅲ. sudo命令
        • Ⅳ. 为普通用户配置sudo认证
    • 2. 用户组
      • ① 用户,用户组
      • ② 创建用户组命令
      • ② 删除用户组命令
      • ② 用户管理命令
      • ③ getent
  • 二. 权限
    • 1. 查看权限控制
    • 2. 修改权限控制-chmod
    • 3. 修改权限控制-chown

一. 用户

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

在这里插入图片描述

1. 用户分类

① root用户(超级管理员)

在Linux系统中,拥有最大权限的账户名为:root(超级管理员)

在所属用户可读,在所属用户组可写,在其他用户组可执行,那么root就可读可写可执行
root 最好不要用。 对所有的文件 都有删除权限,运维一般给各个组分配好用户组

② 普通用户

Ⅰ. 创建普通用户命令

创建sailiman用户

useradd -m sailiman

为sailiman用户指定密码

passwd sailiman

③ root用户与普通用户

Ⅰ. 权限区别

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。
使用普通用户在根目录下创建文件夹
在这里插入图片描述

切换到root用户后,继续尝试
在这里插入图片描述

普通用户的权限,一般在其HOME目录内是不受限的
一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限

Ⅱ. 切换用户命令

① 功能

switch user

用于账户切换的系统命令

② 语法
在这里插入图片描述

  • 符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上
    参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
    切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d

使用普通用户,切换到其它用户需要输入密码,如切换到root用户
使用root用户切换到其它用户,无需密码,可以直接切换

③ 栗子

su - sailiman
su - root
Ⅲ. sudo命令

① 功能

switch user do

使用sudo命令,为普通的命令授权,临时以root身份执行。

② 语法
在这里插入图片描述

在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权
但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。
但是我们不建议长期使用root用户,避免带来系统损坏

③ 栗子

Ⅳ. 为普通用户配置sudo认证

切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
在文件的最后添加:
在这里插入图片描述

在这里插入图片描述

其中最后的NOPASSWD:ALL 表示使用sudo命令,无需输入密码
最后通过 wq 保存

切换回普通用户
在这里插入图片描述

执行的命令,均以root运行

2. 用户组

① 用户,用户组

Linux系统中可以:
配置多个用户
配置多个用户组
用户可以加入多个用户组中

在这里插入图片描述

Linux中关于权限的管控级别有2个级别,分别是:
针对用户的权限控制
针对用户组的权限控制
比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。
所以,我们需要学习在Linux中进行用户、用户组管理的基础命令,为后面学习权限控制打下基础

② 创建用户组命令

创建用户组,命令需root用户执行

groupadd 用户组名
groupadd cong

② 删除用户组命令

删除用户组,命令需root用户执行

groupdel 用户组名

② 用户管理命令

以下命令需root用户执行

创建用户

useradd [-g -d] 用户名

选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名

useradd -g cong ai

删除用户

userdel [-r] 用户名

选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
查看用户所属组

id [用户名]

参数:用户名,被查看的用户,如果不提供则查看自身

在这里插入图片描述

修改用户所属组

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

在这里插入图片描述

③ getent

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

getent passwd

在这里插入图片描述
共有7份信息,分别是:
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
getent group
在这里插入图片描述
结合ls,知ai,sailiman是用户,cong是用户组
在这里插入图片描述

包含3份信息,组名称:组认证(显示为x):组ID

  1. useradd不指定组时,自动创建一个同名组,sailiman用户在sailiman用户组中
  2. cong 用户组中没有用户
  3. cong2 用户组中 ai 用户
  4. cong3 用户组中 ai用户

二. 权限

1. 查看权限控制

通过ls -l 可以以列表形式查看内容,并显示权限细节
在这里插入图片描述
序号1,表示文件、文件夹的权限控制信息
序号2,表示文件、文件夹所属用户
序号3,表示文件、文件夹所属用户组
让我们来解析一下序号1,权限细节

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

在这里插入图片描述
举例:drwxr-xr-x,表示:
这是一个文件夹,首字母d表示
所属用户(右上角图序号2)的权限是:有r有w有x,rwx
所属用户组(右上角图序号3)的权限是:有r无w有x,r-x (-表示无此权限)
其它用户的权限是:有r无w有x,r-x

rwx到底代表什么
r表示读权限
w表示写权限
x表示执行权限
针对文件、文件夹的不同,rwx的含义有细微差别
r,针对文件可以查看文件内容
针对文件夹,可以查看文件夹内容,如ls命令
w,针对文件表示可以修改此文件
针对文件夹,可以在文件夹内:创建、删除、改名等操作
x,针对文件表示可以将文件作为程序执行
针对文件夹,表示可以更改工作目录到此文件夹,即cd进入

2. 修改权限控制-chmod

① 功能

change mode

修改文件、文件夹的权限信息,

② 语法
在这里插入图片描述

选项:-R,对文件夹内的全部内容应用同样的操作
不加-R只修改此文件夹的权限
-R大写
只有文件、文件夹的所属用户或root用户可以修改

③ 栗子

chmod u=rwx,g=rx,o=x hello.txt 

将文件权限修改为:rwxr-x–x
其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限
chmod -R u=rwx,g=rx,o=x test,将文件夹test以及文件夹内全部内容权限设置为:rwxr-x–x
除此之外,还有快捷写法:

chmod 751 hello.txt

将hello.txt的权限修改为751
那么问题来了,751表示什么意思呢?

权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。
数字的细节如下:r记为4,w记为2,x记为1,可以有:
0:无任何权限, 即 —
1:仅有x权限, 即 --x
2:仅有w权限 即 -w-
3:有w和x权限 即 -wx
4:仅有r权限 即 r–
5:有r和x权限 即 r-x
6:有r和w权限 即 rw-
7:有全部权限 即 rwx
所以751表示: rwx(7) r-x(5) --x(1)

将hello.txt的权限修改为: r-x–xr-x,数字序号为:

chmod 515 hello.txt

将hello.txt的权限修改为: -wx-w-rw-,数字序号为:

chmod 326 hello.txt

序号123代表的权限是:

--x-w--wx

3. 修改权限控制-chown

① 功能

change owner

修改文件、文件夹的所属用户和用户组

② 语法
在这里插入图片描述

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

③ 栗子
将hello.txt所属用户修改为root

chown root hello.txt

将hello.txt所属用户组修改为root

chown :root hello.txt

将hello.txt所属用户修改为root,用户组修改为itheima

chown root:itheima hello.txt

将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则

chown -R root test

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

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

相关文章

Flutter动画(二)内建隐式动画Widget

动画效果介绍中给出了选择动画的决策树: 使用动画框架不在我们讨论的话题内。flutter支持的动画包括隐式动画和显式动画。 隐式动画和显式动画 隐式动画和显示动画是两种不同的动画实现方式,它们的主要区别在于控制权和动画的重复性。 隐式动画&#…

【笔记2-5】ESP32:freertos消息队列

主要参考b站宸芯IOT老师的视频,记录自己的笔记,老师讲的主要是linux环境,但配置过程实在太多问题,就直接用windows环境了,老师也有讲一些windows的操作,只要代码会写,操作都还好,开发…

211高校的VMware迁移之路:迁至深信服云平台,更高效、更稳定

某211高校为国家 “双一流” 建设高校、省一流大学,在教育领域占据举足轻重的地位。其教学单位构成丰富多元,学科体系广泛而全面。然而,学校面临着VMware虚拟化平台维保到期、服务器老化等严峻挑战,严重干扰了教学、科研及管理工作…

【Matlab】将所有打开的图像批量保存为JPG格式

将Matlab中所有打开的图像批量保存为JPG格式 前言一、实现步骤1. 获取所有打开的图像句柄2. 遍历并保存图像 总结 前言 在使用Matlab进行数据分析或图像处理时,我们经常会生成多个图像以便观察和比较。有时,为了方便分享或存档,我们需要将这…

Linux实现地址转换和抓包

1.Linux实现地址转换 1.1 SNAT和DNAT NAT:地址转换SNAT:源地址转换DNAT:目的地址转换 内网——》外网:内网色的ip不能直接和公网ip通信,必须要把内网的地址转换成和公网ip通信的地址 外网——》内网:外网也不能直接和内网通信&#xff0c…

RocketMQ 过滤消息 基于tag过滤和SQL过滤

RocketMQ 过滤消息分为两种,一种tag过滤,另外一种是复杂的sql过滤。 tag过滤 首先创建producer然后启动,在这里创建了字符串的数组tags。字符串数组里面放置了多个字符串,然后去发送15条消息。 15条消息随着i的增长,…

[Redis#14] 持久化 | RDB | bgsave | check-rdb | 灾备

目录 0.概述 持久化的策略 1 RDB 1.1 触发机制 1.2 流程说明 1.3 RDB 的优缺点 0.概述 在学习 MySQL 数据库时,我们了解到事务的四个核心特性:原子性、一致性、持久性和隔离性。这些特性确保了数据库操作的安全性和可靠性。当我们转向 Redis 时&a…

AI大模型驱动数据分析:利用自然语言实现数据查询与可视化(1)

在当今AI驱动的时代,数据分析已成为各行各业不可或缺的能力。然而,传统的数据分析流程通常需要掌握SQL、数据处理和可视化等多项专业技能,这对非技术背景的业务人员来说是一个不小的挑战。 想象一下,当数据中心的负责人打开手机时…

Python_Flask03

这篇文章主要介绍的是数据库的增删改查操作,无多余好说的。 from flask import Flask from flask_sqlalchemy import SQLAlchemy from sqlalchemy import text from flask_migrate import Migrateapp Flask(__name__)# 本地基础信息的主机名 HOSTNAME "127.0…

在.NET 6中使用Serilog收集日志

此示例的完整详细信息:https://download.csdn.net/download/hefeng_aspnet/89998498 Serilog 是一个日志库,它提供对文件、控制台和其他几个地方的记录。它易于配置,并且具有干净且易于使用的界面。 Serilog具有无与伦比的输出目的地选择&…

【设计模式系列】备忘录模式(十九)

目录 一、什么是备忘录模式 二、备忘录模式的角色 三、备忘录模式的典型应用场景 四、备忘录模式在Calendar中的应用 一、什么是备忘录模式 备忘录模式(Memento Pattern)是一种行为型设计模式,它允许在不暴露对象内部状态的情况下保存和恢…

网络安全技术详解:虚拟专用网络(VPN) 安全信息与事件管理(SIEM)

虚拟专用网络(VPN)详细介绍 虚拟专用网络(VPN)通过在公共网络上创建加密连接来保护数据传输的安全性和隐私性。 工作原理 VPN的工作原理涉及建立安全隧道和数据加密: 隧道协议:使用协议如PPTP、L2TP/IP…

面阵相机的使用和注意事项

引言 面阵相机(Area Scan Camera)是一种广泛应用于工业视觉、医学成像、安防监控以及科研领域的图像采集设备。与线扫相机不同,面阵相机的传感器包含多行像素(例如1280x1024、1920x1080等),能够在一个曝光…

Android 车载虚拟化底层技术-Kernel4.19-Android10(双card)技术实现

Android Display Graphics系列文章-汇总 前言 对于Linux和Android来说,只要是多屏(>2)显示的场景都可以显示虚拟化。只是大部分场景对显示稳定性没有要求,系统异常了就都不显示了。但对于容器相关方案,或要求显示隔离的场景,是…

02 conda常用指令

目录 命令快速查找命令详细解释列出当前conda中存在的解释器环境使用指定的解释器环境创建虚拟环境激活自己创建的虚拟环境虚拟环境删除切换回主环境找到你计算机中安装的miniconda3的跟目录找到虚拟环境的目录选择需要删除的虚拟环境文件夹确认环境是否删除 补充删除虚拟环境指…

【C++】赋值运算与变量交换的深入探讨

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯赋值操作符与连续赋值💯常见复合赋值符及其功能💯位操作符中的复合赋值符💯题目一:账户余额练习题目描述代码实现运行结果分…

HarmonyOS:使用HTTP访问网络

HTTP 一、导入http模块 module.json5里添加网络权限 导入http模块 二、创建http请求 创建http请求 import { http } from kit.NetworkKitfunction getNetData() {// 创建数据请求对象let httpRequest http.createHttp() }三、发起请求 请求方法 四、请求示例 GET请求 PO…

KernelShark在ubuntu24.04.01的编译

KernelShark在ubuntu24.04.01的编译 写在前面具体过程装ubuntu24.04.01安装depends下载代码如何编译cmake 输出make 输出 如何安装 初步启动Add the User to the perf Group 简单的使用trace-cmd抓包 来看我的文章,必有所得。 平凡中,总有我帮您踩过的坑…

【48】Android通过libjpeg-turbo库实现图片压缩

(1)公司为节约图片占用服务器存储资源成本,需要对Android手机客户端所传递到云存储服务器中的图片进行压缩,在不影响图片失真程度的情况下,最大限度的压缩图片以节省图片所占用的存储空间。 (2)…

vue.js学习(day 18)

实例:面经基础版 (功能)组件缓存 keep-alive 小结 main.js import Vue from vue import App from ./App.vue import router from ./routerVue.config.productionTip falsenew Vue({ //注入,将路由对象注入到new Vue实例中,建立关联render: h > …