Linux 文件权限 chmod chown

1. Linux 文件访问权限

chmod 是change mode 的缩写。同理chown是change owner的缩写,一个是改变文件的访问权限,一个是改变文件的所有者。

2. 改变文件访问权限 chmod

Linux文件来讲,访问权限和文件的所有者是比较重要的两个属性。文件的访问权限大概是这样一个概念。例如文件的访问权限又3中,一个是读,用read 表示,标志位为4,一个是写,用w表示,标志位是2, 另一个是x,标志位是1,表示可执行的意思(对于一个文件,x表示这个文件可以执行,对于一个目录,x表示这个目录可以访问,即可以cd进去)。对于一个指定用户,如果对一个文件的mode值是7,那么表示这个用户对这个文件又 rwx 的权限。这个是位运算的,希望能仔细理解一下。其中的 755 表示 owner 对这个文件的权限是rwx(读写执行或访问),group_user 对这个文件的权限是rx,others 对这个文件的权限是rx(读写执行和访问)。

chmod -R 755 *

我们通过 ll 命令 或者 ls -al 列出来的通常都是一个3位的数字,这个怎么理解呢。原来是这样的,这个三位数分别表示owner group_user others 对这个文件的权限,这样表示的根源是 Linux 是一个多用户的操作系统,一个文件可以被不同的用户看见。又必要解释一下group_user 这个概念,在Linux中,用户是可以又group的,一个group中可以又多个用户,所以一个文件需要说明这3类用户对文件访问权限才算是完整的,不然,当一个文件暴露给不同类型的用户的时候,操作系统怎么会处理这个case呢?上面的基本都是 文件权限的问题,知道这些知识,就可以给一个文件设置合适的权限了,如果是一个目录的话,如果想要递归设置目录里面的每一个文件的权限,可以使用-R参数。

3. 改变文件用户组属性 chown

下面是chown相关的内容。
每个文件都有一个owner,这个owner是通过一个group 和 一个user 来共同决定的。如果不知道你的身份,可以用 whoami 来查看。如果不知道你当前的group,可以用groups来查看所有的group。
这两个工具的通常实用场景是这样的,你不想在编辑一个文件的时候老是利用sudo,这个文件没有必要被保护,一种方式是把这个文件的访问权限设置成777,这样所有人都可以随意修改而不受任何保护。但是另一中方式是将这个文件的owner设置成你自己的当前用户,或者说你想让他随意编辑这个文件而不受任何限制的用户。例如这样

chown -R work:work .*

这样可以将当前目录下的所有文件都设置成work work,第一个work是用户名,第二个是用户组。一般情况下是一样的。如果是在不知道的话,可以touch 一个文件,然后ls -al,这样看下列出的新文件的user 和 group,设置成一样的,你就可以取消掉老是输密码的麻烦了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。