最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
文件权限:人+文件属性
拿文件来说,文件权限可以分为两个部分:人和文件属性。文件可能只允许特定的人访问,除了限定人之外,文件的属性也是一个重要的方面,文件的属性可能是只读,也可能是可读可写。我们可以通过把对文件权限的理解延伸到Linux操作系统层面(Linux操作系统下一切皆文件):
角色:所有者(owner)、所属组(grouper)、其他人(other)。
问题:为什么角色就这三种,Linux操作系统又是一个多用户操作系统,它们之间冲突吗?
解释:用户只是操作系统中用户的具体体现,每个用户在操作系统中都被赋予相应的角色,系统通过对角色的限制来实现权限的控制。它们不仅不冲突,而且关系紧密。
问题:为什么会出现所属组的概念
解释:在默认情况下,文件的所属组和所有者是同一个人,所属组就是小组的概念,也就是说,可以把这个文件给自己小组内部的成员查看,除了自己和自己的小组成员,其他人就都是other,没有查看的权限。
示例:在一个公司内部,只有一台Linux机器,有A、B两个小组要进行相同项目的开发工作,两个组之间的开发是独立的,若是A组的程序员写好一份代码,想要给小组的其他成员看,但是不想给B组看,就需要引入“所属组”的概念才能实现。
文件属性
Linux系统下的文件类型与Windows系统下的文件类型差别很大
Linux系统不会识别文件的后缀,如果要使用文件后缀,仅仅是给用户做一个提示符号来使用,后缀本质是文件名的一部分。
Linux的文件类型是用"ll"指令在命令行中显示的第一列
Linux文件类型
1.-:普通文件(源代码、库文件、可执行程序、文件压缩包等等)
2.d:目录文件
3.c:字符设备文件-----比如:键盘,显示器…
4.b:块设备—磁盘
5.l:链接文件----快捷方式
6.p:管道文件
Linux系统中文件的权限
0217752072fb44daa018cbe8efc7fea3.png
文件属性前面有10个字符,第一个字符我们已经知道是文件属性,后面的9个字符其实需要3个3个地放在一起看,它们分别代表所有者(owner)、所属组(grouper)、其他人(other)的相应权限。
文件权限
| 读取权限(read) | 表示文件是否可以被读取。如果一个用户没有读取权限,那么他就无法查看该文件的内容。 |
| 写入权限(write) | 表示文件是否可以被修改。如果一个用户没有写入权限,那么他就无法更改该文件的内容。 |
| 执行权限(execute) | 表示文件是否可以被执行。对于可执行文件,执行权限允许用户运行该文件。对于目录,执行权限允许用户进入该目录并访问其内容。 |
例如-rwxrwxr-x的含义就是,这是一个普通文件,owner和grouper都具有读写和执行权限,other只具有读、执行的权限。
如果我们没有相应的权限而去对文件进行相关操作,命令行中会显示Permission denied
三、如何操作权限?
设置文件属性/设置文件所属角色:chown/chgroup
设置文件属性可以采用ugo+rwx方案,还可以采用八进制修改法
八进制修改法:假定有权限为1,无权限为0.与rwx相对应,如果要设置owner只有读的权限,对应下来就是2^2 = 4,也就是假定每一位都是二进制位,进行转换即可,
为什么要有权限?
Linux操作系统是一个多用户操作系统,要保证多个用户在同时使用的时候,不能相互影响,Linux权限存在的目的就是便于我们进行安全管理。
为什么我们创建的目录或者是普通文件,默认权限是我们所看到的这个样子???
drwxrwxr-x. 2 用户名 所属组 6 Jan 20 02:40 dir//目录
-rw-rw-r--. 1 用户名 所属组 0 Jan 20 02:40 file.txt//普通文件
就像上面这样,我们新创建一个文件或者目录,系统自动为我们分配了权限,为什么会这样分配权限呢?
Linux系统规定:目录的起始权限是777,普通文件的起始权限是666【均为八进制形式】
但是我们发现,如果是这样的,那么目录和文件的权限应该分别是rwxrwxrwx和rw-rw-rw-,这与我们创建出来的文件权限的文件类型还是有差异
其实在起始权限之外,还存在着权限掩码
$ umask
0002//八进制:每一位代表三个比特位,第一位无实义
//系统会默认配置好umask权限掩码,凡是在umask中出现的权限,都必须在起始权限中去掉
把002转化为二进制形式,即:000 000 010,把777转化为二进制形式,即:111 111 111
在目录的起始权限777中把other的写的权限去掉,就变成了111 111 101,即为775【rwxrwxr-x】.同理,在普通文件的起始权限666中把other的写的权限去掉,就变成了110 110 101.即为665【rw-rw-r–】
前面我们使用相减的方法,最终得到了正确的答案,然而,正确的计算方法不是这样的!!!
权限的计算方法
最终权限 = 起始权限 & (~umask)
//~代表按位取反
我们来证明一下:设置umask的值为0131,创建一个普通文件,下面是我们的推论。
最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!