一、权限概述
1、权限设置目的
文件权限设置目的:是想让某个用户(Linux操作系统中的用户)有权利操作文件
2、文件权限分类
-
普通权限
用户正常情况下去操作文件所具有的权限
-
高级权限
用户对某个文件操作有特殊需求,而普通权限不能满足,需要给文件设置高级权限
-
默认权限
用户在系统中创建一个文件,该文件默认都会有一个权限,该权限是默认有的
注意:权限是设置在文件上的,而不是用户;设置权限目的是让相应的人(用户)去操作相应的文件
二、普通权限
1、rwx含义
1.读权限—r(read)
-
针对目录
一个目录拥有r权限,说明可以查看目录里的内容(ls命令列出)
-
针对普通文件
一个普通文件拥有r权限,说明可以查看该文件的内容(cat/head/tail/les/more等命令查看)
-
读权限r(read)用数字表示是4
2、写权限—w(write)
-
针对目录
一个目录拥有w权限,说明可以在该目录里创建、删除、重命名等操作(mkdir/touch/mv/rm等)
-
针对普通文件
一个普通文件拥有w权限,说明可以修改该文件的内容(vi/vim编辑器编辑文件)
-
写权限w(write)用数字表示是2
3、执行权限—x(execute)
-
针对目录
一个目录拥有x权限,说明可以进入或切换到该目录里(cd命令)
-
针对普通文件
一个普通文件拥有x权限,说明可以执行该文件(一般程序文件、脚本文件、命令都需要执行权限)
-
执行权限x(execute)用数字表示是1
4、没有权限—横杠-
- 没有任何权限用横杠-表示,数字表示是0
2、UGO含义
1.UGO指什么
UGO,指的是用户身份,每个字母代表不同的用户身份。
-
U(the user who owns it)
文件的拥有者(owner)或者创建者
-
G(other users in the fifile’s group)
在文件的所属组(默认是创建文件的用户的主组)里的用户
-
O(other users not in the fifile’s group)
既不是文件的创建者,也不在文件属组里的用户,称为其他人
注意:
除了上面ugo以外,还有一个字母a(all users),表示所有用户,包含ugo
2.如何判断不同身份的用户对文件的权限
查看文件详细信息,包含权限信息:
[root@localhost ~]# ls -l
total 144 -rw-r--r--. 1 root root 9 Mar 2 20:38 1.sh
-rw-------. 1 root root 1651 Feb 28 11:00 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Mar 6 18:34 Desktop
drwxr-xr-x. 2 root root 4096 Feb 28 14:12 dir1
例如drwxr-xr-x:第一位是文件类型,后面三位rwx是文件拥有者权限(U),再后面三位r-x是文件所属组用户权限(G),最后面三位r-x是其他用户权限(O)
3、修改文件普通权限(chmod)
1.chmod命令用法
chmod [选项] 模式 文件名
常见选项:
-R, --recursive 递归更改目录和目录里文件的权限
2.代码实例
1)通过字母更改文件权限
u:表示文件拥有者
g:表示文件属组里的用户
o:表示其他人,即不是文件的创建者,也不在文件属组里
a:表示所有人
例如:
修改文件权限
[root@local tmp]# chmod u+x,g+w,o-r test1
或
[root@local tmp]# chmod u=rw,g=rx,o+r test3
修改目录的权限:
1.只修改目录本身的权限
[root@local tmp]# chmod g+w dir1/
2.修改目录以及目录里所有文件的权限(递归修改),使用-R参数 [root@local tmp]# chmod -R o+w dir1/
2)通过数字形式更改文件权限
字母和数字对应关系:
r——4
w——2
x——1
-——0
rw- r-x r-- 用数字表示就是654 每三位相加,例rw-就是4+2+0=6 r-x就是4+0+1=5 r--就是4+0+0=4
rwx rw- --- 用数字表示就是760
755 用字母表示就是rwx r-x r-x
644 用字母表示就是rw- r-- r--
使用数字形式修改文件权限
# chmod 644 file1 即rw-r--r--
# chmod 700 file2
# chmod -R 755 dir1
Q.E.D.