【概述】node
在 Linux 系统中,不一样的用户处于不一样的地位,拥有不一样的权限,为保护系统安全性,Linux 系统对不一样的用户访问同一文件(包括目录文件)的权限作了不一样的规定。mysql
Linux 系统的每个文件或目录都有访问权限,这些访问权限决定了哪些用户和组群能访问文件和能执行的操做。linux
【查看文件权限】sql
使用ls -l 命令能够显示文件的属性以及文件所属的用户和组。docker
Linux文件权限基本属性图文详解centos
[root@centos7 etc]# ls -l
total 1372
drwxr-xr-x. 3 root root 101 Mar 5 19:44 abrt
-rw-r--r--. 1 root root 16 Mar 5 19:51 adjtime
-rw-r--r--. 1 root root 1518 Jun 7 2013 aliases
drwxr-xr-x. 2 root root 4096 Mar 5 19:46 bash_completion.d
-rw-r--r--. 1 root root 2853 Oct 31 03:48 bashrc
drwxr-xr-x. 2 root root 6 Oct 31 07:31 binfmt.d安全
如图,以第一行为例:drwxrwxr-x 2 linuxidc linuxidc 4096 2月 18 10:59 linuxidc.combash
其基本构成是:文件属性 连接数 全部者 所属用户组 最后修改时间 文件名网络
1.文件类型socket
每一个文件的属性由左边第一部分的10个字符来肯定。
第一个字符表明文件类型,具体字符有:
d 目录
2.文件权限
文件类型其后的九个字符三个一组,均为 r w x 的三个参数的组合。其中, r 表明可读(read)、 w 表明可写(write)、 x 表明可执行(execute),这三个权限的位置不会改变,若没有权限,仅会出现 - 符号。
如下图为例,从左至右用0-9表示10个字符,第0位肯定文件类型,第1-3位肯定属主权限拥有该文件的权限(该文件的全部者的权限),第4-6位肯定属组权限拥有该文件的权限(全部者的同组用户),第7-9位肯定其余用户拥有该文件的权限。
注:
1.读权限,表示能够用一些命令来读取某个文件的内容;写权限,表示能够编辑和修改某个文件;执行权限,一般指能够运行的二进制程序文件或者脚本文件。
2.一个目录同时具备读权限和执行权限才能够打开并查看内部文件,而一个目录要有写权限才容许在其中建立其它文件,这是由于目录文件实际保存着该目录里面的文件的列表等信息。
3.连接数
文件属性后面的数字表明连接到该文件所在的 inode 结点的文件名数目。
4.文件大小
文件大小是以 inode 结点大小为单位来表示的文件大小,能够给 ls 加上 -lh 参数来更直观的查看文件的大小。
5.文件全部者与所属用户组
每一个文件都有一特定的全部者,也就是对该文件具备全部权的用户,同时,在 Linux 系统中,用户是按组分类的,一个用户属于一个或多个组,而文件全部者之外的用户又能够分为文件全部者的同组用户和其余用户。
所以,Linux 系统按文件全部者、文件全部者同组用户和其余用户来规定了不一样的文件访问权限。
全部者与所属用户组,标明了该文件具全部权的用户及该文件所属的用户组。
【文件属性的更改】
1.更改文件属主
语法:chown [选项] 属主名 文件名
经常使用选项
-R:递归更改文件属组,即更改某目录文件的属组时,若加上-R,那么该目录下的全部文件的属组都会更改。
linuxidc@linuxidc:~/linuxidc.com$ ls -l
总用量 4
drwxr-xr-x 2 linuxidc linuxidc 4096 3月 11 14:23 linuxmi
linuxidc@linuxidc:~/linuxidc.com$ sudo chown root linuxmi
[sudo] linuxidc 的密码:
linuxidc@linuxidc:~/linuxidc.com$ ls -l
总用量 4
drwxr-xr-x 2 root linuxidc 4096 3月 11 14:23 linuxmi
Linux文件权限基本属性图文详解
如图,名为linuxmi的普通文件的所属主从开始的 linuxidc 改变为 root
注:
chown命令更改文件属主的同时,也能够更改文件属组,语法为:chown [选项] 属主名:属组名 文件名
linuxidc@linuxidc:~/linuxidc.com$ ls -l
总用量 4
drwxr-xr-x 2 root root 4096 3月 11 14:23 linuxmi
linuxidc@linuxidc:~/linuxidc.com$ sudo chown linuxidc:docker linuxmi
linuxidc@linuxidc:~/linuxidc.com$ ls -l
总用量 4
drwxr-xr-x 2 linuxidc docker 4096 3月 11 14:23 linuxmi
Linux文件权限基本属性图文详解
如图,名为linuxmi的普通文件的所属主从开始的 root 改变为 linuxidc,所属组从开始的 root 变为 docker
2.更改文件属组
语法:chgrp [选项] 用户组名 文件名
选项同 chown 命令的选项相同
linuxidc@linuxidc:~/linuxidc.com$ ls -l
总用量 4
drwxr-xr-x 2 linuxidc docker 4096 3月 11 14:23 linuxmi
linuxidc@linuxidc:~/linuxidc.com$ sudo chgrp mysql linuxmi
linuxidc@linuxidc:~/linuxidc.com$ ls
linuxmi
linuxidc@linuxidc:~/linuxidc.com$ ls -l
总用量 4
drwxr-xr-x 2 linuxidc mysql 4096 3月 11 14:23 linuxmi
Linux文件权限基本属性图文详解
如图,名为linuxmi的普通文件的所属组从开始的 docker 改变为 mysql
3.更改文件权限
Linux 文件的基本权限就有九个,分别是 owner / group / others 三种身份各有本身的 read / write / execute 权限。
要想更改权限,有两种方法,一种是用二进制数字表示,一种是用字符表示。
1)用数字更改
用数字来表明各个权限,则:
读,权限是二进制的100,十进制是4; 写,权限是二进制的010,十进制是2; 执行,权限是二进制的001,十进制是1;
即:各权限的对应数字为:r:4,w:2,x:1
每种身份( owner / group / others )各自的三个权限( r / w / x )数字是须要累加的。
例:
当权限为: [ -rwxrwx--- ] 时
分数为:
owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others = --- = 0+0+0 = 0
因此当设定权限的变动时,该文件的权限数字就是770。
变动权限的命令的语法为:chmod [选项] xyz 文件名或目录名
注:xyz : 就是数字类型的权限属性,为 rwx 属性数值的相加
linuxidc@linuxidc:~/linuxidc.com$ ls -l
总用量 4
drwxr-xr-x 2 linuxidc linuxidc 4096 3月 11 15:39 linuxmi
linuxidc@linuxidc:~/linuxidc.com$ sudo chmod 777 linuxmi
[sudo] linuxidc 的密码:
linuxidc@linuxidc:~/linuxidc.com$ ls -l
总用量 4
drwxrwxrwx 2 linuxidc linuxidc 4096 3月 11 15:39 linuxmi
Linux文件权限基本属性图文详解
如图,将权限改成777后,全部身份均具备读、写、执行权限。
2)用字符更改
九个权限分别是 user、group、others 三种身份的权限,那么可用 u、g、o 来表明三种身份的权限,此外,用 a 表明 all 表示全部的身份。
则变动权限的命令的语法为:chmod 身份 符号 权限 文件名或目录名
如图,更改权限
linuxidc@linuxidc:~/linuxidc.com$ ls -l总用量 8drwxrwxrwx 2 linuxidc linuxidc 4096 3月 11 15:39 linuxmi-----w--w- 1 linuxidc linuxidc 3287 2月 20 20:29 www.linuxidc.com.giflinuxidc@linuxidc:~/linuxidc.com$ sudo chmod u=rwx,g=rx,o+x www.linuxidc.com.giflinuxidc@linuxidc:~/linuxidc.com$ ls -l总用量 8drwxrwxrwx 2 linuxidc linuxidc 4096 3月 11 15:39 linuxmi-rwxr-x-wx 1 linuxidc lpadmin 3287 2月 20 20:29 www.linuxidc.com.gif