Llinux文件目录权限及chmod命令简析

这些天,在互推联盟群(344134224 )遇到几例关于 WP 升级失败以及 FTP 账号登陆的问题。最终发现都是主机的目录权限设置存在问题。比如,博友【PPT 分享网】提出,能否让 2 个账号都能访问同一个 FTP 目录,其实只要使用 chmod 对目录赋相应的权限即可。

本文整理了关于 Linux 目录权限的一些基础知识,希望可以帮助一些刚接触 Linux 的朋友,比如使用 VPS 的博友等。


下图直观的展现了 Linux 系统中文件目录权限信息,有了它,应该能很快的算出,主机后台管理中类似于 755、604、664 等数字代表的具体权限。这类三位数,分别表示下图的 r w x 的值(红色说明)的求和。

如果是在终端环境,可以使用 ls -al 命令列出当前目录所以文件、文件夹以及相应的权限情况。当然,直接使用 ll 命令也是一样的效果啦!如下图所示:

结果中,d 打头的表示是一个目录,也就是文件夹;-横杆打头的表示是一个文件,当然还有其他打头的,比如 l 打头表示一个链接文件等等,这里就不细说了。下面介绍 rwx 代表的详细意义。


目录的 【读权限位】意味着可以列出其中的内容。【写权限位】意味着可以在该目录中创建文件,【执行权限位】则意味着搜索和访问该目录(cd)。

r-- 权限:单独有读权限不能执行 ls 命令,ls dir 需要同时有这个 dir 的 r-x 权限。

-w- 权限:光有写权限什么事也不能干。创建文件要有-wx 权限。

--x 权限:光有 x 权限可以进入该目录,可以 cd path,

如果对某一文件有读权限,可以 ls path/xfile  cat path/xfile.

如果对某一文件有写权限,可以 vi path/xfile,(没有读权限的时候)可以以覆盖的形式保存。

如果对某一文件有执行权限,可以 path/xfile 执行该文件。

假设 path 路径下有一个文件 file,某用户对 file 的文件的权限为 rwx ,而 path 为 --x,那么用户可以通过路径的方式 ……/path/file 执行该 file 文件,通过 vi 编辑该文件,因为该目录是可以访问的。

但是该用户 cd 该目录后不能 ls,但是可以 ls path/file.

假设 path 下有一个文件 file,某用户对 file 的文件的权限为 rwx, 而 path 为 rw-,那么该用户无法通过路径的方式 ……/path/file 执行该 file 文件,无法通过 vi 编辑该文件,因为该目录是不可以访问的(无法 cd 进入该目录)。同时也不能在该目录下建立新文件,虽然看起来已经有 w 的权限。

如果某个用户对文件夹/AA/BB/CC 有 rwx 的权限,如果想正常操作 CC 文件夹,对 AA 和 BB 都必须有 x 权限。

所以目录对组合其他用户一般都设为 r-x.

对于文件来说,如果要想一个文件的 x 权限起作用,同时必须有 r 权限。

对于目录设 w 权限给别的用户的危险性:在用户 Locke 拥有的目录…/treaties 下有一个文件叫 twotreatiesOnGrv,然后 Locke 给这个文件限制为别的用户不能写,但是别的用户对 treaties 目录却有写权限,那么别人,比如说,Plato 还能不能写 twotreatiesOnGrv 这个文件呢,答案是,不能但又能,Plato 不能直接,比如 vi 来改这个文件(但是 w! twotreatiesOnGrv 也可以覆盖这个文件),但是他可以通过 mv 将一个别的文件到 treaties 目录下覆盖这个 twotreatiesOnGrv.

对于没有写权限的文件,如果对所在目录有写权限,这个文件可以被删除。

以上,整理于网络


那如何变更权限呢?在终端中,可以直接使用 chmod 来改变权限:

比如,给文件 xfile 赋上可执行权限,可以

chmod +x xfile

如果是文件目录,想遍历赋权呢?那你可以使用 -R 参数,比如,给 /data/www 目录赋 755 的权限,你可以:

chmod -R  755 /data/www

所以,想赋什么权,只要根据第一个图查下对应的数字,然后 chmod 下就可以了!就是如此简单!

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

Linux系统下常用的数据备份方法

Linux作为网络操作系统,在服务器方面的应用越来越广泛。作为专门的网络服务器,一个重要功能就是对服务器数据进行备份,以确保数据的安全。本文将介绍在Linux系...

2158
来自专栏地方网络工作室的专栏

Shell 命令行,实现对若干网站状态批量查询是否正常的脚本

Shell 命令行,实现对若干网站状态批量查询是否正常的脚本 如果你有比较多的网站,这些网站的运行状态是否正常则是一件需要关心的事情。但是逐一打开检查那简直是一...

2508
来自专栏

从I/O复用谈epoll为什么高效

上一篇文章中,谈了一些网络编程的基本概念。在现实使用中,用的最多的就是I/O复用了,无非就是select,poll,epoll 很多人提到网络就说epoll,认...

2138
来自专栏xingoo, 一个梦想做发明家的程序员

Oozie分布式工作流——Action节点

前篇讲述了下什么是流控制节点,本篇继续来说一下什么是 Action Nodes操作节点。Action节点有一些比较通用的特性: Action节点是远程的 ...

2186
来自专栏张伟博客

ubuntu安装软件和查看已安装软件

1.9K4
来自专栏北京马哥教育

linux下用tar进行数据备份

豌豆贴心提醒,本文阅读时间7分钟 本机上数据的手工备份 Linux系统上配有功能强大的tar命令,可以灵活地备份数据。 tar最初是为了制作磁带备份而设计的把...

3088
来自专栏java一日一条

HttpInvoker运作原理

HttpInvoker是常用的Java同构系统之间方法调用实现方案,是众多Spring项目中的一个子项目。顾名思义,它通过HTTP通信即可实现两个Java系统之...

1275
来自专栏進无尽的文章

基础篇-Mac终端指令大全

在日常开发中我们经常会用到一些Mac的指令在终端中进行操作,所以了解和熟练使用一些基本的Mac终端指令是非常有必要的,也有利于自己的职业发展,下面就简单总结下M...

741
来自专栏云计算教程系列

【基础干货】Linux Shell基础教程

shell,也称为“命令行界面”或“CLI”,是与远程Linux服务器交互的主要方法。shell是一个丰富的界面,用于处理文件,管理系统和编写常见任务脚本。如果...

1364
来自专栏pangguoming

Git忽略规则.gitignore梳理

对于经常使用Git的朋友来说,.gitignore配置一定不会陌生。废话不说多了,接下来就来说说这个.gitignore的使用。

872

扫码关注云+社区

领取腾讯云代金券