玩转并理解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权限了。

 

 

       好, 本文先闲谈到这里。

 

 

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 加壳工具简单使用

    加壳工具简单使用时间20210107,环境winxp介绍一些加壳工具和和它们的简单使用,为了方便描述,就先写了一个原程序,原程序的逻辑很简单,代码如下。1. #include<stdio.h>2. intmain()3. {4. inti=5;5. scanf(“%d”,&i);6. while(i–)7. {8. printf(“HelloWorld%d\n”,i);9. }

    2022年6月27日
    29
  • jupyter的代码能用pycharm运行吗_pycharm 安装教程

    jupyter的代码能用pycharm运行吗_pycharm 安装教程在Pycharm中安装及使用Jupyter(图文详解)文章目录在Pycharm中安装及使用Jupyter(图文详解)一、材料二、安装Jupyter三、配置Jupyter四、使用Jupyter1.使用Cell2.使用jupyterMarkdownPycharm更新了对Jupyter的功能支持,结合IntelliJ的自动补全代码,自动格式化代码,执行调试…

    2022年8月25日
    6
  • 关于ADRC的一些粗鄙之语

    关于ADRC的一些粗鄙之语摘自:https://zhuanlan.zhihu.com/p/156228260关于ADRC的一些粗鄙之语隔壁unclewang机械工程Ph.D&控制算法小萌新across等写在之前其实作者本人开始研究adrc也不是特别久,与很多人一样,接触这个算法之后心态也经历过从一开始的“不明觉厉”、中途的“不以为然”到最后的辩证看待的演变过程。经历了一段时间的学习还有群里面大佬的熏陶之后,对于adrc总算是有了一些系统性的想法,这里就简要介绍一下自己的感悟吧。本文.

    2022年5月19日
    52
  • Unix/Linux fork前传[通俗易懂]

    Unix/Linux fork前传[通俗易懂]本文是《Linuxfork那些隐藏的开销》的前传。fork的由来fork的思想在UNIX出现几年前就出现了,时间大概是1963年,这比UNIX在PDP-7上的第一个版本…

    2022年5月30日
    34
  • rj45管脚定义_rj45接口定义,rj45插座引脚定义

    RJ45是布线系统中信息插座(即通信引出端)连接器的一种,连接器由插头(接头、水晶头)和插座(模块)组成,插头有8个凹槽和8个触点。RJ是RegisteredJack的缩写,意思是“注册的插座”。在FCC(美国联邦通信委员会标准和规章)中RJ是描述公用电信网络的接口,计算机网络的RJ45是标准8位模块化接口的俗称。rj45插座引脚定义:常见的RJ45接口有两类:用于以太网网卡、路由器以太网接口等…

    2022年4月15日
    50
  • excel转json的全套解决方案

    excel转json的全套解决方案首先准备图个excel:excel转json,使用的在线的一个工具:https://www.bejson.com/json/col2json/将上面代码先格式化,格式化网站如下:http://tool.oschina.net/codeformat/json然后将格式化的文本,复制粘贴到txt文本中将tx…

    2022年5月3日
    138

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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