Linux下目录和文件的三种权限

在Linux下,目录和文件会有3种权限,分别是:可读r,可写w,可执行x。那么目录和文件的权限有什么区别呢?这篇博文解释的就是这个问题。

在解释之前,我们应该有一些基础知识:Linux系统下有3种身份(所有组、用户组、其他人),3种权限(r,w,x),3个修改权限的命令(chown, chgrp, chmod)。

1. 文件的3种权限

1)read:可读取文件的内容,例如读取文本文件的内容。

2)writer:可以编辑、新增或者修改文件的内容,但是不可以删除该文件。这里的修改都是基于文件内容的,文件中记录的数据而言的。

3)execute:该文件可以被系统执行。这个需要注意,因为Linux和Windows系统不一样。在Windows系统下,文件是否可以被执行是通过扩展名来区别的,例如.exe, .bat, .com等,这些文件类型都是可被执行的;而在Linux下,文件是否可以被执行时通过权限x来标注的,和文件名没有绝对的关系。

2. 目录的3种权限

1)read:具有读取目录结构列表的权限。说明用户可以使用ls来查询该目录的文件列表

2)writer:具有更改该目录结构列表的权限。可以新建新的目录和文件,删除已经存在的文件和目录(不论被删除文件的权限),重命名已有的文件和目录,转移已有的文件和目录位置。所以说用户对目录的write权限是很重要的,权利也是很大的。

3)execute:用户可以进入该目录,使其成为成为用户当前的工作目录。也就是可以cd进入该目录操作

鸟哥的书中用了一个例子来说明:

由于,目录和文件的权限是744,对于root来说都是rwx,所以可以使用ls来看到目录下的文件列表信息。

但是换成其他用户的话,其只有r权限,所以只能读取ls的文件名,详细信息读取不了,如下:

(ps:但是我在vbird用户下,使用ls -al就可以看到testing的详细信息,单独看testing文件确实如上图看不了)

之后,我们可以使用chown来修改vbird用户对testing文件的权限,如下:

此时vbird用户对testing文件拥有rwx权限,那么就可以实现cd,ls -l, rm等操作了。

注意,对目录有w权限即可删除目录下的文件了!

注意其中mkdir, ls, cd, rm, chown, touch(建立一个空档案), su这些常用命令的使用。

参考:

《鸟哥的Linux私房菜——基础学习篇》

时间: 2024-08-14 03:28:45

Linux下目录和文件的三种权限的相关文章

ubuntu/linux mint 创建proc文件的三种方法(二)

在做内核驱动开发的时候,可以使用/proc下的文件,获取相应的信息,以便调试. 大多数/proc下的文件是只读的,但为了示例的完整性,都提供了写方法. 方法一:使用create_proc_entry创建proc文件(简单,但写操作有缓冲区溢出的危险): 方法二:使用proc_create和seq_file创建proc文件(较方法三简洁): 方法三:使用proc_create_data和seq_file创建proc文件(较麻烦,但比较完整): 示例四:在proc文件中使用内核链表的一个示例(用的方

ubuntu/linux mint 创建proc文件的三种方法(四)

在做内核驱动开发的时候,可以使用/proc下的文件,获取相应的信息,以便调试. 大多数/proc下的文件是只读的,但为了示例的完整性,都提供了写方法. 方法一:使用create_proc_entry创建proc文件(简单,但写操作有缓冲区溢出的危险): 方法二:使用proc_create和seq_file创建proc文件(较方法三简洁): 方法三:使用proc_create_data和seq_file创建proc文件(较麻烦,但比较完整): 示例四:在proc文件中使用内核链表的一个示例(用的方

ubuntu/linux mint 创建proc文件的三种方法(一)

在做内核驱动开发的时候,可以使用/proc下的文件,获取相应的信息,以便调试. 大多数/proc下的文件是只读的,但为了示例的完整性,都提供了写方法. 方法一:使用create_proc_entry创建proc文件(简单,但写操作有缓冲区溢出的危险): 方法二:使用proc_create和seq_file创建proc文件(较方法三简洁): 方法三:使用proc_create_data和seq_file创建proc文件(较麻烦,但比较完整): 示例四:在proc文件中使用内核链表的一个示例(用的方

ubuntu/linux mint 创建proc文件的三种方法(三)

在做内核驱动开发的时候,可以使用/proc下的文件,获取相应的信息,以便调试. 大多数/proc下的文件是只读的,但为了示例的完整性,都提供了写方法. 方法一:使用create_proc_entry创建proc文件(简单,但写操作有缓冲区溢出的危险): 方法二:使用proc_create和seq_file创建proc文件(较方法三简洁): 方法三:使用proc_create_data和seq_file创建proc文件(较麻烦,但比较完整): 示例四:在proc文件中使用内核链表的一个示例(用的方

linux下目录与文件的权限及特殊权限

一.Linux下目录与文件的权限 chown    更改文件或目录的所属主,所属组   /etc/passwd 配置文件存放用户信息 useradd    添加用户 chown 所属主:所属组 文件或目录 chown -R    更改目录及目录下面的文件所有权限 chown -v    可视化显示权限更改 [[email protected] tmp]# chown user1:root aa [[email protected] tmp]# ls -l drwxr-xr--. 2 user1 

linux下目录与文件的查找

参考网址:http://www.runoob.com/linux/linux-command-manual.html which命令: which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录.which指令会在环境变量$PATH设置的目录里查找符合条件的文件.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. 语法 which(选项)(参数) 选项 -n<文件名长度>:制定文件名长度,指定的长度必须大于或等

linux下软件的安装的三种方法

在CentOS或rhel下,软件包的管理方式有三种: 一种是使用rpm安装别人编译好的软件包,一种是使用yum,还有一种是使用编译安装 1.软件包简介 软件包的组成部分: 二进制程序:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin 库文件:/lib,/usr/lib,/usr/local/lib 配置文件:/etc 帮助文件:手册(/etc/man.config),README,INSTALL(/usr/share/doc

Linux下修改Mysql密码的三种方式,测试过效果,能正常使用

个人分类: mysql修改密码linux修改mysql密码软件编程 有时我们会忘记Mysql的密码,或者想改一个密码,以下将对这两种情况修改密码的三种解决方法做个总结 本文都以用户为 root 为例: 一.拥有原来的myql的root的密码: 方法一: 在mysql系统外,使用mysqladmin mysqladmin -u root -p password "test123"Enter password: [输入原来的密码]方法二: 通过登录mysql系统, mysql -uroot

linux 环境变量PATH路径的三种方法

转:http://www.jb51.net/LINUXjishu/150167.html 总结:修改1.#PATH=$PATH:/etc/apache/bin  或者#vi /etc/profile  或者#vi ~/.bash_profile 生效:如果修改了/etc/profile,source /etc/profile.注意需要重新打开终端 echo $PATH. 比如要把/etc/apache/bin目录添加到PATH中,方法有三: 1.#PATH=$PATH:/etc/apache/b