心路历程-Linux如何赋予权限?

学习到现在,我们可以发现,Linux的世界绝对是离不开命令的;

每一个功能的实现都离不开对应的命令;有些系统的命令是原生就有的,有些命令就是你安装好了软件之后才会有的;

不过不管怎么样,如果想要修改 文件的权限,就离不开学习对应的命令;

而今天我们就一起聊聊用户的相关命令

chmod命令:

  • 作用:修改用户、组对文件袋额权限
  • 语法:chmod + 选项 + 【ugo】+ 【±=】+【rwx】+ 文件
    • u:所有者;g:所属组;o:其他人;
    • +:添加权限;-:减少权限,=:直接富裕权限
    • r:读;w:写;x:执行权限
  • 选项:
    • -R:递归授权权限;
shell 复制代码
#查看文件的权限
[root@Node0 ~]# ls -l aa.txt 
-rw-r--r-- 1 root root 0 9月   7 19:32 aa.txt
	#现在开始修改权限:
[root@Node0 ~]# chmod u=rwx aa.txt 
	#再次查看发现,文件已经按照我想要的权限展示
[root@Node0 ~]# ls -l aa.txt 
-rwxr--r-- 1 root root 0 9月   7 19:32 aa.txt
	#添加权限
[root@Node0 ~]# ll aa.txt 
-rwxrw-r-- 1 root root 0 9月   7 19:32 aa.txt
	#减少权限
[root@Node0 ~]# chmod u-w aa.txt 
[root@Node0 ~]# ll aa.txt 
-r-xrw-r-- 1 root root 0 9月   7 19:32 aa.txt
	#如果想要目录低下统一调整指定的权限;可以直接使用-R选项
[root@Node0 ~]# mkdir aa/bb/cc -p
[root@Node0 ~]# ls -ld aa aa/bb/ aa/bb/cc/
drwxr-xr-x 3 root root 16 9月   7 19:36 aa
drwxr-xr-x 3 root root 16 9月   7 19:36 aa/bb/
drwxr-xr-x 2 root root  6 9月   7 19:36 aa/bb/cc/
	#那么统一修改就使用-R的选项
[root@Node0 ~]# chmod -R u-w aa
[root@Node0 ~]# ls -ld aa aa/bb/ aa/bb/cc/
dr-xr-xr-x 3 root root 16 9月   7 19:36 aa
dr-xr-xr-x 3 root root 16 9月   7 19:36 aa/bb/
dr-xr-xr-x 2 root root  6 9月   7 19:36 aa/bb/cc/

chmod修改文件或者是目录的权限还有一个就是数字的方法;

Linux的权限默认就是使用rwx来表示的,但是为了简化权限的配置和修改;

Linux也有引入二进制的表示方法;简单理解就是0和1

那么我们来看看它的这个数字的二进制是如何修改权限的?原理又是怎么样的?

shell 复制代码
Linux权限可以将rwx用二进制来表示,其中有权限用1表示,没有权限用0表示;
那么通常:
rwx=111
r-x=101
rw-=110
r--=100

那么如此类推:换算成10进制又是显示多少呢?
rwx=111=4+2+1=7
r-x=101=4+0+1=5
rw-=110=4+4+0=6
r--=100=4+0+0=4

从而我们得出一个算法:r=4;w=2;x=1
这种数字法来表示权限;

那么现在我们就来演示一下数字法如何表示权限;

shell 复制代码
#首先理解一下:
rwx=7
r-x=5
rw-=6
r--=4
#那么我们如果想要什么权限,那么就要赋予数字即可
	#想让aa.txt的文件所有者u拥有rwx权限;g拥有r--权限;o拥有r--权限
[root@Node0 ~]# chmod 744 aa.txt 
[root@Node0 ~]# ll aa.txt 
-rwxr--r-- 1 root root 0 9月   7 19:32 aa.txt
	#这个方法一定要有逻辑来显示;如果想要rw-r--r--的权限
		#首先就是对应到对应的数字:644
	#然后结合命令改变这个权限
[root@Node0 ~]# chmod 644 aa.txt 
[root@Node0 ~]# ll aa.txt 
-rw-r--r-- 1 root root 0 9月   7 19:32 aa.txt

今天比较简单,就一个chmod命令,这个是修改用户权限的命令,练习和说明均在笔记上面;

这里到这里也算是给今天一个交代;一点一输出;积小成多~!

勿忘初心~方得始终!

相关推荐
Hi2024021719 小时前
消除FFmpeg库的SONAME依赖
linux·ffmpeg
电棍23319 小时前
在docker a100云服务器运行vulkan->sapien->robotwin的经验(报错segmentation fault)
运维·docker·容器
gfanbei20 小时前
ARM V8 Cortex R52 上电运行在什么状态?— Deepseek 解答
linux·arm开发·嵌入式硬件
liu****20 小时前
14.日志封装和线程池封装
linux·开发语言·c++
云动雨颤20 小时前
访问宝塔面板安全入口404?SSH命令轻松解决
linux·运维·安全
NPE~21 小时前
[Linux命令分享]日志查看 — — less
linux·运维·less·常用命令·日志查看
赖small强21 小时前
Linux 系统调用在 ARM 上的实现与工作机制
linux·系统调用·内核态·用户态·上下文切换
面向星辰21 小时前
扣子开始节点和结束节点
java·服务器·前端
一匹电信狗1 天前
【C++】封装红黑树实现map和set容器(详解)
服务器·c++·算法·leetcode·小程序·stl·visual studio
大锦终1 天前
【Linux】网络层与数据链路层中重点介绍
linux·运维·服务器·网络