Linux权限修改(详细)

Linux权限修改(详细)

前言:本人最近在学Linux相关操作,虽然之前也有部署过自己的网站以及个人博客,但是对于Linux系统的基本操作终究只是知其然并不知其所以然,故特地学习。

基本权限查看
首先,当我们连接上linux服务器的时候,可以通过ll或者ls -l的命令查看当前目录下的文件,如下图所示:
Linux权限修改(详细)_第1张图片
可以看到,每个文件都以对应的-rw-r–r--格式开头,其实10个长度的字符代表的就是该文件的信息以及对应的用户所拥有的操作权限。

  • 10个字符一共分为4组,第一组占1个字符长度,后三组各占3个字符长度。
  • 第一组字符表示的是该文件的文件类型,- 代表文件,d 代表目录,l 代表软链接文件,当然还有其他的文件类型,但是一般只需要知道这3种文件类型便足够了。以上图为例,可以看出redis(drwxrwxr-x)第1组为d,所以说明redis是一个目录,同样的lnmp1.5也是目录,lnmp1.5.tar.gz第1组为-,说明它是一个文件,redis-3.0.0.gem也是一个文件。
  • 后3组所代表的依次是u-所有者,g-所属组,o-其他人 对该文件所拥有的权限,其中 r 代表可读, w 代表可写, x 代表可执行。这里仍然以redis(drwxrwxr-x)为例,可以看出,所有者对该文件具有r,w,x的权限,即可读可写可执行的权限;所属群组对该文件同样拥有读可写可执行的权限;其他用户则拥有可读可执行的权限。

在明白了这10个字符长度所代表的含义之后,接下来就说明如何进行权限的修改

权限修改
权限修改有多种方式,这里循序渐进,从最基本最麻烦的修改方式说起,到最后面会总结出一种最简单的修改方式。
所有的权限修改操作都是通过chmod指令实现:其修改指令如下:
chmod 选项 模式 文件名
简单解释一下:chmod固定写法,选项最常用的就是 -R 即递归的意思,如果修改的文件是目录,则会修改该目录以及其下的所有文件都有该权限;模式就是修改权限的方式,有多种,也是接下来的重点;最后一个文件名就不需要解释什么了。

  1. 第一种需改方式:这里仍然以redis(drwxrwxr-x)为例
chmod -R u-x,g-w,o-x redis

上述指令的意思:修改redis目录以及其下所有文件的操作权限,具体修改为->u-x,代表从所有者的权限里减去可执行的权限;g-w,代表从所属组的权限里减去可写的权限;o-x,代表从其他用户的权限里减去可执行的权限。
注意:既然可以减权限,同样也可以增减权限,只需将 - 改成 + 即可。如果需要修改权限的文件是一个普通文件而非目录(即以 - 开头),则不需要添加 -R。这种修改方式的弊端在于,我们必须先知道用户对该文件的权限是什么,才能进行相应的修改,不然去增加已有的权限或者减去没有的权限的时候,就会出问题。
所以,这里引出第二种修改权限的方式。

  1. 第二种修改方式:这里以redis-3.0.0.gem为例
chmod u=rwx,g=rwx,o=rwx redis-3.0.0.gem

此处就不再赘述了,该种方式可以直接修改对应的用户对该文件的操作权限,而且不需要知道该用户对该文件之前的操作权限是什么。但是这样同样比较麻烦,同样的操作权限,必须写3次,做一点小改进,如下所示:

chmod a=rwx redis-3.0.0.gem

a代表的是所用用户,即all的意思。

到这里还是觉得很麻烦啊有木有,一堆的rwx,烦都烦死了。别着急,还有最后一种修改方式,最简单的。

  1. 第3种修改方式:
chmod 644 redis-3.0.0.gem

简单解释一下:6 4 4分别对应 u(所有者), g(所属组), o(其他人)对该文件(redis-3.0.0.gem)所拥有的执行权限。6代表可读可写,4代表可读,那么这是怎么来的呢?这就需要大家记住了,其实也很简单,就是把前面两种方法的权限表示方法由字母r,w,x对应替换成了数字,r=4,表示可读;w=2,表示可写;o=1表示可执行。现在就很明了,6=4+2,所以6对应可读可写权限,4同理。

常见的权限修改数字表示方法无非也就是777, 666, 755之类的,这点需要熟记与 r w x 对应的4 2 1。

ok,关于linux服务器中对文件的操作权限介绍就到这了~

你可能感兴趣的:(随笔,笔记)