Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

为了介绍文件属性,首先需要文件。我们进入登录后,使用mkdir directory name命令创建目录(目录在Linux中也被视为文件 mkdir make directory创建目录)

然后使用touch file name命令创建文件。

  在Linux中我们可以使用ll或者ls –l (long)命令,或者用等效的ll来显示一个文件的属性以及文件所属的用户和组,如:

  其中,文件的属性由开始的10个字符说明。第一个字符声明了文件的类型。

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

余下的9个字符声明了不同用户对该文件所拥有的权限。顺序总是rwx,r(read)可读,w(write)代表可写,x(execute)代表可执行。如果没有其中的某一个权限,则用减号-来代替。

  

  从左至右用0-9这些数字来表示。

  第0位确定文件类型,第1-3位确定属主(该文件的所有者 user)拥有该文件的权限。

  第4-6位确定属组(所有者的同组用户 group)拥有该文件的权限。

  第7-9位确定其他用户(other)拥有该文件的权限。

  其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;

  第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限

Linux文件属主和属组

  每个文件都有一个特定的所有者,也就是说对该文件具有所有权的用户。

   同时,Linux是按组分类的,一个用户属于一个组或多个组。

文件所有者(user)之外的用户又可以分为同组用户(group)和其他用户(other)。因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

如:

  

  前面刚创建的filePropertyTestFileA, filePropertyTestFileB这两个文件的文件属性如图所示:

-rw-re-r--

索引为0处的-表示文件类型,[-]表示是文件,后面的九个字符声明了不同用户的权限。前三个为rw-,即文件拥有者的权限是rw-(可读,可写不可执行)。中间三个是rw-,即与拥有者同组用户的权限是rw-。最后三个是其它用户的权限,r--。即其它用户对于该文件仅仅具有读的权限。

  更改文件属性
  1 chgrp: 更改文件属组(change group 更改文件所属的组)

  语法: chgrp [-R] 另一个组名 (需要更改属组的)文件名

  -字母 是参数选项。加上之后可以对命令做出一些调整,如作用范围等。[]是可选的意思。

  -R (recursion 递归) 对于一个目录文件,如果对其进行chgrp -R 另一组名 目录文件名 操作,那么该目录下的所有文件的属组都会随之更改。

  由于现在我之前安装的时候只创建了一个用户 —— Van。和必须要有的超级管理员用户——root。而我现在处于Van用户下。而在Van用户下切换属组到root用户是不被允许的。所以我们要先切换到root用户。

  

    

  使用su - 另一个用户名(switch user)来切换到另一个用户。当然还要输入密码。顺便提一下,输入密码时,如果输错了,要按ctrl + <-(退格键)才能删除。

  

  然后进入/home/Van/ , ll一下。

  

  这回就可以使用chgrp命令了。

      

  现在我们试试chgrp -R。首先先要进入filePropertyTestDirectoryA中,创建一些文件来测试。

       

                  

    

  可以发现,filePropertyTestDirectoryA以及其中所有的文件(包括目录文件)的属组都由原来的Van变成了root。

    2  chown: 更改文件属主(文件的拥有者 change owner),也可以同时更改文件属组。

  语法:

    chown   [-R]  属主名  文件名 (仅更改属主)

    chown   [-R]  属主名 : 属组名  文件名(同时更改属组和属主)

  这次我们选用filePerpertyTestDirectoryB来测试。

  这次,在测试之前,我们先来学习几个十分常用而且简单的快捷键。

  1 tab 它可以补齐命令或文件名。最为常用的快捷键。当有前缀相同的文件,我们双击tab就会列出这些文件名。然后继续填写即可。

    

    

    

  2 方向键↑和↓ 这是在使用过的命令中跳转。不演示了。

  3 ctrl + l 作用等用于clear命令,清屏(实际上是翻页)。

  4 ctrl + c  停止当前命令。如果输错了或者不想继续运行该命令就使用该快捷键来停止。

  5 ctrl + z 停止当前进程

   

  还是像上次一样,进入filePropertyTestDirectoryA,使用touch fileA和touch fileB创建fileA和fileB。然后使用mkdir dirA创建一个目录文件dirA。

  然后

  

  我们发现,该目录以及其中所有的文件的属主和属组都由Van Van变成了root root。

   3 chmod: 更改一个文件的不用用户的权限

  先来复习一下,描述文件属性的字符一共有10个。索引为0的字符,也就是第一个字符代表文件的类型。如果是-说明是普通文件,如果是d说明是目录文件。

之后的九个字符分别代表u(user文件所有者 即文件属主) g(与owner同组的用户) o(other)用户对应的权限。每个用户的权限描述字符都是r(read 可读)w(wirte 可写)x(execute 可执行)。如果没有某权限,就用减号-来代替。

  

   

  有两种方式,一种是用数字表示,不推荐。还得记权限对应的数字。麻烦。我只讲用符号类型表示文件权限。

  前面说过,u - user(文件所有者), g -group(同组用户), other(其它用户)。在符号类型表示中就是利用这些来代表不同的用户,此外,还有a来代表所有用户。

形式如下:

  

chmod u
g
o
a
+(加入)
-(除去)
=(设定)
r
w
x
文件或目录

  命令的格式:

    chmod u=三个权限情况,g=三个权限情况,o=三个权限情况 文件名

    chmod (change mode mode模式,权限 change mode即改变权限)

如,dileA的权限如下。

  

  现在我们要把user权限设为rwx,其它用户设为r。则: chmod u=rwx,g=r,o=r fileA

  

  当然,我们还可以操作其中某一个或某两个的权限。

  

  如果仅仅要使fileB user用户的权限增加一个可执行权限: chmod: u+x

      

  当然,我们可以使用a来操作所有用户的权限。比如,我们将dirA目录文件的所有用户的可执行权限都去掉: chmod a-x

                                        

  经验:  利用a和某一用户的权限修改多个用户的权限会很方便。

  为了测试,我们新建一个fileC —— touch fileC,使用chmod a=rwx fileC命令来为所有用户赋予rwx权限。

  

  

  现在我们想要使fileC的user用户的权限为rw-,其它用户的权限都是r,那么则可以: chmod a=r--,u=rw- fileC

  a=r--后,所有用户的权限都变成了r-- 只读。而u=rw-后,user权限由变为了rw- 可写可读不可执行。

  

  经验: 文件的权限很重要。有的文件十分重要,为了防止他人篡改,则可以将该用户的可写权限取消。而有些脚本,我们之后会学到,需要有可执行权限才可以执行。

  

   参考资料:  http://www.runoob.com/linux/linux-file-attr-permission.html

一起学Linux04之Linux文件基本属性的更多相关文章

  1. Linux 文件基本属性(转)

    Linux 文件基本属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规 ...

  2. 六、Linux 文件基本属性

    Linux 文件基本属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规 ...

  3. Linux 文件基本属性与目录管理 (chmod chown ls cp mv cat )

    Linux 文件基本属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限. 为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的 ...

  4. Linux 文件基本属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. 在Linux中我们可 ...

  5. 3 Linux文件基本属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为保护系统的安全性,Linux系统对不同的用访问的同意文件(包括目录文件)的权限做了不同的规定eg: [root@www ...

  6. Linux 文件基本属性: chown修改所属组 和 chmod修改文件属性命令

    [root@www /]# ls -l total 64 dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin -rwxrwxr-x 4 root root 4096 ...

  7. 吴裕雄--天生自然Linux操作系统:Linux 文件基本属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. 在Linux中我们可 ...

  8. linux文件基本属性

    在Linux中第一个字符代表这个文件是目录.文件或链接文件等等. 当为[ d ]则是目录 当为[ - ]则是文件: 若是[ l ]则表示为链接文档(link file): 若是[ b ]则表示为装置文 ...

  9. linux学习(四)Linux 文件基本属性

    一.引言 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限. 为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. 在Lin ...

随机推荐

  1. 这是一篇关于:以时间表的形式来介绍Java如何演变至今,以及Java版本的一些特性的分享

    这是一篇关于:以时间表的形式来介绍Java如何演变至今,以及Java版本的一些特性的分享: Java版本,功能和历史 原文[英]:https://javapapers.com/core-java/ja ...

  2. Linux积累 命令之cat和wc

    cat主要有三大功能: 1.一次显示整个文件. $ cat   filename 2.从键盘创建一个文件. $ cat  >  filename 只能创建新文件,不能编辑已有文件. 3.将几个文 ...

  3. 深入理解java虚拟机----->垃圾收集器与内存分配策略(下)

    1.  前言 内存分配与回收策略 JVM堆的结构分析(新生代.老年代.永久代) 对象优先在Eden分配 大对象直接进入老年代 长期存活的对象将进入老年代 动态对象年龄判定 空间分配担保  2.  垃圾 ...

  4. JAVA中静态修饰符static的学习(初学)

    静态修饰符static,用于修饰类中的成员变量和成员函数. 用static修饰的成员变量也可叫做类变量. 什么时候使用静态 什么时候定义静态成员变量?     当对象中出现共享数据时,将该数据定义为静 ...

  5. Cs Round#56 D Find Path Union

    题意:有一棵如下的完全二叉树,求所有给定结点到根节点的路径的并有多少条边. 一开始联想到线段树,发现结点的排布很像线段树的标号.于是模仿线段树敲了一下,交上去发现3个点MLE了... 无心优化,跑去看 ...

  6. And【sql语句之为何用and一个字段两个值得不到表中的数据】

    一.[一个表的一个字段的多个条件用and连接] 用and是查不到值的, and是多个条件同时成立, 也就是一个字段是不能同时等于两个值的. '; 二[相同两个表的两个相同字段的查询用and连接] '; ...

  7. Java IO(3)非阻塞式输入输出(NIO)

    在上篇<Java IO(2)阻塞式输入输出(BIO)>的末尾谈到了什么是阻塞式输入输出,通过Socket编程对其有了大致了解.现在再重新回顾梳理一下,对于只有一个“客户端”和一个“服务器端 ...

  8. JQuery学习(4-2-phpserver端1)

    主要内容:介绍图片的上传过程,涉及PHP跟JQuery: 1. 读取配置文件,连接MySQL数据库. 配置文件主要实username和password. 3-5.php <?php /* * v ...

  9. Android设计模式(九)--外观模式

    问题:在Android中,Apk能够有微信,QQ为代表的插件式安装更新功能: 那么问题来了,主系统(姑且这么说)调用插件式安装的子系统.由子系统提供对外的訪问.属不属于一种外观模式呢? 先说设计模式: ...

  10. web常见效果之轮播图

    轮播图的展示效果是显而易见: HTML代码如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...