linux 权限管理命令

权限管理命令

权限的查看及含义

可以使用ls -l来查看每个文件或目录的权限,一共有十位

ls -ls

-------------------------------------------------------------------

-rw-------. 1 root root   946 Feb 14 16:13 anaconda-ks.cfg
drwxr-xr-x. 2 root root  4096 Feb 15 15:47 Desktop

  • 第 1 个字符表示文件类型,其中,普通文件 (-)、目录文件 (d)、套接字文件 (s),管道文件 (p),字符设备文件 (c),块设备文件 (b),软链接文件 (l);
  • 第 2 个字符开始的 rwxr-xr-x 部分表示文件的权限位,共有 9 位。每三位为一组,分别为所有者的权限u、所属组的权限g、其他人权限o
    • 第 2~4 位的 rwx 表示该文件可被它的 所有者以 r(读) 或 w(写) 或 x(执行) 的权限访问。
    • 第 5~7 位的 r-x 表示该文件可被与该文件同一所有组的用户以 r 或 x 的权限访问
    • 第 8~10 位的 r-x 表示该文件可被其它未知用户以 r 或 x 的权限访问。

权限修改

使用设置权限的命令 chmod

#chmod [设置权限的对象]+/-[权限] [文件] 
#  设置权限的对象包括 所有者、所属组、其他这三类。u表示文件的所有者,g表示文件的所属组,o代表其他人  
# +代表增加权限,-代表去掉权限  
# 文件的权限就是读、写和执行,分别用r、w、x表示
chmod g+w abc.txt

#
多个设置权限可以使用逗号分隔
chmod u+x,g+w abc.txt

数字权限

使用字母设置权限命令比较长,linux支持使用数字来替代权限,计算为二进制111

  • 4 代表r权限,读权限
  • 2 代表w权限,写权限
  • 1 代表x权限,执行权限

可以使用多个数字加和的方式来设置权限

#设置u权限为7=4+2+1,设置g权限为5=4+1,设置o权限为5=4+1
chmod 755 abc.txt

用户操作

添加用户

#添加用户
#useradd 用户名
useradd user1

#
给user1设置密码
#passwd 用户名
passwd user1

修改文件所有者

#chown 用户名 文件
chown user1 abc.txt
#chown 用户名:组名 文件
chown user1:user1 abc.txt

-R 递归式改变指定目录及目录下所有文件和子目录 
-v 显示 chown 命令所做的工作

修改所属组

#chgrp 组名 文件名
chgrp user1 abc.txt

-R 递归式改变指定目录及目录下所有文件和子目录

ACL操作

ACL是用来解决用户对文件身份不足的问题,上述权限管理只能对三类人群进行权限区分,这明显是不够的,所以出现了ACL操作

先确认一下acl是否开启(一般情况下acl是开启的)

# dumpe2fs 查询指定分区详细文件系统信息的命令
# 这里我的sda1是根分区,
dumpe2fs -h /dev/sda1

-h 只显示超级块中的信息,不显示磁盘块组的信息

-----------------------------
#如果在查询结果中找到Default mount options:    user_xattr acl则说明acl是开启状态

如果acl没有开启

#重新挂载根分区
mount -o remount,acl /

ACL基本命令

查看文件acl权限

getfacl 1.txt

-----------------
# file: 1.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--

设定acl权限

#setfacl [options] 文件名
setfacl -m u:test1:6 1.txt
-----------------
-m u:用户名:权限 | g:组名:权限  设定acl权限
-b  删除acl权限
-R 递归,只能作用于目录,将权限同样赋给目录中的文件  setfacl -m u:test1:6 -R src  只能对已存在的文件设置权限
                                             setfacl -m d:u:test1:6 -R src  对以后创建的文件也生效,d表示默认

sudo授权

给普通用户赋予部分管理员权限

https://zhhll.icu/2021/linux/基础/linux权限管理/

本文由 mdnice 多平台发布

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

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

相关文章

互联网摸鱼日报(2023-08-31)

互联网摸鱼日报(2023-08-31) 36氪新闻 融创中期业绩解读:物管、文旅增长态势明显 卓越商企服务公布上半年成绩单:夯实发展基础,高派息回馈股东 让手机连上卫星,到底有多难? 企业数字化转型不要盲目跟风瞎折腾 东方…

Qt 解析XML文件 QXmlStreamReader

如何使用QXmlStreamReader来解析格式良好的XML,Qt的文档中指出,它是一种更快、更方便的Qt自己的SAX解析器(QXmlSimpleReader)的替代,它也较快,在某种情况下,比DOM(QDomDocument&…

c++ | time 小结

通过查看源码分析 namespace std {using ::clock_t; // clock_t x; X clock(); //获取程序跑了多久using ::time_t; // time_t y; y time(NULL); //从纪元开始计算 相当于程序从1970年开始跑// 获取当前时间 time_t current_time; //current_time time(NULL); //或…

【MySQL系列】-ORDER BY……HAVING详解及limit

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

MongoDB实验——在Java应用程序中操作 MongoDB 数据

在Java应用程序中操作 MongoDB 数据 1. 启动MongoDB Shell 2. 切换到admin数据库,使用root账户 3.开启Eclipse,创建Java Project项目,命名为MongoJava File --> New --> Java Project 4.在MongoJava项目下新建包,包名为mo…

Android scrollTo、scrollBy、以及scroller详解 自定义ViewPager

Scroller VelocityTracker VelocityTracker 是一个速度跟踪器,通过用户操作时(通常在 View 的 onTouchEvent 方法中)传进去一系列的 Event,该类就可以计算出用户手指滑动的速度,开发者可以方便地获取这些参数去做其他…

【期末复习笔记】计算机操作系统

计算机操作系统 进程的描述与控制程序执行进程进程的定义与特征相关概念定义特征进程与程序的区别 进程的基本状态和转换PCBPCB中的信息作用PCB的组织方式 线程进程与线程的比较 处理机调度与死锁处理机调度处理机调度的层次 调度算法处理机调度算法的目标处理机调度算法的共同…

大语言模型之五 谷歌Gemini

近十年来谷歌引领着人工智能方向的发展,从TensorFlow到TPU再到Transformer,都是谷歌在引领着,然而,在大语言模型上,却被ChatGPT(OpenAI)抢了风头,并且知道GPT-4(OpenAI&a…

7.Oracle视图创建与使用

1、视图的创建与使用 在所有进行的SQL语句之中,查询是最复杂的操作,而且查询还和具体的开发要求有关,那么在开发过程之中,程序员完成的并不是是和数据库的所有内容,而更多的是应该考虑到程序的设计结构。可以没有一个项…

854之数据结构

一.线性表 1.顺序表 #include <iostream> #include<stdlib.h> using namespace std; #define max 100 typedef struct {int element[max];int last; } List; typedef int position ; void Insert(int x, position p, List &L) {position q;if (L.last > ma…

关于Vue CLI项目 运行发生了 less-lorder错误的解决方案

Module node found :Error: Can’t resolve ‘less-loader’ 报错 文章目录 Module node found :Error: Cant resolve less-loader 报错解决方案&#xff1a;安装 webpack 和 less安装 less-loader 问题&#xff1a; 在运行vue项目的时候发生&#xff1a; Module not found: Er…

删除无点击数据offer数据分析使用

梳理思路&#xff1a; 1、 获取 7month 和 8month fullreport 报表中 所有offer&#xff1b;输出结果&#xff1a;offerid&#xff0c; totalClickCount&#xff1b; 2、 分析数据7month totalClickCount0 and 8month totalClickCount0 的offer去除&#xff1b; result.…

Python报错DeprecationWarning: invalid escape sequence ‘\T‘

在Python中&#xff0c;如果在字符串中使用反斜杠&#xff0c;需要使用转义字符&#xff08;例如\n代表换行符&#xff09;。当您需要一个反斜杠时&#xff0c;但没有转义字符时&#xff0c;会出现上述错误。 为了解决此错误&#xff0c;您可以在路径字符串前面添加“r”以表示…

【教程分享】Docker搭建Zipkin,实现数据持久化到MySQL、ES

1 拉取镜像 指定版本&#xff0c;在git查看相应版本&#xff0c;参考&#xff1a; https://github.com/openzipkin/zipkin 如2.21.7 docker pull openzipkin/zipkin:2.21.7 2 启动 Zipkin默认端口为9411。启动时通过-e server.portxxxx设置指定端口 docker run --name zi…

数据结构--KMP算法

模板&#xff1a; // s[]是长文本&#xff0c;p[]是模式串&#xff0c;n是s的长度&#xff0c;m是p的长度 求模式串的Next数组&#xff1a; for (int i 2, j 0; i < m; i ) {while (j && p[i] ! p[j 1]) j ne[j];if (p[i] p[j 1]) j ;ne[i] j; }// 匹配 f…

Windows系统下几个占用C盘比较大空间的程序及位置

WPS 1G C:\Users\Thinkpad\AppData\Roaming\kingsoft\wps\addons\ VSCode 10G C:\Users\Thinkpad\AppData\Roaming\Code\User\workspaceStorage\ Python的模块 可以使用虚拟环境venv Maven本地缓存 更改配置文件&#xff0c;设置缓存位置 NodeJS 配置全局变量和模块存放位置…

无涯教程-Android - RadioGroup函数

RadioGroup类用于单选按钮集。 如果我们选中属于某个单选按钮组的一个单选按钮,它将自动取消选中同一组中以前选中的任何单选按钮。 RadioGroup属性 以下是与RadioGroup控制相关的重要属性。您可以查看Android官方文档以获取属性的完整列表以及可以在运行时更改这些属性的相关…

IDEA、git如何修改历史提交commit的邮箱

第一种情况&#xff1a;当前提交不是从其他分支clone过来的&#xff1a; step1&#xff1a; git log 查看提交日志&#xff0c;获取commit ID step2&#xff1a; git rebase -i [你的commitID] git rebase -i c2ef237854290051bdcdb50ffbdbb78481d254bb step3&#xff1a;…

可视化工具 netron pt 转 onnx 格式

用于学习记录 文章目录 前言一、Netron 在线使用二、pt 格式转换为 ONNX 格式总结 前言 Netron 是一个开源的网络可视化工具&#xff0c;可以帮助开发人员和数据科学家可视化、理解和调试深度学习模型。它支持多种常见模型格式&#xff0c;如 TensorFlow、PyTorch、ONNX、Caff…

企业网络安全:威胁情报解决方案

什么是威胁情报 威胁情报是网络安全的关键组成部分&#xff0c;可为潜在的恶意来源提供有价值的见解&#xff0c;这些知识可帮助组织主动识别和防止网络攻击&#xff0c;通过利用 STIX/TAXII 等威胁源&#xff0c;组织可以检测其网络中的潜在攻击&#xff0c;从而促进快速检测…