如果你是Linux使用者,或者在Linux服务器上管理你自己的网站,当你上传或修改文件的时候肯定经常会遇到这种情况“You do not have the permissions to upload file to the folder“。查了一堆资料后,结果大多是说把权限改成“755”或“777”。那么“777”是什么意思呢?为什么必须是“7”,不是“8”或“9”?

理解文件权限

Unix系统(包括Linux和Max OS X)拥有一套文件控制机制来决定谁可以进入某个文件或文件夹以及他们可以对这些文件或文件夹做什么。文件控制机制有两部分,即分组(classes)和权限(Permissions)。分组决定谁可以进入文件或文件夹,权限决定这些用户可以对这个文件做什么操作。

分组(classes)有三类——Owner,Group,Other

Owner 通常是这个文件/文件夹的创建者。在Linux系统中,在你的Home目录下创建的文件或文件夹通常来说你就是拥有者,除非你自己更改了它的所有权。

Group 涵盖了一群用户,这些用户拥有相同的权限和用户特权

Other 意思是普通访问用户

权限(Permissions)也有三种操作。读(read)写(write)和执行(execute)

Read 你只能查看文件,不能修改文件内容。运用在文件夹上的话,你只能查看文件夹里的文件,不能在文件夹里删除或者创建文件

Write 你可以编辑和修改文件,可以在文件夹里删除或者创建文件

Execute 执行主要用在你需要运行文件的时候(通常是当你需要运行脚本文件的时候)

当你将分组和权限结合起来,你就能控制谁能够进入文件以及他们能对这些文件做什么操作了

举个例子,拥有者Owner通常拥有全部的权限(读,写,执行)。如果你不是文件/文件夹的拥有者,你必须把文件的所有权改成你的名字,或者将其他分组(Group 和 Other)的权限设置为读,写和执行。在web服务器,如果你不能上传文件,可能是因为你不是目标文件夹的拥有者,或者你没有充分的权限在文件夹里添加文件。

数组代表什么?

在对分组和权限有了基本认识后,我们来深入探究“777”或者“775”是怎么来的?

每个文件和文件夹包含一个8字节的数据来控制权限。在最基本的二进制模式下,是“000”,表示没有权限。当你设置“读”的权限,它加4个字节到这个数据中,变成了“100”(在二进制)或者“4”在十进制。设置“写”的权限又会加2个字节到数据中,把它变成“010”或“2”在十进制。最后,设置“执行”权限加1个字节到数据中,导致“001”,或十进制的“1”。简短来说:

读相当于“4”

写相当于“2”

执行相当于“1”

当我们想要设置权限,我们只需要把上面的数字加起来。比如,设置读和写的权限,我们会用“6”(4+2)表示。读写和执行,就是“7”(4+2+1)。以下列出的是每个数字的含义

0 - 没有权限

1 - 执行

2 - 写

3 - 写和执行

4 - 读

5 - 读和执行

6 - 读和写

7 - 读,写和执行

你设置怎样的数字依赖于你想对这个文件加怎样的权限。

那三个数字“777”表示什么呢?第一个数字分配给Owner,第二个数字分配给Group,第三个数字分配给Other。那么“777”表示的权限是,每个人都可以读,写和执行这个文件。这里有一些常见的权限用法:

755 - 这个权限设置通常用于web服务器。拥有者有读,写和执行的全部权限。其他人都只有读和执行的权限,不能修改文件。

777 - 每个人都能够读,写和执行。在web服务端,很少会设置成“777”,因为这会导致任何人都能够添加恶意的代码到你的服务器。但是,在一些情况下,你需要为你的文件夹设置成“777”比如你想上传任何文件到服务器(举个例子,上传图片到WorldPress)

644 - 只有拥有者能够读和写。其他人都只能读。没有人能够执行文件。

655 - 只有拥有者能够读和写,但不能执行。其他人都只能读和执行,但不能修改文件。

用命令行设置文件权限

在 Linux,你只需在文件和文件夹单击鼠标右键选择“Properties”就能改变文件权限。能够改变文件权限的地方又一个权限tab。在终端,用“chmod”命令改变文件权限。简单的说, “chmod 777”表示设置文件允许每个人可读,可写和可执行。

chmod 775 /path/to/file

linux删除不了777文件,Linux使用着需要理解chmod -r 777文件权限相关推荐

  1. linux系统根目录执行了chmod,根目录执行chmod -R 777 / 的补救方法

    我相信大家都会遇到这样的问题的,执行后千万不要退出当前窗口!!! 在自己的虚拟机上设置某个站的权限的时候,原来应该是chmod -R 777 ./*  结果少按了个点,执行了chmod -R 777 ...

  2. Linux:chmod -R 777 *含义

    Linux:chmod -R 777 * 首先,chmod命令是linux上用于改变权限的命令,-R 是递归遍历子目录,因为你要操作的文件使用的*通配符. 777,第一个7代表文件所属者的权限,第二个 ...

  3. sudo chmod -R 777

    Permission denied,操作的文件没有权限的解决方法: sudo:是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具. -R:是指用到目录里所有子 ...

  4. 2021-05-13 根目录执行chmod -R 777 /* 系统无法登录

    执行后千万不要退出当前窗口!!!        在自己的虚拟机上设置某个目录下全部文件的权限的时候,原来应该是chmod -R 777 ./*  结果少按了个点,执行了chmod -R 777 /*  ...

  5. 误操作“chmod -R 777 / ”怎么办,不慌听我讲解

    前话 一次日常的Linux操作中,用chmod修改文件权限,误把命令敲成chmod -R 777 / ,在我0.5秒的反应时间里,我心跳加速脸红耳赤果断ctrl + c,我回到根目录下,发现还是有两个 ...

  6. chmod -R 777使用.

    chmod 修改文件和文件夹读写执行属性 1.把hh.c文件修改为可写可读可执行 chmod 777 hh.c 要修改某目录下所有的文件属性为可写可读可执行 chmod 777 *.* 把文件夹名称与 ...

  7. chmod -R 777 */755

    r表是读 (Read) .w表示写 (Write) .x表示执行 (eXecute) 1.777 读.写.运行三项权限可以用数字表示,就是r=4,w=2,x=1,777就是rwxrwxrwx,意思是该 ...

  8. Linux:chmod -R 777 * 是什么意思?

    首先,chmod命令是linux上用于改变权限的命令,-R 是递归遍历子目录,因为你要操作的文件使用的*通配符.777,第一个7代表文件所属者的权限,第二个7代表文件所属者所在组的权限,第三个7代表其 ...

  9. linux删除链接和连接对象,linux 链接的使用 创建和删除符号连接(软、硬链接)...

    在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问. ...

  10. linux中 #chmod –R 777 * 是什么意思

    今天看到我同事在Linux系统命令行中输入 sudo chmod 777 -R * 很好奇.? 后来百度了下,其实就是给给它们授权. 例子:~/AndroidStudioProjects/hw-tes ...

最新文章

  1. Tomcat目录介绍以及运行时寻找class的顺序
  2. 页面布局与编写(续2)
  3. linux中yum与rpm区别
  4. java ee编译器_Java EE 8 MVC:控制器的详细介绍
  5. 将Spring Bean注入非托管对象
  6. Python案例:求满足条件的人数
  7. TCA9548A iic地址扩展器件 树莓派JAVA版教程
  8. 不分享“年度报告”的人,多少有点难言之隐
  9. 【java笔记】map集合
  10. Swagger注解说明
  11. python异常值处理实例_Python对杂乱文本数据进行处理实例
  12. springboot项目快速搭建
  13. Laravel Collect集合用pluck取多维数组中某个字段值
  14. mysql 开源聊天系统_轻量级的开源企业聊天软件 喧喧聊天(界面很不错)
  15. 阿里Apsara Clouder专项技能认证:实现调用API接口——笔记
  16. 经纬财富:乌海黄金白银暂缓跌势
  17. 屏蔽CSDN弹窗广告
  18. 值得关注技术网站汇总,以及技术(自学用)
  19. 手机储存空间不足怎么清理?iPhone用户必备清理方法
  20. NetApp:世界杯盘点之数据增长篇

热门文章

  1. C++ 填入数字1-9 使数学等式成立
  2. 林书豪055-阿联德比
  3. 计算机摇号分析,北京市小客车指标管理信息系统
  4. ubuntu22.04 耳机没声音 [已解决]
  5. mpeg文件格式分析
  6. 如何完全禁止win10自动更新(自动升级)
  7. Android 点击键盘外 非输入框 关闭软键盘
  8. SEO入门一篇就够-SEO教程
  9. 微信小程序返回Qcloud\\Cos\\Exception\\NoSuchBucketException: Cos Error Code: NoSuchBucket, Status Code: 404
  10. mac win7 计算机,苹果Mac计算机安装win7开机出现applemtp.sys错误,重启或蓝屏