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

Linux的学习之路:4、权限

一、Linux权限的概念

权限我们都熟悉,最常见的就是在看电视时需要vip这个就是权限,然后在Linux就是有两个权限,就是管理员也就是超级用户和普通的用户

命令:su [用户名]

功能:切换用户。

例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 suroot(root可以省略),此时系统会提示输入root用户的口令,测试如下。

[root@VM-24-9-centos ~]# su ly
[ly@VM-24-9-centos root]$ su root
Password: 
[root@VM-24-9-centos ~]# su ly
[ly@VM-24-9-centos root]$ su 
Password: 
^C
[ly@VM-24-9-centos root]$ su
Password: 
[root@VM-24-9-centos ~]#

二、Linux权限管理

1、文件访问者的分类

文件和文件目录的所有者:u---User

文件和文件目录的所有者所在的组的用户:g---Group

其它用户:o---Others 

文件访问者就是这三类。

2、文件类型和访问权限

a、文件类型

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

b、基本权限

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

3、文件权限值的表示方法

如下面两个表格的表示

a、字符表示方法

Linux表示说明

r--

只读
-w-仅可写
--x仅可执行
rw-可读可写
-wx可写和可执行

r-x

可读和可执行
rwx可读可写可执行
---无权限

b、8进制数值表示方法

权限符号(读写执行)八进制二进制
r4100
w2010
x1001
rw6110
rx5101
wx3011
rwx7111
---0000

 

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

使用chmod就可以修改文件的权限功能:设置文件的访问权限,格式:chmod [参数] 权限 文件名,常用选项有

chown功能:修改文件的拥有者,格式:chown [参数] 用户名 文件名 

chgrp功能:修改文件或目录的所属组,格式:chgrp [参数] 用户组名 文件名,常用选项:-R 递归修改文件或目录的所属组

umask功能:查看或修改文件掩码,新建文件夹默认权限=0666,新建目录默认权限=0777,但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
格式:umask 权限值,说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限

①chmod命令权限值的格式

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

示例如下可以看到加上可执行去掉可执行。

[root@VM-24-9-centos ~]# ll
total 132
drwxr-xr-x 5 root root   4096 Mar 24 18:50 d1
-rw-r--r-- 1 root root    179 Mar 24 18:58 d1.tgz
-rw-r--r-- 1 root root    436 Mar 24 18:50 dd.zip
-rw-r--r-- 1 root root     72 Mar 23 23:09 hello.c
-rw-r--r-- 1 root root     29 Mar 24 17:21 t1.txt
-rw-r--r-- 1 root root     29 Mar 24 17:32 t2.txt
-rw-r--r-- 1 root root 108902 Mar 24 09:01 test.txt
[root@VM-24-9-centos ~]# chmod u+x test.txt
[root@VM-24-9-centos ~]# ll
total 132
drwxr-xr-x 5 root root   4096 Mar 24 18:50 d1
-rw-r--r-- 1 root root    179 Mar 24 18:58 d1.tgz
-rw-r--r-- 1 root root    436 Mar 24 18:50 dd.zip
-rw-r--r-- 1 root root     72 Mar 23 23:09 hello.c
-rw-r--r-- 1 root root     29 Mar 24 17:21 t1.txt
-rw-r--r-- 1 root root     29 Mar 24 17:32 t2.txt
-rwxr--r-- 1 root root 108902 Mar 24 09:01 test.txt
[root@VM-24-9-centos ~]# chomd u-x test.txt
bash: chomd: command not found
[root@VM-24-9-centos ~]# chmod u-x test.txt
[root@VM-24-9-centos ~]# ll
total 132
drwxr-xr-x 5 root root   4096 Mar 24 18:50 d1
-rw-r--r-- 1 root root    179 Mar 24 18:58 d1.tgz
-rw-r--r-- 1 root root    436 Mar 24 18:50 dd.zip
-rw-r--r-- 1 root root     72 Mar 23 23:09 hello.c
-rw-r--r-- 1 root root     29 Mar 24 17:21 t1.txt
-rw-r--r-- 1 root root     29 Mar 24 17:32 t2.txt
-rw-r--r-- 1 root root 108902 Mar 24 09:01 test.txt
[root@VM-24-9-centos ~]#  

②三位8进制数字

示例如下对照上面的表就可以更改权限了。

[root@VM-24-9-centos ~]# chmod 000 test.txt
[root@VM-24-9-centos ~]# ll
total 132
drwxr-xr-x 5 root root   4096 Mar 24 18:50 d1
-rw-r--r-- 1 root root    179 Mar 24 18:58 d1.tgz
-rw-r--r-- 1 root root    436 Mar 24 18:50 dd.zip
-rw-r--r-- 1 root root     72 Mar 23 23:09 hello.c
-rw-r--r-- 1 root root     29 Mar 24 17:21 t1.txt
-rw-r--r-- 1 root root     29 Mar 24 17:32 t2.txt
---------- 1 root root 108902 Mar 24 09:01 test.txt
[root@VM-24-9-centos ~]# chmod 644 test.txt
[root@VM-24-9-centos ~]# ll
total 132
drwxr-xr-x 5 root root   4096 Mar 24 18:50 d1
-rw-r--r-- 1 root root    179 Mar 24 18:58 d1.tgz
-rw-r--r-- 1 root root    436 Mar 24 18:50 dd.zip
-rw-r--r-- 1 root root     72 Mar 23 23:09 hello.c
-rw-r--r-- 1 root root     29 Mar 24 17:21 t1.txt
-rw-r--r-- 1 root root     29 Mar 24 17:32 t2.txt
-rw-r--r-- 1 root root 108902 Mar 24 09:01 test.txt
[root@VM-24-9-centos ~]# 
 

相关文章:

  • 某眼实时票房接口获取
  • 记忆力考验游戏-第15届蓝桥第5次STEMA测评Scratch真题精选
  • UniswapV2周边合约学习(五)-- ExampleFlashSwap.sol
  • Acwing.1388 游戏(区间DP对抗思想)
  • [环境配置]conda 64位安装32位python
  • 【大模型】大模型 CPU 推理之 llama.cpp
  • 阿里云通用算力型u1云服务器配置性能评测及价格参考
  • CAD Plant3D 2023 下载地址及安装教程
  • Linux运维-SHELL编程之正则表达式与流编辑处理器
  • 吴恩达:AI 智能体的四种模式
  • 深入PostgreSQL中的pg_global表空间
  • [xboard]real6410-5.2 移植kernel网络驱动
  • 【国信华源2024年首场春季校园招聘面试会举办】
  • 【Rust】基础语法
  • uni app 扫雷
  • 【知识碎片】第三方登录弹窗效果
  • ComponentOne 2017 V2版本正式发布
  • gf框架之分页模块(五) - 自定义分页
  • gops —— Go 程序诊断分析工具
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • NSTimer学习笔记
  • Objective-C 中关联引用的概念
  • Phpstorm怎样批量删除空行?
  • SQLServer之创建数据库快照
  • Web标准制定过程
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 用Python写一份独特的元宵节祝福
  • 云大使推广中的常见热门问题
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • #NOIP 2014# day.1 T2 联合权值
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (2015)JS ES6 必知的十个 特性
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (区间dp) (经典例题) 石子合并
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)平衡树
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET 材料检测系统崩溃分析
  • .NET 回调、接口回调、 委托
  • .Net 应用中使用dot trace进行性能诊断
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NET值类型变量“活”在哪?
  • //解决validator验证插件多个name相同只验证第一的问题
  • @Bean, @Component, @Configuration简析
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [Angular] 笔记 18:Angular Router
  • [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)
  • [BZOJ1060][ZJOI2007]时态同步 树形dp