Linux-权限管理(你听过777、755、644吗)

文章目录


linux 中每个文件有所有者、所在组、其它组的概念。
类似linux 中的每个用户必须属于一个组,不能独立于组外,组的相关操作可参考:Linux-用户管理

  • 所有者
    文件所属用户,默认是文件创建者。
  • 所在组
    文件所在的组,默认是所有者所在的组。
  • 其他组
    所在组之外的组

rwx权限


  • r
    read,代表可读,可以读取查看(ls)文件或目录
  • w
    write,代表可写,可以修改文件或目录,但不代表能删除文件,删除文件的前提是对该文件所在目录有写权限。
  • x
    execute,代表可执行,可以执行文件或进入目录

通过指令ls -ahlll查看文件所有者:
更多指令可参考:Linux-基础实用指令(不会还有人不知道吧)

  • 第0位,文件类型,-为文件,d为目录
  • 1-3位,所有者对该文件的权限
  • 4-6位,所在组对该文件的权限
  • 7-9位,其他组对该文件的权限
    Linux-权限管理(你听过777、755、644吗)

修改权限-chmod


chmod即change mode的缩写。
首先要知道修改对该文件的权限,用u(user)、g(group)、o(other)、a(all)表示谁:

u g o a
所有者 所有组 其他人 所有人

然后是怎么修改权限,用+、-、=表示:

+ - =
新增权限 删除权限 覆盖权限

最后是具体的什么权限,除了rwx表示外,还能用数字表示:

r w x
4 2 1

所以rwx=7,rw=6,rx=5,数字之和表示,以此类推。
那么标题中的777就等价于u=rwx,g=rwx,o=rwx(即所有者、所在组和其他组都有读写执行权限)
755等价于u=rwx,g=rx,o=rx(即所有者有读写执行权限,所在组和其他组只有读执行权限)
644等价于u=rw,g=r,o=r(即所有者有读写权限,所在组和其他组只有读权限)

语法:chmod [OPTION] OCTAL-MODE FILE
其他参数:

参数 说明
-c 若该文件权限确实已经更改,才显示其更改动作
-f 若该文件权限无法被更改也不要显示错误讯息
-v 显示权限变更的详细资料
-R 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

Linux-权限管理(你听过777、755、644吗)

修改文件所有者-chown


chown即change owner的缩写。
语法:chown [OPTION] [OWNER][:[GROUP]] FILE

参数 说明
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-v 显示详细的处理信息
-R 处理指定目录以及其子目录下的所有文件

Linux-权限管理(你听过777、755、644吗)

修改文件所在组-chgrp


chgrp即change group的缩写。
语法:chgrp [OPTION] GROUP FILE

参数 说明
-f 不显示错误信息
-R 递归将指定目录下的所有文件及子目录一并处理
-v 显示指令执行过程

Linux-权限管理(你听过777、755、644吗)

上一篇:poj 2959(水题,注意是直径和球球之间距离)


下一篇:非线性规划