当前位置:   article > 正文

一文读懂Linux文件权限控制相关

linux文件权限

文件权限基本概念

  • Linux一般将文件权限身份分为三种:ownergroupothers
  • Linux系统默认情况下所有账号信息(包括root)都记录在/etc/passwd文件中。个人密码则是记录在/etc/shadow文件下。群组名称记录在/etc/group

Linux文件属性

  • 切换至root账户命令:su root
  • 退出root账户命令:exit
  • 查看文件属性命令:ls -al或者ll

https://img-blog.csdnimg.cn/img_convert/87df422e0d5750f87a3792a9cfcfc7ed.png#clientId=u93de3467-ed8b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=140&id=ube75acda&margin=[object Object]&name=image.png&originHeight=175&originWidth=602&originalType=binary&ratio=1&rotation=0&showTitle=false&size=19056&status=done&style=none&taskId=u7cf57ff9-0335-4e7b-ba09-fd4673bd1f2&title=&width=481.6

第1列为权限
第2列为链接,表示有多少文件名链接到此节点(i-node)
第3列为owner
第4列为group
第5列为文件大小
弟6,7,8列为文件修改日期
第9列为文件名

权限列解读

  1. 权限列第一个字符表示文件类型
  • 当为d则是目录
  • 当为-则是文件
  • 若是l则表示为链接文件
  • 若是b则表示为设备文件里面的可供储存的周边设备(可随机存取设备);
  • 若是c则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备)。
  1. 权限列后面每3位为一组,且都是rwx组合,r代表可读,w代表可写,x表达可执行。 第一组代表owner的权限,第二组代表group的权限,第三组代表others的权限。

例如:-rw-r--r-- 1 root root 6 May 6 10:38 test.txt

  • 第1位为-,表示test.txt为一个文件
  • 第2-4位为rw-,表示test.txt的owner对该文件有读写权限,但是没有执行权限
  • 第5-7位为r--,表示test.txt的group成员对该文件只有读权限,没有写和执行权限
  • 第8-10位为r--,表示test.txt的除去owner和group之外的用户对该文件只有读权限,没有写和执行权限

修改文件权限

  1. 改变文件所属群组:chgrp [-R] [groupname] [dirname/filename]
  • -R表示递归修改所属群组,可以在修改目录所属群组时使用,递归将目录下所有文件的所属群组修改。

https://img-blog.csdnimg.cn/img_convert/8d027d50bf7ad4db9bf88c9235a477af.png#clientId=u93de3467-ed8b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=250&id=ue188f261&margin=[object Object]&name=image.png&originHeight=312&originWidth=627&originalType=binary&ratio=1&rotation=0&showTitle=false&size=38510&status=done&style=none&taskId=u0fd23cd7-a4e3-4f88-8673-8600ce80c3a&title=&width=501.6

groupname必须是在/etc/group文件中存在的群组名,否则会报错

  1. 改变文件所有者:chown [-R] [ownername] [dirname/filename]

https://img-blog.csdnimg.cn/img_convert/5669b538424f833882d73f19370cf46f.png#clientId=u93de3467-ed8b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=244&id=ud8554789&margin=[object Object]&name=image.png&originHeight=305&originWidth=622&originalType=binary&ratio=1&rotation=0&showTitle=false&size=38311&status=done&style=none&taskId=u6eca00e3-8ea9-498a-9e2a-8ec3716be4f&title=&width=497.6

  • 还可以直接同时修改owner和group:chown [-R] [ownername]:[groupname] [dirname/filename]

https://img-blog.csdnimg.cn/img_convert/01f0088776bdb03bb19478c2641d5dc6.png#clientId=u93de3467-ed8b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=250&id=ud1ec9da9&margin=[object Object]&name=image.png&originHeight=312&originWidth=618&originalType=binary&ratio=1&rotation=0&showTitle=false&size=38268&status=done&style=none&taskId=u6f635b7e-d19e-4836-9c72-1264d4e5ffc&title=&width=494.4

ownername必须在/etc/passwd文件中存在的用户名,否则会报错

  1. 修改文件权限:chmod [-R] xyz [dirname/filename]
  • Linux系统中给权限分别分配了权值:r -> 4w -> 2x -> 1。上述test.txt文件中owner权限为rw-,其权值为6,group和others权限都为r--,权值都为4,故用权值的形式表达test.txt文件为644
  • Linux系统分别用ugo符号来代表owner、group、others
  • 通过权值的方式直接修改文件权限:

https://img-blog.csdnimg.cn/img_convert/11fadff0da10d77e460ec84c604308d5.png#clientId=u93de3467-ed8b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=250&id=u83192ced&margin=[object Object]&name=image.png&originHeight=312&originWidth=617&originalType=binary&ratio=1&rotation=0&showTitle=false&size=38628&status=done&style=none&taskId=ub264f433-e158-4ad2-a219-163f2f81b8a&title=&width=493.6

上述用chmod 777 test.txt之后可以看到test.txt的文件权限变为了-rwxrwxrwx

  • 通过符号来+-给对应用户添加、删除权限

https://img-blog.csdnimg.cn/img_convert/400e2dd4ac135d6215456cba3b18a8ae.png#clientId=u93de3467-ed8b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=257&id=ua0d7db6d&margin=[object Object]&name=image.png&originHeight=321&originWidth=642&originalType=binary&ratio=1&rotation=0&showTitle=false&size=47090&status=done&style=none&taskId=u75328605-a124-4186-9778-e2b07bc26bc&title=&width=513.6

  • 使用chmod u=rw,go=rw test.txt后,可以看到test.txt文件权限变为-rw-rw-rw-,说明可以直接使用u|g|o = r|w|x的方式直接修改文件权限
  • 使用chmod u+x,go-w test.txt后,可以看到test.txt文件权限变为-rwxr--r--,说明可以直接使用u|g|o +|- r|w|x的方式直接给指定身份添加或删除文件权限
  • 使用chomod a-x test.txt后,可以看到test.txt文件权限变为-rw-r--r--,这里a代表的是所有用户的意思,所以直接将owner、group、others的权限都删去了x权限。

目录与文件权限意义

文件类型 内容 r w x
文件 详细数据data 读取文件内容 修改文件内容 执行文件
目录 文件名 读到文件名 修改文件名,以及目录中内容 进入目录
  • 只有对目录有执行权限,才可以进入目录

https://img-blog.csdnimg.cn/img_convert/6c864b2ff2ef590858b7af6a242fd432.png#clientId=u93de3467-ed8b-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=230&id=u89a2e397&margin=[object Object]&name=image.png&originHeight=287&originWidth=662&originalType=binary&ratio=1&rotation=0&showTitle=false&size=27901&status=done&style=none&taskId=u03d679e4-8b90-4803-babb-c2b49f47600&title=&width=529.6

  • 如果对目录没有r权限,则即使有x权限进入了目录,使用ls命令也是会报permission deny错误

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/634813
推荐阅读
相关标签
  

闽ICP备14008679号