“ chmod 666”是什么意思?


47

我正在使用Linux。是什么意思chmod 666


28
aka,撒旦的命令。
摩押

6
如果那样打扰您(或者如果您不愿意记住这些数字),也可以将其写为chmod a=rw
starblue 2011年

无用的命令,因为没有给第三个参数^^
kokbira

也可能产生安全漏洞(所有用户都可以写入文件/文件夹)或无用的文件/文件夹权限
kokbira

Answers:


112

chmod 命令从文件/文件夹更改属性:

  • chmod 666 file/folder 表示所有用户都可以读写,但不能执行文件/文件夹;
  • chmod 777 file/folder 允许所有用户执行所有操作;
  • chmod 744 file/folder只允许用户(所有者)执行所有操作;组和其他用户只允许阅读。

    permission to:  user(u)   group(g)   other(o)     
                    /¯¯¯\      /¯¯¯\      /¯¯¯\
    octal:            6          6          6
    binary:         1 1 0      1 1 0      1 1 0
    what to permit: r w x      r w x      r w x
    
    binary         - 1: enabled, 0: disabled
    
    what to permit - r: read, w: write, x: execute
    
    permission to  - user: the owner that create the file/folder
                     group: the users from group that owner is member
                     other: all other users
    

另外,您可以使用更直观的语法来执行命令,而无需考虑二进制或八进制(但数字语法的知识是如此重要): chmod u=rw, g=rw, o=rw file/folder

请记住,使用chmod命令更改权限至少需要3个参数,因此chmod 666如果没有显式的文件/文件夹来更改权限,则不会执行任何操作。

还请确保批评是不是不会产生不安全的问题,或者仅仅是批评它是否是无用的权限更改,因为这chmod 666将允许文件/文件夹写入所有人而执行不对任何人执行。


5
只有“八进制”,而不是“十进制”。还是+1。
Ben Voigt

1
在第一篇文章中提到的第三点是不正确的-chmod 711仅允许所有者执行所有操作,仅允许组和其他用户读取其他操作![在此处输入图像说明] [1]这是八进制rwx 000 001的rwx表010 011 100 101 110 111八进制001,或1表示执行许可八进制7、111表示读写许可,因此711表示所有者的rwx和组及其他的x。

3
无论如何它只能达到7,因此在这种情况下八进制和十进制之间没有区别。:/
Rob

是的,@ Yash,在原始帖子发布1年2个月18天后,有人看到了该错误:)我将其更正为744。
kokbira 2012年

1
@KyleVassella owner是文件或文件夹的所有者,通常是文件或文件夹的所有者。group是与该文件或文件夹关联的用户组,通常是所有者所在的组。因此,假设我是rootbira,而我的用户组也是rootusers,并且您也位于该组中,而所有其他SU论坛成员都位于另一个组中。如果我创建文件并使用chmod 750执行操作,那么我将读取,写入和执行该文件,则您将只能读取和执行该文件,而SU用户则不会执行任何操作-这是我们的秘密
¬– kokbira

7

简而言之:它使文件所有者,文件所有者的组以及使用计算机的所有其他人(全部)都可读写文件。应用于目录,它使每个人都可以读取(获取文件内容列表)目录并写入(创建,编辑目录中的文件),但不能执行目录中的文件。

有关如何chmod工作的更多详细信息,请查看此方便的教程


2
...是不是让所有人都读取/写入文件但不执行文件,让所有人都读取/写入目录中的文件,而不列出所有文件?
Earlz 2011年

2
@earlz所说的内容,再加上在目录上写入并不意味着您可以在此处编辑文件(在文件上写入权限),而仅表示可以创建新条目(目录,文件,符号链接等)。同样,很高兴提到Dirs以获得完整性,但是666对于dir没有意义。您永远不会为所有者消除x。
Rich Homolka

1
@Earlz:谢谢。我总是忘记666对目录有什么作用,因为,我从来没有为目录上的用户设置rw-。:)
Ian C.

7

如其他答案所述,chmod表示更改模式。它影响所有者,组和其他类别用户的读取,写入和可执行权限。命令后面的数字(在本例中为666)表示如何修改运行该命令的文件的那些权限(对于666,这意味着所有者,组和其他用户具有读写权限,但没有可执行权限) 。

通过将数字更改为不同的值,可以有效地更改文件的权限。我上面引用的链接有一个小工具,可以弄清楚您需要输入什么值才能获得所需的权限方案。它还遍历了该命令可用的开关选项和一些示例,以帮助您更好地了解其工作方式。


1
那是一个很棒的网站。它在我的书签中。谢谢!
柯克

5

chmod命令(更改模式的缩写)是Unix命令,它使操作员可以告诉系统它应允许对文件进行多少(或很少)访问。命令chmod 666意味着所有用户都将具有读写权限。


2

如果您的问题更多地是关于666部分而不是chmod部分,那么我将向您介绍Linux文档项目,该文件很好地解释了Linux中文件权限的工作方式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.