美文网首页Linux 相关文章LinuxKali Linux
谁动了我的文件--文件权限管理

谁动了我的文件--文件权限管理

作者: Adambee08 | 来源:发表于2018-01-10 08:14 被阅读15次

    这篇文章会讲述文件权限相关的内容,并告诉你为什么会出现“permission deny”和如何解决这个问题。

    文件属性和文件权限

    在谈文件权限之前我们先在终端键入ls -l,看看会发生什么。

    $ ls -l
    total 40
    -rw-r--r--  1 adambee  staff   589 12  9 11:28 asset-manifest.json
    -rw-r--r--  1 adambee  staff  3758 12  9 11:28 favicon.ico
    -rw-r--r--  1 adambee  staff   538 12  9 11:28 index.html
    -rw-r--r--  1 adambee  staff   298 12  9 11:28 manifest.json
    -rw-r--r--  1 adambee  staff  3646 12  9 11:28 service-worker.js
    drwxr-xr-x  4 adambee  staff   136 12  9 11:28 static
    

    在这里,每一行信息都包含了某个文件或目录的基本信息,我们只讨论前十个字符,即-rw-r--r--,依次给它们标号为1~10。

    • 第一个字符-d,表示了文件类型,-指文件,d指目录,后面还会遇到其他的文件类型。
    • 剩下九位我们分三组,每组三位
      • 第一组rw-rwx表示文件所有者权限
      • 第二组r--r-x表示用户组权限
      • 第三组r--r-x表示其他人权限

    现在知道了分类,我们再来看看权限分别是什么意思。

    • r表示可读,对文件而言就是可以读取里面的内容,对目录而言就是可以看到当前目录下的文件或目录
    • w表示可写,对文件而言就是可以对其进行修改,对目录而言就是可以在当前目录下创建新的文件或目录
    • x表示可执行,对文件而言就是可以将其作为一个程序进行执行,对目录而言就是可以进入其中
    • -表示没有对应的权限

    举例来讲,drwxr-xr-x表示这是一个目录,对文件拥有者有可读可写可执行的权限,对同组的用户有可读可执行的权限,对其他用户有可读可执行的权限。

    改变文件属性和权限

    既然权限这么重要,自然学习改变权限也是很有必要了解的。在这里和前文一样,我们只讨论前十个字符的操作。
    可以试试这条命令:

    $ chmod -x static
    $ ls -ld static
    drw-r--r--  4 adambee  staff  136 12  9 11:28 static
    $ cd static
    cd: permission denied: static
    

    这时我们发现没有权限进入static目录了。

    再来试试看这个命令:

    $ chmod 755 static
    $ ls -ld static
    drwxr-xr-x  4 adambee  staff  136 12  9 11:28 static
    $ cd static
    

    神奇的发现又可以进入static目录了。

    其实以上就是我们常用来修改权限的两种方式。

    符号类型

    • + 给文件或目录添加指定权限
    • - 删除文件或目录指定的权限
    • = 设置指定的权限
    $ chmod u=rwx,g=rw,o=r index.html
    $ ls -l index.html
    -rwxrw-r--  1 adambee  staff   538B 12  9 11:28 index.html
    

    上面这个例子里,我们给index.html文件的所有者rwx的权限,给同组用户rw的权限,给其他用户r的权限。

    数字类型

    为了方便起见,我们用八进制数字来指定文件的权限,用每种身份的权限的数字和来表示当前权限。

    • r 4
    • w 2
    • x 1
    $ chmod 000 index.html
    $ ls -l index.html
    ----------  1 adambee  staff  538 12  9 11:28 index.html
    

    发现我们对index.html文件没有任何操作权限。

    $ chmod 755 index.html
    $ ls -l index.html
    -rwxr-xr-x  1 adambee  staff   538B 12  9 11:28 index.html
    

    上面这个例子里,我们给index.html文件的所有者rwx的权限,给同组用户rx的权限,给其他用户rx的权限。

    相关文章

      网友评论

        本文标题:谁动了我的文件--文件权限管理

        本文链接:https://www.haomeiwen.com/subject/tgpnnxtx.html