Linux的文件访问权限及修改权限命令chmod

佐手、 提交于 2019-11-29 08:16:43

 

 

 

 

Linux的文件访问权限及修改权限命令chmod
Mxx000
Mxx000
11 人赞同了该文章
Linux的文件访问权限可以使用ls -l进行查看,如下图这样操作就可以了。


一、访问权限
访问权限分为读(read)、写(write)、执行(execute)三种,

并且涉及到文件所有者(user)、文件所属组(group)、其他人(other)三个主体。

选取上图红框中的两行为例,结合下面的表格先讲一下基本结构:





第一位表示文件类型

第二~十位表示权限:每三位一组,共三组,分别表示三个主体对应的三种权限


对照表格可以知道

drwxr-xr-x表示:

d为目录文件
文件所有者可读、可写、可执行(rwx:可读r、可写w、可执行x)
文件所属组可读、可执行(r-x:可读r、不可写-、可执行x)
其他人可读、可执行(r-x:可读r、不可写-、可执行x)
-rw-r--r--表示:

-为普通文件
文件所有者可读、可写(rw-:可读r、可写w、不可执行-)
文件所属组可读(r--:可读r、不可写-、不可执行-)
其他人可读(r--:可读r、不可写-、不可执行-)
二、修改权限
如何修改权限?一般有两种方法:

文字法:chmod [who][operator][permission] <file-name>
数字法:chmod xxx <file-name>


1.文字法:

[who]:表示要修改的主体,

u:用户(user),即文件所有者:创建文件的人
g:同组用户(group),即文件所属组:与文件属主有相同组ID的所有用户
o:其他用户(others),即其它人:与文件无关的人
a:所有用户(all),它是系统默认值
[operator]:表示进行哪种修改操作,

+:添加某个权限
-:取消某个权限
=:赋予给定权限并取消其他所有权限(如果有的话)
[permission]:表示要设置的权限,

r:可读
w:可写
x:可执行


2.数字法:

xxx表示数字属性,格式为3个从0到7的数,其对应的主体顺序是u g o,

将对应主体位上的所有权值分别相加就可以得到这个三位数了。

4表示可读权限
2表示可写权限
1表示可执行权限
0表示没有权限
相加后的值表示的意义如下:

7=4+2+1 表示可读可写可执行
6=4+2 表示可读可写
5=4+1 表示可读可执行
3=2+1 表示可写可执行


例1:
chmod 755 <file-name>
表示将文件<file-name>的权限修改为:

u(文件所有者) 可读可写可执行

g(文件所属组) 可读可执行

o(其它人) 可读可执行



这种修改用第一种方式来写就是(假设文件之前没任何权限)(如果有权限这样写也可以,只是太繁琐):

chmod a+rx,u+w <file-name>
或

chmod ugo+rx,u+w <file-name>
或

chmod u+rwx,go+rx <file-name>


另外,

如果原来文件已经有权限,如-rw-r--r--,则用第一种方式来写如下:

chmod ugo+x <file-name>
或

chmod a+x <file-name>


如果原来文件已经有权限,如drwxrwxrwx,则用第一种方式来写如下:

chmod go-w <file-name>


例2:
chmod 777 <file-name>
表示将文件<file-name>的权限修改为:

a(所有人)可读可写可执行

这种修改用第一种方式来写就是(假设文件之前没任何权限)(如果有权限这样写也可以,只是太繁琐):

chmod a+rwx <file-name>
或

chmod ugo+rwx <file-name>


另外,

如果原来文件已经有权限,如drwxr-xr-x,则用第一种方式来写如下:

chmod go+w <file-name>
编辑于 2018-09-14
Linux
​赞同 11​
​1 条评论
​分享
​收藏

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!