chmod777到底是什么意思

在对linux系统中的文件设置权限的时候,突然想到一个问题:chmod 777 [file]可以给文件授权,这个权限该怎么调节,每个数字的意思是什么,这样设置会有什么安全风险没有?

带着这些疑问,查阅了相关资料,发现还真不能随便碰到文件没有权限就无脑777(之前碰到文件没有权限就无脑777

文件的权限表示

可以通过ll命令展示文件的信息

chmod777到底是什么意思

chmod命令

chmod(change mode)命令是控制用户对文件的权限的命令

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

  • 语法

    chmod mode file

    其中mode可以设定为字符串[ugoa][+-=][rwx]

    • 其中[ugoa]代表的是
      • u(owner)表示文件所有者,即创建文件的人
      • g(group):表示和文件所有者相同组的用户
      • o(other):表示非文件所有者和相同group的用户
      • a(all):表示所有用户
    • [±=]表示
      • +:表示给指定的用户授权指定的权限
      • -: 表示撤销指定用户的某个权限
      • =: 将指定用户的指定权限重新设置
    • [rwx]表示
      • r:可读权限
      • w:可写权限
      • x:可执行权限
  • 使用:

    • 给文件所有者设置可读权限

      chmod u+r test.txt

    • 给文件所有者设置可写权限

      chmod u+w test.txt

    • 给文件所有者设置可读可写可执行权限

      chomd u+rwx test.txt

    • 给其他的用户设置可执行权限

      chmod o+x test.txt

    • 将其他用户的可写权限撤销

      chmod o-w test.txt

    • 给文件所有者、当前组的用户设置可读可写可执行的权限

      chmo ug+rwx test.txt

777表示什么

chmod可以使用八进制数来指定权限,无需再使用指定的权限和用户的字母来进行标识,通过读写执行等3个权限的数字来进行设置

  • 八进制语法

    # 权限 rwx
    7 读+写+执行 rwx
    6 读+写 rw-
    5 读+执行 r-x
    4 只读 r–
    3 写+执行 -wx
    2 只写 -w-
    1 只执行 –x
    0 无权限
    • r(读)的权限的数字为4,w(写)的权限的数字为2,x(执行)的权限数字为1
    • 所以7表示的赋权的用户有读写执行权限,最大的权限
  • 777表示什么

    因为文件的权限分为3种用户,分别为u(文件所有者)、g(文件的组用户)、o(其他用户),所以777表示ugo都是777的权限

    chmod 777 test.txt:表示将test.txt文件的读、写、执行权限赋权给所有的用户。

  • 修改文件所属用户

    chown -R user:group test.txt 可以修改指定文件的用户和组

777权限是个不安全的权限,因为每个用户都有所有的权限,那么对于一些文件或者执行文件来讲,任何用户都可以修改和执行,其实对于系统不太友好,因为无法做到权限的限制,所以之后再对文件进行授权的时候,要想好文件的权限~~

上一篇:Linux sed命令在指定行前后添加内容


下一篇:Linux 文件特殊权限