Linux目录的可写意味着,Linux权限分析 - osc_h5427nyq的个人空间 - OSCHINA - 中文开源技术交流社区...

在学习Linux的权限之前,我们先来理解几个概念:

可读,可写 、可执行

Linux的文件和目录有以下三种方式:

r  、w 、x:可读,可写 、可执行

r-可读(read)

w-可写(write)

x-可执行(execute)

所有者 、所属组 、其他人

Linux的文件和目录又可以有三个所有者概念:

u、g 、o: 所有者 、所属组 、其他人

u:所有者

g:所属组

o:其他人

好了,开始管理我们的权限了,要管理权限,首先得知道我们的权限才能去管理吧,不然从何谈管理,

下面来解读我们的权限:

我们以/目录下为例,cd / 就进入根目录了。先来ls一下下,要带-l哦,或者直接 ls -l /也可以,显示文件或目录的详细信息

ls -l /

6ae0d65581d82d16463f4a9fbe5ca526.png

发现没有?前面是不是一堆天书?什么 drwxr-xr-x ?下面我们就拿第一条来开刀吧

65acc47f7899e7f60ba713b44d846a69.png

dr-xr-xr-x : 我们可以把它拆开来解读 , d r-x  r-x r-x

d:代表的是文件类型,在Linux中,常用的文件类型为以下三种:

d :目录 directory

- : 二进制文件 binary

l : 软链接文件 link

所以这里的d就是指名了这是一个目录文件。

r-x:这里代表的是这个文件或目录所有者所拥有的权限,r是可以读,不能写,所以用-代替,x是可以执行,说明这个文件或目录中,

所有者是可以读,可以执行,不能写

r-x :同样的道理,第二个代表的是所属组对这个文件的权限,也是可以读,可以执行,不能写

r-x :第三个就是其他人对这个文件或目录的权限了。

所以dr-xr-xr-x翻译起来就是这样的:这是一个目录文件,它的所有者可以对它读和执行,不能写 、所属组可以对它读和执行,不可以写 ,

其他人可以读和执行,不能写。

来个例子:

0d06a34c66c7a0ac2f72bba28e553d18.png

这是一个目录文件,所有者可读可写可执行,所属组可读可执行 、不能写,其他人可读可执行 、不能写。

再比如:

fe7cfbe370662a9da9f0631ff5ffab99.png

-rw-r--r--:这是一个二进制文件,所有者可读可写 、不能执行,所属组可读 、不能写 、不能执行,其他人可读 、不可写 、不能执行。

好了既然知道了这些权限,那么所有者是谁呢?属于哪个组呢?

只有留心观察就知道了,以及打印出来给我们了:

f6727124bf9044d2266799c0971489d1.png

接下来就是要管理编辑权限了:

权限管理命令:chmod命令

命令名称:chmod

命令英文原意:change the permission mode of a file

命令所在路径:/bin/chmod

执行权限:所有用户

语法: chmod  【mode】 文件或目录      此处mode是啥???是数字

功能描述:改变文件或目录权限

mode是数字怎么来的呢?

前面我们说了一个文件或者目录分别有所有者 (u)、所属组u(g)和其他人(o)对其的权限,

而权限又分为:(r)可读 、(w)可写 、(x)可执行

为了方便表示,linux用了一个很简单的方法来区别,r用4表示,w用2表示,x用1表示,把他们对号入座:

r - 4

w - 2

x - 1

所以

45c89f9e640315c4a29d5910f74484b8.png

其中,第一个字符d表示类型是目录,这里不考虑,接下来的三个三位数(r-xr-xr-x)就可以这么转换啦!!!

(4+0+1)+(4+0+1)+(4+0+1)= 555

这样意味着555能代表啥?你懂了

其实在数字和权限之间就是按这个规则来,数字转权限和权限转数字

数字--->权限

例如 764 :对应的就是将7分解为4 、2 、1,将6分解为4 、2 、0,将4分解为4 、0 、0,所有对应权限为rwxrw-r--

654: 6=4+2+0, 5=4+0+1, 4=4+0+0 结果为:rw-r-xr--

权限--->数字

例如 drwxrw-r--: 第一位d代表类型,不参与计算,rwx=4+2+1=7,rw-=4+2=0=6, r-- = 4+0+0=4最终结果为764

好了,,来个练习,

drwxr-xr-x : d不管 , rwx : 4+2+1 =7, r-x:4+1 =6, r-x:4+1=6, 所以最终结果为766

我们先创建个dir目录,然后来改变这个目录的权限

bdde0f962ddd59042e4d4846c27cfd7b.png

初始时: drwxr-x--- :是多少? 750

我想它的权限为: drwxrwxr-x  是多少 775

好了,有数字了,开始干吧  chmod 775 dir

4954429899e44e38e5aa6a70b9e3fe9c.png

怎么样,达到了效果了吧!!!是不是很方便快捷高大上。

那么再来做个实验,我创建个文件来试试

368755d4586df38ab99f95083b956e03.png

再改变下文件的权限

992f6f648c908ec5de0b44a45a52a71b.png

一样也达到了效果!

大家有没有注意到,我创建目录和文件,默认的权限是什么呢?这目录和文件默认的权限为什么不一样呢?

看看初始给我们默认的权限:

1fa2730e948745d1f068388947ec0aaf.png

其实linux默认的权限是通过这个命令可以查看到:

f53cf87a5c76823c7eb26d565191db9b.png

什么???0027,貌似配不出合理的权限啊,别急,第一个0是特殊权位,具体啥也不不知道,

看后面三位027,这也不对呀,对了,忘了用777去减,其实它打印出的是正确的,需要我们用777-027 = 750

把750转成我们的权限信息,看看 : 7= 4+2+1 , 5 = 4+1 , 0就是没了,所以权限信息是:rwxr-x---

看看新建的目录是不 drwxr-x---,完全正确哦!!!

12cd20fd96242c8c49b22571bb9f36de.png

可是文件呢?

907a7316d7fd390e6b20f30d972985d4.png

不对了吧??为什么,原来新创建的文件都是不可执行的,也就是说x是不能有的,所以全部去掉x,其实这就是linux安全的一个体现吧

如果我想改变这个初始的权限呢?一般不建议这么做,如果非得这么做,我们可以改, 命令是umask 0025呀,随便计算就可以了。

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

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

相关文章

【深度学习篇】--Windows 64下tensorflow-gpu安装到应用

一、前述 一直以为自己的笔记本不支持tensflow-gpu的运行,结果每次运行模型都要好久。偶然间一个想法,想试试自己的笔记本,结果竟然神奇的发现能用GPU。于是分享一下安装步骤. 二、具体 因为版本之间有严格的对应关系,所以本文就将…

idea中Error:java: Compilation failed: internal java compiler error

Error:java: Compilation failed: internal java compiler error 原因是没有设置好 java compiler,检查下 File-----setting---compiler----java compoler

c#输入三个数选出最大的_C#写一个输入三个整数,按大到小顺序输出的小程序...

满意答案pf481549682013.07.05采纳率&#xff1a;52% 等级&#xff1a;12已帮助&#xff1a;9321人int[] arr new int[3];for (int i 0; i < arr.Length; i){Console.WriteLine("请输入第" (i 1) "个数");arr[i] Convert.ToInt32(Console.Read…

linux查询内核参数命令,Linux内核启动参数详解

1.环境:Ubuntu 16.04Linux linuxidc 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux2.查看当前linux内核的启动参数:cat /proc/cmdline笔者的输出内容如下:BOOT_IMAGE/boot/vmlinuz-4.4.0-89-generic rootUUIDbef418fa-4202-4…

access注入漏洞

and exists(select from msysobjects) >0 判断是否为access数据库and exists(select from sysobjects) > 0 判断是否为sql server数据库 and exists(select from admin) 查看是否存在admin表 代表所有&#xff0c;可修改字段名order by 数值 判断字段长度,正常则证明字…

java中的Iterator和Iterable 区别

原文&#xff1a;http://perfy315.iteye.com/blog/1459201 ---------------------------------------------------------- java.lang.Iterable java.util.Iterator 来自百度知道&#xff1a; Iterator是迭代器类&#xff0c;而Iterable是接口。 好多类都实现了Iterable接…

linux版本fedora,技术|初级:如何更新 Fedora Linux 系统

本快速教程介绍了更新 Fedora Linux 安装的多种方法。安装 Fedora 之后&#xff0c;我做的第一件事就是尝试安装一些软件。我打开软件中心&#xff0c;发现该软件中心已“损坏”。 我无法从中安装任何应用程序。我不确定我的系统出了什么问题。在团队内部讨论时&#xff0c;Abh…

设计师学习HTML/CSS之路-11

不了解前端的UI不是好美工&#xff0c;以下是慕课网HTMLCSS基础教程学习笔记&#xff0c;不废话&#xff0c;Start! 第12章 CSS布局模型 11-1 元素分类 在CSS中&#xff0c;html中的标签元素大体被分为三种不同的类型&#xff1a;块状元素、内联元素(又叫行内元素)和内联块状元…

yum安装docker No package docker available

一开始以为是阿里的mirror没有这个包。后来才知道&#xff0c;是需要更新下epel第三方软件库 centos6.5运行命令yum install docker.io&#xff0c;发生错误 No package docker available yum没有找到docker包&#xff0c;更新epel第三方软件库&#xff0c;运行命令&#xff1a…

pytorch 对抗样本_【炼丹技巧】功守道:NLP中的对抗训练 + PyTorch实现

本文分享一个“万物皆可盘”的NLP对抗训练实现&#xff0c;只需要四行代码即可调用。盘他。最近&#xff0c;微软的FreeLB-Roberta [1] 靠着对抗训练 (Adversarial Training)在GLUE榜上超越了Facebook原生的Roberta&#xff0c;追一科技也用到了这个方法仅凭单模型 [2] 就在CoQ…

linux 开源邮件 系统,4 个开源的命令行邮件客户端

无论你承认与否&#xff0c;email并没有消亡。对那些对命令行至死不渝的 Linux 高级用户而言&#xff0c;离开 shell 转而使用传统的桌面或网页版邮件客户端并不适应。归根结底&#xff0c;命令行最善于处理文件&#xff0c;特别是文本文件&#xff0c;能使效率倍增。幸运的是&…

kafka清理数据日志

背景问题&#xff1a; 使用kafka的路上踩过不少坑&#xff0c;其中一个就是在测试环境使用kafka一阵子以后&#xff0c;发现其日志目录变的很大&#xff0c;占了磁盘很大空间&#xff0c;定位到指定目录下发现其中一个系统自动创建的 topic&#xff0c;__consumer_offsets-45&a…

修改docker-仓库资源地址Error response from daemon: Get https://index.docker.io/v1/search

[rootzengmg /]# docker search centosError response from daemon: Get https://index.docker.io/v1/search?qcentos: read tcp 52.200.132.201:443: i/o timeout docker在中国已经有了仓库&#xff1a;https://www.docker-cn.com/registry-mirror 根据上面网站提供的修改方法…

oracle19c的版本号_Windows10安装Oracle19c数据库详细记录(图文详解)

1. 下载资源官网下载地址&#xff1a; 点此进入直接点击下载&#xff0c;会自动开始下载。2. 开始安装将下载的安装包解压到本地&#xff0c;右键-以管理员身份运行setup.exe&#xff0c;开始安装(一定要以管理员身份运行&#xff0c;不然后面会报错)。step1&#xff1a;选择创…

qt调用Linux脚本范例,QT下实现对Linux Shell调用的几种方法

使用QProcess QThread#include int main(){QProcess::execute("ls");return 0;}QProcess *poc new QProcess;poc-> start( "ping 222.207.53.1> hh ");打开hh文档 读取里面的内容给QTextEditQProcess *proc new QProcess;proc->addArgument(&qu…

Apache发布Groovy 2.5正式版及3.0预览版

Apache基金会最近发布了Groovy2.5&#xff0c;新功能包括&#xff1a;\\AST转换的改进\新的宏支持\其他杂项改进\运行Groovy 2.5至少需要JDK 7&#xff0c;在JDK 9上运行可以忽略良性警告。\\尽管最近人们把关注点转到了其他JVM语言上&#xff08;如Kotlin&#xff09;&#xf…

virtualbox 命令

原文链接&#xff1a;http://418684644-qq-com.iteye.com/blog/1451000 ----------------------------------------------------------------------------------------- 查看当前虚拟机 VBxoManage list vms 查看当前正在运行的虚拟机 VBoxManage list runningvms 启动虚拟机 …

js小学生图区_推荐12个最好的 JavaScript 图形绘制库

众多周知&#xff0c;图形和图表要比文本更具表现力和说服力。图表是数据图形化的表示&#xff0c;通过形象的图表来展示数据&#xff0c;比如条形图&#xff0c;折线图&#xff0c;饼图等等。可视化图表可以帮助开发者更容易理解复杂的数据&#xff0c;提高生产的效率和 Web 应…

linux 关闭登录权限,linux – /var/www/html的权限[已关闭]

我有一个虚拟CentOS服务器与GoDaddy&#xff0c;我无法设置/ var / www / html的权限。用户不能以root用户身份登录&#xff0c;甚至不能将自己添加到根组中&#xff0c;因此&#xff0c;我将自己写入的角落&#xff1a;>我使用以下命令更改了其所有者(我使用httpd.conf中的…

cifar10数据集测试有多少张图_pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)...

首先这是VGG的结构图&#xff0c;VGG11则是红色框里的结构&#xff0c;共分五个block&#xff0c;如红框中的VGG11第一个block就是一个conv3-64卷积层&#xff1a;一&#xff0c;写VGG代码时&#xff0c;首先定义一个 vgg_block(n,in,out)方法&#xff0c;用来构建VGG中每个blo…