menu Chancel's blog
rss_feed
Chancel's blog
我就是这样的人

Linux文件权限快速预览

作者:Chancel, 更新:2018 Dec 28, 字数:2209, 已阅:667

这篇文章更新于 1621 天前,文中部分信息可能失效,请自行甄别无效内容。

参考资料打伞的鱼,Linux的文件权限让很多新手望而却步,甚至不少用过Linux一段时间的同学对权限这一块都比较模糊,在这里总结一下权限相关的知识,点到为止,只够使用,更多复杂(例如十二权限之类的)如果同学有兴趣可以自己深入研究

用户与用户组

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。

  • 文件/文件夹的属性
    • 所有者
      • 一般为文件的创建者
    • 文件所在组
      • 一般为文件创建者所在的组
    • 其他组

查看文件/文件夹的权限

  • 例子

    chancel@chancel-cp:/mnt/d/temp$ ll -l
    drwxrwxrwx 1 chancel chancel    4096 Nov  6 14:16 code/
    -rwxrwxrwx 1 chancel chancel 1117450 Oct 23 13:41 my_log.txt*
    
  • -rwxrwxrwx的含义

    • 第一个字符“-”
      • 代表文件:-
      • 代表目录:d
      • 代表链接:l
    • rwxrwxrwx的含义
      • 第一组rwx代表文件所有者的权限(chancel用户的权限)
      • 第二组rwx代表文件所有者同一组的用户的权限(属于chancel组下面的用户对文件的权限)
      • 第三组rwx代表与文件创建组不同组的其他用户的权限(可以简单理解为其他用户的权限)
  • rwx的含义

    • r:代表读取(read)的意思,指读取文件的权限
    • w:代表写入(write)的意思,指修改文件的权限
    • x:代表执行(execute)的意思,指执行文件的权限(如果文件是可执行文件,例如.sh脚本,执行它的用户需要x权限,否则会执行失败)

更改文件/文件夹的权限

  • 改变权限的例子

    chmod 755 my_log.txt
    chmod u=rwx,g=rx,o=rx my_log.txt
    chmod u-x,g+w my_log.txt
    chmod a+r my_log.txt
    chmod -R 755 code/
    
  • 数字的含义

    • r=4,w=2,x=1,755即意味着rwxr-xr-x的权限,数字7=r+w+x,而数字5=r+x没有w
    • 可用数字7、5、4、3、2、1、0
    • 组合列表一览
      • 600:只有拥有者有读写权限(-rw------- )
      • 644:只有拥有者有读写权限;而属组用户和其他用户只有读权限(-rw-r--r-- )
      • 666:所有用户都有文件读、写权限(-rw-rw-rw-)
      • 700:只有拥有者有读、写、执行权限(-rwx------)
      • 711:拥有者有读、写、执行权限;而属组用户和其他用户只有执行权(-rwx--x--x)
      • 755:拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限(-rwxr-xr-x)
      • 777:所有用户都有读、写、执行权限(-rwxrwxrwx)
  • u、g、o的含义

    • u:代表用户(user)的意思
    • g:代表用户组(group)的意思
    • o:代表组织(organization)的意思,即其他用户
  • u-x,g+w的含义

    • u-x:u代表用户(user)的意思,-代表取消的意思,x代表执行的意思,所以u-x即是取消用户执行的权限
    • g+w:g代表用户组(group)的意思,+代表增加的意思,w代表写入的意思,所以g+w即是增加用户组写入的权限
  • a+r的含义

    • a+r:a代表全部(all)的意思,r代表读取的意思,所以a+r即是给所有用户增加读取的权限
  • -R 755的含义

    • R:表示循环设置文件夹下所有子文件、文件夹的权限(大部分命令如需循环设置都可以添加-R属性)
    • 755:rwxr-xr-x的权限

更改文件/文件夹的所有者和用户组的命令

  • 例子

    chown otheruser my_log.txt
    chgrp othergroup my_log.txt
    
  • chown的含义

    • 更改文件所属用户
  • chgrp

    • 更改文件所属组

改变用户所在组

  • 例子

    usermod -g othergroup chancel
    

这个应该没什么好解释的


[[replyMessage== null?"发表评论":"发表评论 @ " + replyMessage.m_author]]

account_circle
email
web_asset
textsms

评论列表([[messageResponse.total]])

还没有可以显示的留言...
[[messageItem.m_author]] [[messageItem.m_author]]
[[messageItem.create_time]]
[[getEnviron(messageItem.m_environ)]]
[[subMessage.m_author]] [[subMessage.m_author]] @ [[subMessage.parent_message.m_author]] [[subMessage.parent_message.m_author]]
[[subMessage.create_time]]
[[getEnviron(messageItem.m_environ)]]
目录