玩转并理解linux中的文件/目录的rwx权限

玩转并理解linux中的文件/目录的rwx权限linux是一个相对安全的系统,其中的权限更是无处不在。在本文中,我们来谈谈linux中的文件/目录的rwx权限。为了简便起见,我们仅仅以文件owner的rwx为例。一.文件的rwx权限分别是什么意思?1.r权限:可读权限,验证如下:[taoge@localhostlearn_c]$ls-ltotal0[t

大家好,又见面了,我是你们的朋友全栈君。

 

        linux是一个相对安全的系统, 其中的权限更是无处不在。 在本文中, 我们来谈谈linux中的文件/目录的rwx权限。 为了简便起见, 我们仅仅以文件owner的rwx为例。

 

        一. 文件的rwx权限分别是什么意思?

         1. r权限:可读权限, 验证如下:

 

 [taoge@localhost learn_c]$ ls -l

total 0

[taoge@localhost learn_c]$ echo hello > a.txt

[taoge@localhost learn_c]$ ls -l

total 4

-rw-rw-r– 1 taoge taoge 6 May  6 03:51 a.txt

[taoge@localhost learn_c]$ chmod 000 a.txt 

[taoge@localhost learn_c]$ ls -l

total 4

———- 1 taoge taoge 6 May  6 03:51 a.txt

[taoge@localhost learn_c]$ cat a.txt 

cat: a.txt: Permission denied

[taoge@localhost learn_c]$ chmod u+r a.txt 

[taoge@localhost learn_c]$ ls -l

total 4

-r——– 1 taoge taoge 6 May  6 03:51 a.txt

[taoge@localhost learn_c]$ cat a.txt

hello

[taoge@localhost learn_c]$ 

 

 

 

         2. w权限: 可写权限, 验证如下:

 

 [taoge@localhost learn_c]$ ls -l

total 0

[taoge@localhost learn_c]$ touch a.txt

[taoge@localhost learn_c]$ ls -l

total 0

-rw-rw-r– 1 taoge taoge 0 May  6 03:56 a.txt

[taoge@localhost learn_c]$ chmod 000 a.txt

[taoge@localhost learn_c]$ ls -l

total 0

———- 1 taoge taoge 0 May  6 03:56 a.txt

[taoge@localhost learn_c]$ chmod u+w a.txt

[taoge@localhost learn_c]$ ls -l

total 0

–w——- 1 taoge taoge 0 May  6 03:56 a.txt

[taoge@localhost learn_c]$ echo hello > a.txt

[taoge@localhost learn_c]$ cat a.txt

cat: a.txt: Permission denied

[taoge@localhost learn_c]$ chmod u+r a.txt

[taoge@localhost learn_c]$ cat a.txt

hello

[taoge@localhost learn_c]$ 

 

 

 

     3. x权限:可执行权限, 验证如下:

 

 [taoge@localhost learn_c]$ ls -l

total 4

-rw-rw-r– 1 taoge taoge 65 May  6 04:02 test.c

[taoge@localhost learn_c]$ cat test.c 

#include <stdio.h>

int main()

{

printf(“good\n”);

return 0;

}

[taoge@localhost learn_c]$ gcc test.c 

[taoge@localhost learn_c]$ ls -l

total 12

-rwxrwxr-x 1 taoge taoge 4638 May  6 04:04 a.out

-rw-rw-r– 1 taoge taoge   65 May  6 04:02 test.c

[taoge@localhost learn_c]$ ./a.out 

good

[taoge@localhost learn_c]$ chmod 000 a.out 

[taoge@localhost learn_c]$ ./a.out

bash: ./a.out: Permission denied

[taoge@localhost learn_c]$ chmod u+x a.out 

[taoge@localhost learn_c]$ ./a.out 

good

[taoge@localhost learn_c]$ 

 
 
        

       二. 目录的rwx权限分别是什么意思?

        1. r权限:可读权限(可列举查看目录下的内容), 验证如下:

 

[taoge@localhost learn_c]$ ls -l

total 0 
[taoge@localhost learn_c]$ mkdir test

[taoge@localhost learn_c]$ ls -l

total 4

drwxrwxr-x 2 taoge taoge 4096 May  6 04:07 test

[taoge@localhost learn_c]$ touch ./test/a.txt

[taoge@localhost learn_c]$ ls ./test/

a.txt

[taoge@localhost learn_c]$ chmod u-r test/

[taoge@localhost learn_c]$ ls ./test/

ls: cannot open directory ./test/: Permission denied

[taoge@localhost learn_c]$ 

 

 

      2. w权限:可写权限(可以往目录中写东东, 比如文件), 验证如下:

 

 [taoge@localhost learn_c]$ ls -l

total 0

[taoge@localhost learn_c]$ mkdir test

[taoge@localhost learn_c]$ ls -l

total 4

drwxrwxr-x 2 taoge taoge 4096 May  6 04:13 test

[taoge@localhost learn_c]$ touch ./test/a.txt

[taoge@localhost learn_c]$ chmod u-w test

[taoge@localhost learn_c]$ touch ./test/b.txt

touch: cannot touch `./test/b.txt’: Permission denied

[taoge@localhost learn_c]$ 

 

 

     3. x权限: 可执行权限(可以cd进去), 验证如下:

 

 

 [taoge@localhost learn_c]$ ls -l

total 0

[taoge@localhost learn_c]$ mkdir test

[taoge@localhost learn_c]$ ls -l

total 4

drwxrwxr-x 2 taoge taoge 4096 May  6 04:17 test

[taoge@localhost learn_c]$ cd test/

[taoge@localhost test]$ cd –

/home/taoge/Desktop/learn_c

[taoge@localhost learn_c]$ chmod u-x test/

[taoge@localhost learn_c]$ cd test/

bash: cd: test/: Permission denied

[taoge@localhost learn_c]$ 
 
      

       好,最后我们再来看一个问题:在某目录test中创建一个文件或者删除一个文件, 需要test目录具备什么权限呢? 答曰:需要目录test具备wx权限, 验证如下:

 

 

 [taoge@localhost learn_c]$ ls -l

total 0

[taoge@localhost learn_c]$ mkdir test

[taoge@localhost learn_c]$ touch ./test/a.txt ./test/b.txt ./test/c.txt ./test/d.txt

[taoge@localhost learn_c]$ ls -l

total 4

drwxrwxr-x 2 taoge taoge 4096 May  6 04:33 test

[taoge@localhost learn_c]$ chmod u-r test/

[taoge@localhost learn_c]$ touch ./test/e.txt

[taoge@localhost learn_c]$ chmod u-w test/

[taoge@localhost learn_c]$ touch ./test/f.txt

touch: cannot touch `./test/f.txt’: Permission denied

[taoge@localhost learn_c]$ rm ./test/a.txt

rm: cannot remove `./test/a.txt’: Permission denied

[taoge@localhost learn_c]$ chmod u+w test/

[taoge@localhost learn_c]$ chmod u-x test/

[taoge@localhost learn_c]$ touch ./test/f.txt

touch: cannot touch `./test/f.txt’: Permission denied

[taoge@localhost learn_c]$ rm ./test/a.txt

rm: cannot remove `./test/a.txt’: Permission denied

[taoge@localhost learn_c]$ chmod u+x test/

[taoge@localhost learn_c]$ 

 

 

       因此, 如果某一目录test删除不掉, 很可能是因为其中有不可删除的文件, 从本质上来讲, 就是test自己没有wx权限了。

 

 

       好, 本文先闲谈到这里。

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139708.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 加密卡华为怎么模拟_华为手机怎么复制加密NFC门卡?「建议收藏」

    加密卡华为怎么模拟_华为手机怎么复制加密NFC门卡?「建议收藏」原标题:华为手机怎么复制加密NFC门卡?“极客谈科技”,全新视角、全新思路,伴您遨游神奇的科技世界。虽然NFC已经成为了中高端手机的标配之一,但是很多人对于什么是NFC,NFC究竟有哪些作用并不是十分清楚。NFC是一种近距离的无线传输技术,可以通过配套芯片来读取相关的数据,从而实现数据交互的目的,通常的应用有地铁、公交刷卡、POS机付款、门禁卡等。今天,我们主要来谈谈华为手机如何通过NFC的功能来…

  • 可控硅工作原理及参数详解图_晶闸管和可控硅有什么区别

    可控硅工作原理及参数详解图_晶闸管和可控硅有什么区别原创:JackieLong转自:https://www.cnblogs.com/sunshine-jackie/p/8137469.html可控硅全称“可控硅整流元件”(SiliconControlledRectifier),简写为SCR,别名晶体闸流管(Thyristor),是一种具有三个PN结、四层结构的大功率半导体器件。可控硅体积小、结构简单、功能强,可起到变频、整流、逆变、…

    2022年10月22日
  • [职场]最近聊到30岁以上的程序员,该何去何从了?你有啥想法?

    [职场]最近聊到30岁以上的程序员,该何去何从了?你有啥想法?

  • VS2013注册码_vs注册密钥

    VS2013注册码_vs注册密钥vs2012注册码YKCW6-BPFPF-BT8C9-7DCTH-QXGWCRBCXF-CVBGR-382MK-DFHJ4-C69G8MMVJ9-FKY74-W449Y-RB79G-8GJGJ4D974-9QX42-9Y43G-YJ7JG-JDYBPYCFHQ-9DWCY-DKV88-T2TMH-G7BHP亲测有效!

  • QT学习笔记15绘图和绘图设备

    QT学习笔记15绘图和绘图设备1QPainterQt的绘图系统允许使用相同的API在屏幕和其它打印设备上进行绘制。整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类。QPainter用来执行绘制的操作;QPaintDevice是一个二维空间的抽象,这个二维空间允许QPainter在其上面进行绘制,也就是QPainter工作的空间;QPaintEngine提供了画笔(Q

  • 在 LaTeX 中插入图片「建议收藏」

    在 LaTeX 中插入图片「建议收藏」在科研论文中,图片是一个非常重要的组成部分。LaTeX提供了许多定制化图片的功能。这篇文章将会介绍如何用最常见的格式插入图片、缩放图片、旋转图片,以及如何在文档中引用这些图片。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号