当前位置: 首页 > news >正文

Linux - 权限

文章目录

    • 一、用户
    • 二、文件


一、用户

1、Linux下有两种用户:超级用户(root)、普通用户。

超级用户:可以再linux系统下做任何事情,不受限制 。
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

2、su指令
(1)功能

su指令是Linux系统中用于切换用户身份的重要命令。

(2)语法

su [选项] [用户名]

(3)常用选项

-c:在切换用户身份后执行指定的命令,然后退回到原始用户身份。例如,su -c “ls /root” username会在切换到username用户后执行ls /root命令,然后退出。
-l 或 -:模拟用户登录过程,加载目标用户的环境变量和shell配置文件,如同用户真正登录一样。如果不带用户名,则默认切换到root用户。例如,su -或su -l会切换到root用户,并加载root的环境变量。
-s:指定切换用户后要使用的shell。例如,su -s /bin/bash username会在切换到username用户后,使用bash作为其shell。
-m 或 -p 或 --preserve-environment:在切换用户时保留当前用户的环境变量,不改变环境变量。这个选项与-l是互斥的,通常不建议同时使用。
-u:指定要切换到的目标用户ID或用户名。例如,su -u 1000或su -u username。
–help:显示su命令的帮助信息。
–version:显示su命令的版本信息。

(4)举例
由普通用户切换到root用户。

su -	//或者su

由root用户切换到普通用户,并且回到普通用户的家目录下。

su -l xzy

3、添加和删除普通用户

只能在root账户下添加新普通用户,或者使用sudo指令提权。

命令:
添加普通用户。

adduser 用户名

设置密码,系统会提示我们输入两次密码。

passwd 用户名

删除普通用户。

userdel 用户名

如果想要同时删除用户的主目录和邮件目录,可以添加-r(或–remove)选项: userdel -r 用户名。

4、查看当前用户
普通账户的目录都存在家目录的/home中。

cd /home

5、查看当前用户是谁和登录信息
(1)whoami 命令

whoami 命令用于显示当前用户的用户名。这是最直接和常用的方法之一。

whoami

(2)who命令

who
命令显示当前登录系统的所有用户的信息,包括用户名、登录终端、登录时间等。虽然这不是直接查看当前用户的方法,但它可以让你了解当前系统上有哪些用户登录。

who

6、sudo指令
(1)介绍与功能

sudo(superuser do 或 substitute userdo)是Linux和类Unix系统中一个非常有用的命令,它允许系统管理员授权某些用户(或用户组)以另一个用户的安全权限(通常是root用户)来运行命令。这与su命令(switch user 或 substitute user)的主要区别在于,sudo不需要知道目标用户的密码(如root),而是需要知道当前用户的密码,并且该用户必须被/etc/sudoers文件明确授权。

(2)给普通用户授权
步骤:在根目录下打开etc/sudoers文件,然后找到下面更改,就可以了。

用户名    ALL=(ALL)       ALL

在这里插入图片描述
(3)特点

(1)安全性:sudo提供了比su更高的安全性,因为它允许管理员精确地控制哪些用户(或用户组)可以运行哪些命令。
(2)审计追踪:所有通过sudo执行的命令都会被记录在日志中(通常是/var/log/auth.log或/var/log/secure),这使得系统管理员可以追踪哪些用户何时执行了哪些命令。
(3)无密码操作:在某些情况下,管理员可以配置/etc/sudoers文件,使得某些用户或用户组在特定条件下执行特定命令时无需输入密码。
(4)限制用户行为:通过/etc/sudoers文件,管理员可以限制用户只能执行某些命令,甚至只能以特定的用户身份执行这些命令。

(4)语法

sudo [选项] [命令]

(5)常用选项

-i,–login:以目标用户(通常是root)的身份登录shell。这与su -相似。
-u <用户>:以指定的用户身份执行命令。默认情况下,sudo会以root用户身份执行命令。
-l:列出当前用户可以执行的命令。
-v:验证用户的密码,并在用户下次使用sudo时不会要求再次输入密码(这取决于sudo的配置)。

(6)举例

使用普通用户执行需要root用户的命令。

sudo cat test.txt	//假设该命令普通用户无法执行

按下回车后需要输入当前用户密码。

二、文件

1、文件包含什么?

文件 = 文件内容 + 文件属性
文件内容:文件内容通常指的是存储在文件中的数据或信息。
文件属性:如作者、文件大小、权限(读写执行)等。

2、文件访问者的分类

文件和文件目录的所有者:u—User 。
文件和文件目录的所有者所在的组的用户:g—Group 。
其它用户:o—Others。

3、Linux下的文件属性
在这里插入图片描述
(1)文件类型

d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

(2)基本权限

i.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限 。
ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限 。
iii.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。

(3)Linux下权限的表示
对于普通文件:

字符表示:rw- 具有读写的权限但不具有执行的权限 。
八进制表示:110 具有读写的权限但不具有执行的权限。
补充:能否执行一个文件不仅需要看执行权限,还需要看当前文件是否有执行的能力。

4、文件访问权限的相关设置方法

说明:只有文件的拥有者和root才可以改变文件的权限。

(1)chmod指令
功能:

设置文件的访问权限。

语法:

chmod [选项] 权限 文件名

常用选项

R -> 递归修改目录文件的权限。

权限

用户表示符+/-=权限字符
实例:
+:向权限范围增加权限代号所表示的权限 。
-:向权限范围取消权限代号所表示的权限 。
=:向权限范围赋予权限代号所表示的权限 。
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

举例
设置其他用户也能读写文件file.txt

chmod o+rw file.txt

使用3位8进制数字修改文件权限
举例
将所有者的权限设置为读写,所属组和其他用户设置为只读。

chmod 644 file.txt

(2)chown指令
功能

修改文件的拥有者。

语法

chown [选项] 用户名 文件名 

常用选项

-R 或 --recursive: 递归地更改指定目录及其内部所有文件和子目录的所有者。

举例
修改文件file.txt的拥有者为用户xu

chown xu file.txt

递归的修改目录dir的拥有者为xu

chown -R xu dir 

(3)chgrp 指令
功能

修改文件或目录的所属组。

语法

chgrp [选项] 用户组名 文件名

常用选项

-R 递归修改文件或目录的所属组。

举例
修改文件file.txt所属组为xu

 chgrp xu file.txt

修改目录dir的所属组为root

sudo chgrp -R root dir

普通用户将文件修改为root用户时需要越权处理。

(4)umask指令
功能

查看或修改文件掩码。
说明:
(1) 新建文件夹默认权限=0666 ,新建目录默认权限=0777。
(2)但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask 。
(3)超级用户默认掩码值为0022,普通用户默认为0002。

语法

umask 权限值 

举例
查看文件掩码

umask

修改文件掩码为0001

umask  0001

(5)file指令
功能

它通过分析文件的头部信息或内容来识别文件类型,而不是仅仅依赖于文件的扩展名。

语法

file [选项] 文件或目录...

常用选项

-c :详细显示指令执行过程,便于排错或分析程序执行的情形。
-z :尝试去解读压缩文件的内容。

举例
查看文件file.txt的文件类型。

file file.txt

查看压缩文件的类型

file file.zip

5、粘滞位
(1)介绍

在Linux系统中,粘滞位(Sticky Bit)是一个特殊的权限标志,它主要用于目录上,以保护目录中的文件不被非所有者用户随意删除或重命名。粘滞位是Unix文件系统权限的一个旗标,首次引入是在Unix的第5版中,但最初并不是用于目录保护,而是用于设置可执行文件。不过,随着Unix和Linux系统的发展,粘滞位的主要应用逐渐转变为对目录的保护。

(2)功能

(1) 保护目录中的文件:当目录设置了粘滞位后,只有该目录的所有者、文件的所有者或超级用户(root)才能删除或重命名该目录下的文件或子目录。这有助于防止非文件所有者用户误删或误操作重要文件。
(2)提升系统安全性:在公共目录(如/tmp)中设置粘滞位,可以防止普通用户删除或移动其他用户的临时文件,从而保护系统的稳定性和安全性。

(3)设置粘滞位

chmod +t 目录名

(4)注意事项

(1)粘滞位只对目录有效,对文件无效。
(2)粘滞位只能防止文件被非所有者用户删除或重命名,但不能阻止其他用户读取、写入或执行文件(具体取决于文件的其他权限设置)。
(3)粘滞位不能阻止其他用户往该目录中添加新的文件或子目录。
(4)只有目录的所有者、文件的所有者或超级用户(root)才能删除或重命名设置了粘滞位的目录中的文件或子目录。

6、文件确认用户身份
按照拥有者、所属组、其他用户的顺序确认、并且身份确定过程只会确定一次。
在这里插入图片描述

相关文章:

Linux - 权限

文章目录 一、用户二、文件 一、用户 1、Linux下有两种用户&#xff1a;超级用户&#xff08;root&#xff09;、普通用户。 超级用户&#xff1a;可以再linux系统下做任何事情&#xff0c;不受限制 。 普通用户&#xff1a;在linux下做有限的事情。 超级用户的命令提示符是“…...

免费图形化nginx管理工具nginxWebUI

nginxWebUI是一款图形化管理nginx配置得工具, 可以使用网页来快速配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, 静态html服务器, ssl证书自动申请、续签、配置等, 配置好后可一建生成nginx.conf文件, 同时可控制nginx使用此文件进行启动与重载, 完…...

编程上的挫折不可怕,可怕的是你畏惧了

如何克服编程学习中的挫折感 编程学习之路上&#xff0c;挫折感就像一道道难以逾越的高墙&#xff0c;让许多人望而却步。然而&#xff0c;真正的编程高手都曾在这条路上跌倒过、迷茫过&#xff0c;却最终找到了突破的方法。那么&#xff0c;我是如何在Bug的迷宫中找到出口的&…...

docker逃逸手法

docker逃逸手法 基本docker操作docker 命令dockerfilesDocker Compose漏洞利用容器漏洞 基本docker操作 docker 命令 # docker拉取 docker pull # 指定版本拉取 docker pull ubuntu:22.04# 显示镜像可执行的操作 docker image # 列出存储在本地系统上的所有图像 docker image…...

3 pytest Fixture

3 pytest Fixture 3.1 通过 conftest.py 共享 fixture3.2 使用 fixture 执行配置及销毁逻辑3.3 使用 --setup-show 回溯 fixture 的执行过程3.4 使用 fixture 传递测试数据3.5 使用多个 fixture3.6 指定 fixture 作用范围3.7 使用 usefixtures 指定 fixture3.8 为常用 fixture …...

pinctl 和 gpio子系统驱动

一.设备树中添加pinctl节点模板 1.创建对应的节点 同一个外设的 PIN 都放到一个节点里面&#xff0c;打开 imx6ull-14x14-evk.dts&#xff0c;在 iomuxc 节点 中的“imx6ul-evk”子节点下添加 “pinctrl_test” 节点。添加完成以后如下所示&#xff1a; pinctrl_test:test_g…...

RocketMQ消息堆积了怎么解决?

RocketMQ 的消息堆积&#xff0c;一般都是因为客户端本地消费过程中&#xff0c;由于消费耗时过长或消费并发度较小等原因&#xff0c;导致客户端消费能力不足&#xff0c;出现消息堆积的问题。 当线上出现消息堆积的问题时&#xff0c;一般有以下几种方式来解决: 增加消费者…...

C++第十二弹 -- STL之list模拟实现

文章索引 前言模拟实现list1. ListNode节点类2. list的迭代器封装3. 反向迭代器4. list类的模拟实现测试代码 list的反向迭代器总结 前言 通过模拟实现可以让我们更加深刻的理解C底层STL的实现逻辑, 本篇就对list的底层进行模拟实现. 博客主页: 酷酷学!!! 点击关注 共同进步!…...

Destiny of Gods首轮测试正式开启,参与玩家数量突破10万

天神风云&#xff0c;波澜再兴&#xff0c;GameFi链游聚合平台Destiny of Gods首款同名数字卡牌回合制游戏首轮测试定档8月20日20:00&#xff08;GMT8&#xff09;&#xff0c;现已正式开启&#xff01; 这是一个由人、游灵和神灵共存的世界&#xff0c;历经蛮荒时期的纷争与信…...

QT聊天室基于Tcp

server.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),server(new QTcpServer(this)) // 给服务器指针对象实例化空间{ui->setupUi(this); }Widget::~Widget() {delete ui; }…...

公开课观后感:密歇根大学python for everyone

从2024年1月17日到2024年8月20日&#xff0c;终于将密歇根大学的python for everyone的python公开课跟完。站在一月份规划的时刻来看&#xff0c;比我想象中花费的时间更多&#xff0c;我当时肯定没有想到要花上整整七个月的时间才能将这个公开课的内容看完&#xff0c;毕竟这个…...

goweb框架-gin

文章目录 Gin框架概览Gin框架的特点Gin框架的安装和基本使用安装基本使用 路由系统路由的基本概念Gin框架路由的特点 Radix Tree&#xff08;基数树&#xff09;基数树的定义和原理基数树在Gin框架中的应用节省空间的优化动态路由和通配符处理 路由树的构建注册路由的过程路由树…...

2024年接口测试高频面试题及答案

1. 什么是接口测试&#xff1f; •接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求 •测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系 2. 为什么要做接口…...

ESP32-C3在MQTT访问时出现“transport_base: Poll timeout or error”问题的分析(8)

接前一篇文章:ESP32-C3在MQTT访问时出现“transport_base: Poll timeout or error”问题的分析(7) 前边几回分析了笔者在MQTT测试时所遇到的问题: 最终定位到了是由于components\components\tcp_transport\transport_ssl.c的base_poll_write函数中调用的select函数超时返回…...

Linux: 忘记密码的解决方法,passwd

https://www.redhat.com/sysadmin/recover-root-passwd 这里的方法很简单&#xff0c;就是通过console进去&#xff0c;添加一个启动参数&#xff0c;加载sysroot&#xff0c;然后用passwd命令修改密码。这个是RHEL7适用。 https://access.redhat.com/solutions/1192 这个是提…...

36. 有效的数独【 力扣(LeetCode) 】

一、题目描述 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 &#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#xff08;请参考示例图…...

机器学习中的没有免费午餐定理

嘿&#xff0c;各位机器学习的爱好者们&#xff01;今天&#xff0c;让我们一起深入探讨机器学习中那个神秘而又重要的概念——没有免费午餐定理。 一、定理引入&#xff1a;探索算法森林的钥匙 在广阔无垠的机器学习领域中&#xff0c;免费午餐定理就如同一把神奇的钥匙&…...

高级java每日一道面试题-2024年8月21日-框架篇[Spring篇]-使用IOC容器应该注意哪些?

如果有遗漏,评论区告诉我进行补充 面试官: 使用IOC容器应该注意哪些? 我回答: 1. 理解IOC的基本概念 控制反转&#xff1a;在传统的编程模式中&#xff0c;程序会主动控制依赖关系的创建和管理。而在IoC容器中&#xff0c;这种控制权被反转给了容器本身。程序员只需要声明…...

LLM训练推理相关概念

1. 有监督微调&#xff08;Supervised Fine-Tuning&#xff09;与指令微调&#xff08;Instruction Fine-Tuning&#xff09;对模型参数的影响 **有监督微调&#xff08;Supervised Fine-Tuning, SFT&#xff09;和指令微调&#xff08;Instruction Fine-Tuning, Instruct-Tun…...

IP in IP 协议

IP in IP 是一种多重IP协议&#xff0c;即&#xff1a;客户机可以发送一个IP协议内部在嵌套一个IP协议到某个特定的主机上&#xff0c;在由具体的主机作为路由进行转发的协议。 例如&#xff1a; IP in IP帧协议结构为&#xff0c;第一层为发送到IP in IP 路由主机的报文&…...

DAY2: HTTP请求报文和响应报文是怎样的,有哪些常见的字段?| HTTP有哪些请求方式?| GET请求和POST请求的区别

目录 HTTP请求报文和响应报文是怎样的&#xff0c;有哪些常见的字段&#xff1f; 请求报文 响应报文 HTTP有哪些请求方式&#xff1f; GET请求和POST请求的区别 HTTP请求报文和响应报文是怎样的&#xff0c;有哪些常见的字段&#xff1f; HTTP报文分为请求报文和响应报文…...

线性代数:每日一题1/特征值与相似对角化

设A, B 为二阶矩阵&#xff0c;且 AB BA , 则“A有两个不相等的特征值”是“B可对角化"的&#xff08;&#xff09; A. 充分必要条件 B. 充分不必要条件 C.必要不充分条件 D.既不充分也不必要条件 知识点&#xff1a; 特征向量与特征值的关系 相似矩阵的定义和性质 n阶…...

Android UI:PopupWindow:API

文章目录 类操作 对PopupWindow的操作 创建PopupWindow对象的操作添加并显示PopupWindow的操作移除PopupWindow的操作更新PopupWindow的操作显示内容的相关操作 布局的相关操作进入退出动画的相关操作 Transition设置进入动画的相关操作Transition设置退出动画的相关操作XML设置…...

什么是DevUI?

DevUI是面向企业中后台产品的开源前端解决方案&#xff0c;其设计价值观基于"高效、开放、可信、乐趣"四种自然与人文相结合的理念&#xff0c;旨在为设计师、前端开发者提供标准的设计体系&#xff0c;并满足各类落地场景&#xff0c;是一款企业级开箱即用的产品。 …...

DAY53

作业&#xff1a; 运行1个服务器和2个客户端 实现效果&#xff1a; 服务器和2个客户端互相聊天&#xff0c;服务器和客户端都需要使用select模型去实现 服务器要监视2个客户端是否连接&#xff0c;2个客户端是否发来消息以及服务器自己的标准输入流 客户端要监视服务器是否发来…...

python中len是什么

Python len() 方法返回字符串长度。 len()方法语法&#xff1a; len( str ) 返回值&#xff1a; 返回字符串长度。 以下实例展示了len()的使用方法&#xff1a; #!/usr/bin/python str "this is string example....wow!!!"; print "字符串长度: ", len…...

推荐一个开源的kafka可视化客户端GUI工具(Kafka King)

大佬的博客地址&#xff1a; https://blog.ysboke.cn/posts/tools/kafka-king Github地址&#xff1a; https://github.com/Bronya0/Kafka-King Kafka-King功能清单 查看集群节点列表&#xff08;完成&#xff09;支持PLAINTEXT、SASL PLAINTEXT用户名密码认证&#xff08;完…...

day 10 贪心算法

455. 分发饼干 饼干从大的开始利用&#xff0c;优先满足胃口大的&#xff1b; class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(),g.end());sort(s.begin(),s.end());int res0;int indexs.size()-1;for…...

网络安全审计技术原理与应用

网络安全审计概述 概念 定义:对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作 作用:建立“事后”安全保障措施,保存网络安全事件及行为信息,为网络安全事件分析提供线索及证据,以便发现潜在网络安全威胁行为,开展网络安全风险分析及管理 常…...

计算机网络之TCP序号,确认序号和报文传输时间

开篇提示 本篇适合于了解基础知识&#xff0c;进行扩展提高的使用&#xff0c;附带考研习题以及解析。 TCP序号和确认序号的区别 TCP首部中有序号和确认序号&#xff0c;他们都是4个字节&#xff08;4B&#xff09;&#xff0c;且在数据传输中有很重要的意义&#xff0c;那么两…...

怎么可以做网站/如何给公司做网络推广

最近两天在学习sqlite数据库&#xff0c;sqlite数据库是轻量级的&#xff1b;但是自我认为有一个不好的地方就是不能写存储过程&#xff1b;连接.net的字符串可以直接写路径就可以&#xff08;SQLiteConnection conn new SQLiteConnection("Data SourceC:\Users\jxx\Desk…...

怎么取网页视频网站元素/网页模板建站系统

&#x1f3c6;今日学习目标&#xff1a; &#x1f340;JDBC事务 Hibernate事务 EJB事务详解 ✅创作者&#xff1a;林在闪闪发光 ⏰预计时间&#xff1a;30分钟 &#x1f389;个人主页&#xff1a;林在闪闪发光的个人主页 &#x1f341;林在闪闪发光的个人社区&#xff0c;欢迎你…...

wordpress顶栏/生意参谋指数在线转换

mule任务允许你发送消息给mule&#xff0c;增强了Flowable的集成功能。请注意&#xff0c;Mule任务不是 BPMN 2.0规范的正式任务&#xff08;因此没有专门的图标&#xff09;。因此&#xff0c;在Flowable中&#xff0c;mule任务被实现为一个专门的服务任务。 1、定义一个骡子…...

买域名做网站表白/如何推广网站运营

Solution转载于:https://www.cnblogs.com/qt666/p/7501976.html...

网站友情链接模板/在线生成网页网站

Web端自动化元素定位方法 随着互联网的快速发展&#xff0c;版本迭代周期越来越短&#xff1f;需求越来越多&#xff1f;测试工作量越来越大&#xff1f;怎么保证质量&#xff1f;怎么保证上线周期&#xff1f;。如何实现既提高测试效率和覆盖率&#xff0c;又节约测试成本&…...

杭州网站建设网站制作/潍坊自动seo

Network penetration test experiment _1&#xff1a; Network scanning & Network investigation 目录Network penetration test experiment _1&#xff1a; Network scanning & Network investigation实验目的系统环境网络环境实验工具实验步骤1. 文档查找2. 地址查询…...