Linux 文件权限如何在引擎盖下实际工作,为什么符号模式是您最好的朋友,以及如何停止盲目打入chmod
777.
每个Linux工程师都在场 你写一个全新的击掌剧本, 尝试运行它从你的终端, 并击中一个即时的路障: 您打开搜索引擎或向聊天助理求助。
在几秒钟内,你就会找到一个答案,让你跑: 你运行命令,击入,脚本运行。
问题解决了吧?
没有 事实上,你刚刚打开了文件的数码前门 给每个用户和整个操作系统的背景服务 几年前我开始管理Linux服务器时,权限感觉像一个三位数数学问题的奇怪谜题.
人们不停地扔数字:为脚本,网页,SSH键, 每当有东西坏了,没有人知道为什么。
我记下了那些数字 就像电子游戏中的作弊密码 但每当我不得不处理一个真正的许可问题,比如让一个开发团队写入共享日志文件夹,而不让他们删除对方的文件时,被记住的数字会分崩离析.
秘诀如下: 您不需要做二进制数学或记住三位数代码来掌握 Linux 权限 。
Linux有一个内置,人可读的许可语法,称为符号模式.
一旦你明白Linux如何看待文件,谁拥有文件,以及每个权限控制什么动作,就成为了您终端中最直观的工具之一.
让我们分解一下它是如何 一步一步地工作。
1.
什么是chmod实际上做 名称代表更改模式 。
在Unix和Linux系统中,每个单独的文件和目录都有"模式".
该模式决定了允许谁阅读,写给谁,或者运行.
当您运行时, 您只是更新 Linux 文件系统inode 中的访问位点 。
要查看您文件的当前模式, 请打开任何终端并运行 : 看左边那个奇怪的 10 字符串, 如 。
那个单弦告诉你所有你需要知道的文件。
解开来.
2.
打破10章许可字符串 一行开头的10个人物一开始看起来很吓人.
但是,当你把它们分成四个不同的部分, 它们完全合理。
以下是字符串的排列方式: 第1位(文件类型): 第2,3,4位(用户/所有者): 第5,6,7位(组): 第8,9,10位(其他/世界):让我们检查这四个部分的每一部分.
第一个字符:文件类型 第一个字符告诉你您正在查看的项目是: =一个正则文件(文本文档,图像,二进制程序,或 shell脚本). = 目录(文件夹). = 一个符号链接(指向另一个文件或路径的快捷键). = 一个字符设备文件(类似于终端tty或. ). = 一个块设备文件(类似于硬盘分区在.
下. ). = 一个本地Unix域 socket. =一个被命名的管道(FIFO).
大多数时候,您会看到文件和目录 。
三个授权角色("谁") 其余9个角色分为3个等分3个,每个3个字符.
他们回答一个问题:谁可以进入?
用户 (: 拥有文件的个人用户账户.
这通常是创建它的个人或服务账户.
组 ():文件指定的用户组.
任何属于这个团体的人都拥有这些权限.
其他人(:其他人)。
任何用户在机器上的账户,既不是所有者也不是文件组的成员.
每个三胞胎里有三个基本许可("什么"),你会看到三个字母,或者一个破折号(),如果该许可被关闭:=读取许可.
允许读取文件或列出目录内容 。 =写许可.
允许修改文件或创建/删除目录中的项目。 =执行许可。
允许将文件作为程序运行或输入目录 。 = 拒绝许可。
这一具体行动被取消。
现在回顾一下:主人()有:读取,写出,执行.
该组有: