• Liunx下文件权限详解


    刚接触Linux时对Linux下的文件权限的概念一直很模糊,观念还一直停留在windows下,所以有很多操作一直提示权限不够。为了弄懂文件权限问题我查找了很多资料整理如下,我把这些学习笔记贴出来和大家一起分享,如有错误望指正。

    对于Linux系统中的文件来说,有三种身份四种权限

    三种身份是:
    (1) u:文件的拥有者
    (2) g:文件所属的群组
    (3) o:其他用户


    对于每个身份,又有四种权限,分别为:
    (1)  r:读取文件的权限(read)
    (2)  w:写入文件的权限(write)
    (3)  x:执行的权限(execute)
    (4)  s:特殊权限



         在Linux系统中,文件的属性由10个字符来表示,第一个字符表示文件的类型,其余9个字符分为三组,分别表示文件的拥有者、群组以及其他人对该文件的访问权限,每组依次表示读取、写入、和执行的权限,如果没有该权限,则以-(一个减号)显示。

    1. 文件类型 文件拥有者的权限 群组的权限 其他人的权限
    2. - rw- rw- r--


    Linux下,查看某路径下用(ls -l)查看所有文件的详细属性列表时,会看到文件的操作权限,类似“drwxr-xr-x”的字符串。
    这串字符可以分成4段理解,结构为“d + 文件所有者操作权限 + 文件所有者所在组操作权限 + 其余人的操作权限”:
    1,第一段:例子中字母“d”,表示文件文件类型
    2,第二段:例子中字符串“rwx”,表示文件所有者对此文件的操作权限
    3,第三段,例子中字符串“r-x”,表示文件所有者所在组对些文件的操作权限
    4,第四段,例子中字符串“r-x”,表示除2、3两种外的任何人对此文件的操作权限


    通常用三个数字来表示文件的读取、写入、执行权限:
    执行:1
    写入:2
    读取:4
    随便写个数字:755,这个3位数分别对应前面所说的分段:7对应第二段,5对应第三段,5对应第四段。
    含义:
    7:表示文件所有者的权限,4+2+1=7,即文件所有者对该文件有生杀大权,读、写、执行随便。
    5:表示文件所有者所在组的权限:4+1=5,即文件所有者所在组对文件有读、执行权限,没有写权限。
    5:同上,其余人对该文件只有读、执行权限,没有写权限。
    具体使用——例 :chmod 755 文件名。

    数字形式表示的权限
    除了以上的表示文件权限的方式外,我们经常会看到文件的权限为777、666等,这些又是怎么回事呢?这其实也是Linux系统下一种表示文件权限的方式。

    在Linux系统中,对于文件的权限有读取、写入、执行三种,分别用rwx表示,另一种表示权限的方式就是使用数字,读取、写入和执行权限分别由数字4、2和1表示。


    1. 读取权限:r 或者4
    2. 写入权限:w或者2
    3. 执行权限:x或者1


    4. 示例
    若要rwx属性则4+2+1=7;
    若要rw-属性则4+2=6;
    若要r-x属性则4+1=7。

    -rw------- (600) -- 只有属主有读写权限。

    -rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。

    -rwx------ (700) -- 只有属主有读、写、执行权限。

    -rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。

    -rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。

    -rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。

    -rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。

    如果一个文件拥有777的权限,则说明该文件的拥有者、群组、以及其他人都可以对该文件进行读取、写入和执行的操作,也就是说谁都可以来操作这个文件了。


    参考资料:
    http://os.51cto.com/art/201003/187970.htm
    http://www.letuknowit.com/topics/20120315/file-permission-detail-explanation.html

  • 相关阅读:
    oracle 对应的JDBC驱动 版本
    Java Web中如何访问WEB-INF下的XML文件
    网站制作越简单越好(一):css样式命名规范
    HTTPClient以WebAPI方式发送formData数据上传文件
    NetCore(依赖注入)
    JS a标签 onClick问题
    NetCore的配置管理(1)
    Centos 系统安装NetCore SDK命令以及一系列操作(3)
    Centos 系统安装NetCore SDK命令以及一系列操作(2)
    Centos 系统安装NetCore SDK命令以及一系列操作(1)
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3177804.html
Copyright © 2020-2023  润新知