专栏首页软测小生Linux 文件和文件夹权限

Linux 文件和文件夹权限

Linux 文件权限

首先来查看一下当前目录下的文件内容吧

ls -l    查看当前目录下的文件列表
ls -l xxx.xxx (xxx.xxx是文件名) 查看指定的文件

我们可以看到文件的权限,-rw-rw-r-- ,一共有10位数。

其中: 最前面那个 - 代表的是类型(详细如下面贴图所示)

中间那三个 rw- 代表的是所有者(user)

然后那三个 rw- 代表的是组群(group)

最后那三个 r-- 代表的是其他人(other)

然后我再解释一下后面那9位数:

r 表示文件可以被读(read)

w 表示文件可以被写(write)

x 表示文件可以被执行(如果它是程序的话)

- 表示相应的权限还没有被授予

文件和文件夹操作权限:

权限

简写

对普通文件的作用

对文件夹的作用

读取

r

查看文件内容

列出文件夹中的文件(ls)

写入

w

修改文件内容

在文件夹中删除、添加或重命名文件(夹)

执行

x

文件可以作为程序执行

cd 到文件夹

图解:

需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。

补充:

特殊权限SUID、SGID、Sticky 在 linux 系统中还有三种与用户身份无关的三个文件权限属性。即SUID、SGID和Sticky。 SUID(Set User ID, 4): 该属性只对有执行权限的文件有效,对目录无效。执行具有SUID权限的程序时,引发的进程的所有者是程序文件的所有者,而不是启动程序的用户(除非二者是同一个人)。比如,如果一个程序的所有者是root且具有SUID属性,一个普通用户执行此程序时,如同root执行此程序一样。(请注意该属性对Shell脚本程序无效)该属性为一些特殊程序(如lpr)的启动带来了方便。但有时也带来了安全隐患:比如一个具有SUID属性的程序如果在执行时运行了一个shell,那么用户可以籍此得到系统的最高权限。SUID可用s表示,如: $ ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 47032 Feb 16 2014 /usr/bin/passwd

SGID(Set Group ID, 4): 对于可执行文件,SGID与SUID类似,引发的进程的所有组是程序文件所属的组。对于目录,SGID属性会使目录中新建文件的所属组与该目录相同。SGID也可以用s表示,如: $ ls -l /var drwxrwsr-x 2 root staff 4096 Apr 10 2014 local drwxrwxr-x 15 root syslog 4096 Apr 4 19:57 log

Sticky, 1: 仅对目录有效。带sticky属性的目录下的文件或目录可以被其拥有者删除或改名。常利用sticky属性创建这样的目录:组用户可以在此目录中创建新文件、修改文件内容,但只有文件所有者才能对自己的文件进行删除或改名。如系统中的/tmp文件夹。在属性字符串中,通常用t表示。 $ ls -l / drwxrwxrwt 8 root root 4096 Apr 4 23:57 tmp

修改文件和文件夹对应用户的操作权限

如果你有一个自己的文件不想被其他用户读、写、执行,那么就需要对文件的权限做修改,这里有两种方式:

方式一:二进制数字表示

每个文件的三组权限: u 代表所有者(user) g 代表所有者所在的组群(group) o 代表其他人,但不是u和g (other) a 代表全部的人,也就是包括u,g和o 根据上图,其中:rwx也可以用数字来代替 r ------------4 w -----------2 x ------------1 - ------------0

当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了: -rw------- (600) 只有所有者才有读和写的权限。 -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限。 -rwx------ (700) 只有所有者才有读,写,执行的权限。 -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限。 -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限。 -rw-rw-rw- (666) 每个人都有读写的权限。 -rwxrwxrwx (777) 每个人都有读写和执行的权限。

上实际操作

查看了test的权限,是所有者拥有读、写、执行的权限:

然后向文件里添加了些内容,更改了下权限(700:-rwx------),并尝试在shiyanlou(所有者)下读取文件,可以读取。

更换到其他用户Peter,如下图再尝试读取,显示是权限不够,无法读取。

方式二:加减赋值操作

u 代表所有者(user) g 代表所有者所在的组群(group) o 代表其他人,但不是u和g (other)

a 代表全部的人,也就是包括u,g和o

+ 和 - 分别表示增加和去掉相应的权限。+号一般不显示(初学练手时我还是会加上)

在终端输入: chmod o+w xxx.xxx chmod o w xxx.xxx 表示给其他人授予写xxx.xxx这个文件的权限

chmod go-rw xxx.xxx 表示删除xxx.xxx中组群和其他人的读和写的权限 chmod ug-r xxx.xxx

修改文件或文件夹的拥有者/所属的组 使用命令chown改变目录或文件的所有权(所有者/组)

文件与目录不仅可以改变权限,其所有权及所属用户组也能修改,和设置权限类似,用户可以通过图形界面来设置,或执行chown命令来修改。 我们先执行ls -l看看目录情况:

可以看到test文件的所属用户组为root,所有者为root。 执行下面命令,把上图中test文件的所有权转移到用户peter: # chown peter test

要改变所属组,将test文件从root组中转移到组Peter中,可使用下面命令: # chown :peter test

将所属的用户和组一起更改 将文件夹或文件test的拥有者修改成shiyanlou,所属的组修改成shiyanlou,如下图:


本文分享自微信公众号 - 软测小生(ruancexiaosheng),作者:小汉

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Fiddler使用二:抓包问题和解决方法

    移动测试的同学在日常工作中需要频繁用到抓包、mock数据、限速等测试手段,而Fiddler作为一款强大的辅助工具,深受测试同学的青睐。虽然它有很强大的功能,可是...

    软测小生
  • java直接读取.zip压缩文件ZipEntry.getsize()总是返回-1?

    但是后面发现一个问题,读取的时候总是返回-1 ze.getSize()的值总是-1,可是名字都到了。 找不到法子,着实无奈,后面换了种方式,干脆将文件解压出来之...

    软测小生
  • 玩转Linux命令 tail命令详解

    前几天看到一同事正在使用这个命令,感觉有点陌生,然后就问了一嘴,-f是啥意思,同事说,他也忘了,他知其然不知其所以然。 今天突然看到关于这个命令的详细介绍,所以...

    软测小生
  • Linux常用命令速查-文件管理

    Linux系统中的每个文件和目录都有访问许可权限,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

    Java学习录
  • Linux 文件基本属性 转

    在当前目录下使用命令: ls -l,即可列出该目录下的所有文件,其第一列的第一个字母就包含了该文件的文件类型:

    wuweixiang
  • Linux文件特殊权限SUID、SGID与SBIT

    Linux使用9个权限位来标识文件权限,三大权限分别是r、w、x(读、写、执行)。除此之外,还有特殊权限SUID,SGID,SBIT。

    Dabelv
  • Java设计模式(六)装饰器模式

    在学装饰器模式的时候,我想到了责任链模式中的级别这个概念,为什么这么说,在一个OA系统中我们会有不同级别(或者说权限范围不同)的管理员,首先我们要明确不同级别的...

    每天学Java
  • 分布式 | dble 中分布式时间戳方式的全局序列

    爱可生 dble 项目团队成员,主要负责 dble 相关的日常测试工作,擅长对 dble 中出现的问题进行排查。热爱测试工作,余生欲将测试工作进行到底。

    爱可生开源社区
  • ROS(indigo)国外开源示例包括多机器人控制等基于V-Rep和Gazebo的仿真

    这个例子可以测试机械臂,四旋翼飞行器和先锋机器人,这里以先锋机器人跟随二维码为例。

    zhangrelay
  • [DS]链表之约瑟夫环(Josephus)问题

    原文链接:https://blog.csdn.net/humanking7/article/details/80786920

    祥知道

扫码关注云+社区

领取腾讯云代金券