Linux文件权限设置

 在linux中,为了数据的安全性,权限控制是十分重要的,在这里面可以细分成两个部分来理解他

权限定义

linux每一个用户都属于一个组,不能独立于组外。linux的文件权限需要定义三个实体对它的权限

  • 文件所有者
  • 文件所在组
  • 其他组

 

所有者

一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者

可以使用chown【change owner】 用户名 文件名来修改文件的所有者,例如更改error.log的所有者为enoch

chown enoch error.log #更改error.log的所有者为enoch

chown enoch:home error.log #更改error.log的所有者和用户组为enoch与home

chown .home error.log #更改error.log的用户组为home

#在所有者和用户组中使用“.”也可以,但是由于很多用户喜欢使用小数点,可能造成系统误判,所以建议使用":"

 

所在组

当用户创建了一个文件后,这个文件的所在组就是该用户所在的用户组

可以使用chgrp【change group】来改变文件的所在组

chgrp home error.log #修改文件的所在组为home

 

 

其他组

除开所在组之外的其他组均为其他组

 

权限说明

 

当我们使用命令 ls -l 时候就会显示出改文件或者文件夹相对应的权限

 

drwx------ 2 www  www  4096 May  5 19:35 www
drwxrwxrwx 2 root root 4096 May  5 16:51 wwwlogs
drwxr-xr-x 3 root root 4096 Jul  4 20:45 wwwroot

 

第一列规定了文件权限说明,共由十个字符分成四个部分,用www目录来说

[d]  [rwx]  [---]  [---]

 1    234  567  890

 

1:代表这个文件是目录还是文件名其中d代表目录,如果是文件则为-,更多的文件信息如下

    d  目录文件。
    l  符号链接(指向另一个文件,类似于瘟下的快捷方式)。
    s  套接字文件。
    b  块设备文件,二进制文件。
    c  字符设备文件。
    p  命名管道文件。

234:文件所有者的权限,rwx及为可读可写可执行

r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限(不包含删除该文件);对目录来说,具有新建,删除,修改,移动目录内文件的权限(不论该文件的权限为何都可以进行删除操作)。
x(Execute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限(能否使用cd命令进入该目录)。

567:文件所有组的权限,---代表没有任何权限

890:除开所有者与所有组以外用户的权限,此处没有任何权限

 

修改权限

 

修改权限的命令是chmod,而改变权限的方式分为两种

 

1.数字改变权限法

Linux的文件基本权限只有九个,分别是onwer,group,other三种身份,所以我们可以用数字来代表权限,其中

r : 4
w : 2
x : 1

 

每种身份设置权限为数字的累加,比如将error.log文件设置成所有人都有RWX权限,则

chmod 777 error.log

 

  因为[-rwxrwxrwx]实际上是[4+2+1][4+2+1][4+2+1]也就是777了。如果我们将权限变为[-rwxr-xr--]则[4+2+1][4+0+1][4+0+0]即为754

 

 

2.符号改变法

 

符号改变法实际上就是对不同实体设置权限,其中我们只要懂的三个部分的含义就可以

 

chmod u +(加入) 文件或目录
g =(设置)
o
a -(除去)

 

举几个例子来说明吧,设置用户对error.log有rwx权限,所在组和其他组有rx权限。

chmod  u=rwx,go=rx  error.log

 

设置用户对error.log有rwx权限,所在组有rx权限,其他组有r权限

chmod u=rwx,g=rx,o=r error.log

 

出去所有用户的可执行权限

chmod a-x error.log

 

posted @ 2018-07-05 21:56  EnochLin  阅读(42003)  评论(0编辑  收藏  举报