linux权限drwx,linux权限基础知识详解

 在Linux系统中,对文件的访问权限有3种:可读、可写、可执行,分别用字母r、w、x表示;若该文件为目录则用d标志,否则用-标志。
    文件的权限描述符,由10个字母组成。

  • 第⼀个符号表示文件的类型。如果是-表示⽂件,如果是d表示⽬录。
  • 后面的9个字符表示3组权限,分别为⽂件所属⽤户owner的权限,⽂件所属⽤户组group的权限,其他⼈others的权限;
  • r 表示读权限, w表示写权限, x表示执⾏权限;
  • 若没有该权限,则用-标志;
  • 还可以⽤8进制表示法:
    1)r 4
    2) w 2
    3) x 1
    4) - 0

案例如下:

案例 8进制表示 用户权限 owner 用户所在组权限 group 其他人权限 other 文件类型
-rwxrwxrwx 777 读、写、执行 读、写、执行 读、写、执行 是文件
drwxr-xr-x 755 读、写、执行 读、执行 读、执行 是目录
-rw-r–r-- 644 读、写 是文件
 
 
 

Linux系统中的权限到底是什么?什么是775?什么又是777?664又代表了什么?

1.查看权限可以使用ls -l命令ls -l

8a97e2f5c59f670e73874e0f969ea5f3.png

我们以root文件夹为例来说明:

drwx------.2 root root

d:这个代表是目录,也就是文件夹。

我们主要说rwx,rwx即为文件的权限位,一共有九位,下面分别对其进行介绍。

001a58aa09a6b2edc1f2eb8727c14de3.png

前三个为属主位:创建该文件者或被指定的文件的所属者

中间三个属组位:文件的所属组,在该组内的非属主用户对该文件拥有该属组权限

最后三个Other位:Other用户,即不属于主又不在属组的用户

r:读权限                    w:写权限                    x:执行权限

文件中rwx的具体含义:

r:可以使用类似cat等命令查看文件内容

w:可以编辑或删除此文件

x:可以在命令提示符下当做命令提交给内核运行

目录中rwx的具体含义:

r:可以对此目录执行ls以列出内部的所有文件

w:可以在此目录创建文件:

x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息

下面请看一个对应关系

000 ---  对应十进制0

001 --x  对应十进制1

010 -w-  对应十进制2

011 -wx  对应十进制3

100 r--  对应十进制4

101 r-x  对应十进制5

110 rw-  对应十进制6

111 rwx  对应十进制7

上面rwx三位与三位二进制对应,因此权限也可以用数字表达所以就有了:755代表rwxr-xr-x  664代表rw-rw-r--那位同学你明白了吗?是不是很简单。

举几个实例:$ chmod u+x file                      给file的属主增加执行权限

$ chmod 751 file                      给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

$ chmod u=rwx,g=rx,o=x file      上例的另一种形式

$ chmod =r file                     为所有用户分配读权限

$ chmod 444 file                   同上例

$ chmod a-wx,a+r   file          同上例

$ chmod -R u+r directory           递归地给directory目录下所有文件和子目录的属主分配读的权限

$ chmod 4755                            设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。

 

 

 

命令:

 

 

chmod 777 scan_record.js

 

 

格式:

 

 

chmod 权限数字 文件名

 

 

r 读权限read 4

 

 

w 写权限write 2

 

 

x 操作权限execute 1

 

 

权限数字对应权限组说明:

 

 

总共分为4部分

 

 

【文件或文件夹】【owner权限】【group权限】【others权限】

 

 

【文件是-,文件夹是d】【r/w/x相加】【r/w/x相加】【r/w/x相加】

 

 

Linux档案的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

 

 

OK,接口介绍完成,实际说明例子:

 

 

d rwx rwx rwx =777 表示目录的操作权限

 

 

- rwx rwx rwx = 777 表示文件的操作权限

 

 

- rwx rwx rwx =777表示 文件的操作权限

 

 

- rw- r-- r-- = 644 表示文件的操作权限

 

 

OK 说的足够明白了!!!

 

 

在Linux系统中文件的权限可以在文件上单击右键—>属性来查看。

 

 

但是我们这次用的是全命令来查看和修改文件的权限

 

 

为了举一个实例,我们在mnt文件夹中建立一个fileA文件,然后在fileA文件夹中建立一个zhaoyuqiang.html网页。

 

 

建好之,我们就以fileA文件和zhaoyuqiang.html文件来说事,呵呵

 

 

查看文件的权限

 

 

我们来查看一下zhaoyuqiang.html这个网页文件的权限。

 

 

方法:在终端输入:

 

 

ls -l xxx.xxx (xxx.xxx是文件名)查看的是xxx文件之中的文件权限

 

 

那么就会出现相类似的信息,主要都是这些:-rw-rw-r--

 

 

一共有十位数,其中:最前面那个 - 代表的是类型

 

 

中间那三个 rw- 代表的是所有者(user)拥有的权限

 

 

  然后那三个 r-- 代表的是组群(group)拥有的权限

 

 

  最后那三个 r-- 代表的是其他人(other)拥有的权限

 

 

然后

 

 

r 表示文件可以被读(read)

 

 

w 表示文件可以被写(write)

 

 

x 表示文件可以被执行(如果它是程序的话)

 

 

- 表示相应的权限还没有被授予

 

 

之后的root root 就是用户拥有者了。

 

 

需要注意的是:查看文件权限的目录问题: 如果有文件夹 /a/b/c

 

 

那么执行 ls -l /a/b 查看权限的文件并不是b,而是查看的c的权限。

 

 

ls -l /a 查看的是b文件的权限

 

 

ls -l /a/b 查看的是c文件的权限

 

 

ls -l /a/b/c 查看的是c文件的权限

 

 

修改权限简介

 

 

在终端输入:

 

 

chmod o w xxx.xxx

 

 

  表示给其他人授予写xxx.xxx这个文件的权限

 

 

chmod go-rw xxx.xxx

 

 

  表示删除xxx.xxx中组群和其他人的读和写的权限

 

 

  其中:

 

 

u 代表所有者(user)

 

 

g 代表所有者所在的组群(group)

 

 

o 代表其他人,但不是u和g (other)

 

 

a 代表全部的人,也就是包括u,g和o

 

 

r 表示文件可以被读(read)

 

 

w 表示文件可以被写(write)

 

 

x 表示文件可以被执行(如果它是程序的话)

 

 

  其中:rwx也可以用数字来代替

 

 

r ------------4

 

 

w -----------2

 

 

x ------------1

 

 

- ------------0

 

 

  行动:

 

 

表示添加权限

 

 

- 表示删除权限

 

 

= 表示使之成为唯一的权限

 

 

当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:

 

 

-rw------- (600) 只有所有者才有读和写的权限

 

 

-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限

 

 

-rwx------ (700) 只有所有者才有读,写,执行的权限

 

 

-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限

 

 

-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限

 

 

-rw-rw-rw- (666) 每个人都有读写的权限

 

 

-rwxrwxrwx (777) 每个人都有读写和执行的权限

 

 

Linux文件和目录访问权限设置

 

 

使用chmod和数字改变文件或目录的访问权限

 

 

文件和目录的权限表示,是用rwx这三个字符来代表所有者、用户组和其他用户的权限。有时候,字符似乎过于麻烦,因此还有另外一种方法是以数字来表示权限,而且仅需三个数字。

 

 

r: 对应数值4

 

 

w: 对应数值2

 

 

x:对应数值1

 

 

-:对应数值0

 

 

数字设定的关键是mode的取值,一开始许多初学者会被搞糊涂,其实很简单。

 

 

(一) 我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:111 101 100再将其每三位转换成为一个十进制数,就是754。

 

 

(二) 也可以将其简单的理解为一种运算: (4+2+1) (4+1) (4)=754

 

 

例如,我们想让zhaoyuqiang.html这个文件的权限为:

 

 

自己 同组用户 其他用户

 

 

可读 是 是 是

 

 

可写 是 是

 

 

可执行 是

 

 

那么,我们先根据上表得到权限串为:rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,因此我们执行命令:

 

 

根据上图可以看出对zhaoyuqiang.html执行664后,它的权限变成了

 

 

- rw-(自己) rw- (同组用户) r--(其它用户)

 

 

按照上面的规则,rwx合起来就是4 2 1=7,一个rwxrwxrwx权限全开放的文件,数值表示为777;而完全不开放权限的文件“---------”其数字表示为000。下面举几个例子:

 

 

-rwx------:等于数字表示700。

 

 

-rwxr—r--:等于数字表示744。

 

 

-rw-rw-r-x:等于数字表示665。

 

 

drwx—x—x:等于数字表示711。

 

 

drwx------:等于数字表示700。

 

 

加入想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,也就是说,我要修改fileA文件夹的权限,fileA 文件中的子文件的权限也一并修改,要使用参数-R表示启动递归处理。

 

 

例如:

 

 

如上图,对fileA修改权限700后,fileA的权限变成了 drwx------ 但是zhaoyuqiang.html的权限依然为-rw-rw-r--。

 

 

上图中,对fileA修改权限为-R 744,结果fileA 和其子文件zhaoyuqiang.html的权限都变成了-rwxr--r--。

 

 

通过上述两种对比:

 

 

[root@localhost ~]# chmod 700 /mnt/fileA注:仅把fileA目录的权限设置为700

 

 

[root@localhost ~]# chmod -R 744 /mnt/fileA注:表示将整个/mnt/fileA目录与其中的文件和子目录的权限都设置为744

 

 

需要注意的还是关于修改权限的文件问题:比如有文件 /a/b/c.

 

 

执行: chmod 700 /a 修改的是a文件的权限

 

 

chmod 700 /a/b 修改的是b文件的权限

 

 

chmod 700 /a/b/c 修改的是c文件的权限

 

 

要和查看文件权限的目录分开

 

 

使用命令chown改变目录或文件的所有权

 

 

文件与目录不仅可以改变权限,其所有权及所属用户组也能修改,和设置权限类似,用户可以通过图形界面来设置,或执行chown命令来修改。

 

 

我们先执行ls -l看看目录情况:

 

 

上图,查看zhaoyuqiang.html文件的权限,红色区域表示zhaoyuqiang.html这个文件的所属用户组为root,所有者为root

 

 

我们所要做的就是修改文件的所属用户组和所有者。

 

 

(1) 执行下面命令,把zhaoyuqiang.html文件的所有权转移到用户zyq:

 

 

上图中的红色区域的文件所属用户组确实已经改成了zyq了。

 

 

(2)要改变所属组,可使用下面命令:

 

 

上图可以看出 我们修改了fileA文件夹的所属组为zyq。

 

 

(3)同时修改文件的所属用户组和所有者。

 

 

这个做法,我相信大家都想到了

 

 

(4)要同时修改fileA和其子文件zhaoyuqiang.html的所属用户组和所有者。

 

 

这个要用的-R 参数就可以了。

 

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据