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>
作者:饥人谷_孟庆潇
链接:https://www.jianshu.com/p/4720cbedd790