零、学习目标
- 掌握查看Linux文件的权限管控信息
- 掌握读、写、执行三种权限的含义
- 掌握使用chmod修改权限信息
- 掌握使用数字序号标记权限
- 掌握使用chown修改所属用户、用户组
一、查看权限控制
-
通过
ls -l
可以以列表的形式查看内容,并显示权限细节
– 序号1,表示文件、文件夹的权限控制信息 – 序号2,表示文件、文件夹所属用户 – 序号3,表示文件、文件夹所属用户组
1、权限控制信息
-
权限控制信息总共分为10个槽位
举例:
drwxr-xr-x
,表示:
-
这是一个文件夹,首字母
d
表示 -
所属用户(序号2)的权限是:有
r
有
w
有
x
,
rwx
-
所属用户组(序号3)的权限是:有
r
无
w
有
x
,
r-x
(
-
表示无此权限) -
其它用户的权限是:有
r
无
w
有
x
,
r-x
2、rwx权限解读
-
r
表示读权限 -
w
表示写权限 -
x
表示执行权限 -
针对文件、文件夹的不同,
rwx
的含义有细微差别-
r
,针对文件可以查看文件内容;针对文件夹,可以查看文件夹内容,如ls命令 -
w
,针对文件表示可以修改此文件;针对文件夹,可以在文件夹内:创建、删除、改名等操作 -
x
,针对文件表示可以将文件作为程序执行;针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
-
3、案例演示
-
执行
cd /
命令,进入根目录
可以进入根目录,则表明当前用户对根目录拥有执行权限
x
-
执行
ls -l
命令,读取根目录文件夹的内容
读取成功,表明当前用户对根目录拥有读权限
r
-
执行
touch test.txt
命令,创建文件
执行成功,表明当前用户对根目录拥有写权限
w
二、chmod命令
-
我们可以使用chmod命令,修改文件、文件夹的权限信息。
注意,只有文件、文件夹的所属用户或root用户可以修改。
语法:
chmod [-R] 权限 文件或文件夹
选项:
-R
,对文件夹内的全部内容应用同样的操作
语法示例:
-
chmod u=rwx,g=rx,o=x hello.txt
,将文件权限修改为:
rwxr-x--x
-
chmod -R u=rwx,g=rx,o=x test
,将文件夹
test
以及文件夹内全部内容权限设置为:
rwxr-x--x
其中:
u
表示
user
所属用户权限,
g
表示
group
组权限,
o
表示
other
其它用户权限
案例演示:
-
创建
test
文件夹
-
创建
test.txt
文件
-
查看权限信息
-
修改
test.txt
文件的权限,所属用户拥有全部权限,所属组只有读权限,其他用户只能写
可以发现
test.txt
文件的权限已经被修改了 -
创建一个
1.txt
文件,将
test.txt
和
1.txt
文件移入
test
文件夹内
-
修改
test
文件夹的权限,所属用户只能读,所属用户组只能写,其他用户只能执行
-
修改
test
文件夹及包含所有文件的权限
除此之外,还有快捷写法:
chmod 751 hello.txt
将hello.txt的权限修改为
751
那么问题来了,
751
表示什么意思呢?
权限的数字序号
权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。
数字的细节如下:
r
记为
4
,
w
记为
2
,
x
记为
1
,可以有:
-
0
:无任何权限, 即
---
-
1
:仅有
x
权限, 即
--x
-
2
:仅有
w
权限,即
-w-
-
3
:有
w
和
x
权限,即
-wx
-
4
:仅有
r
权限,即
r--
-
5
:有
r
和
x
权限,即
r-x
-
6
:有
r
和
w
权限,即
rw-
-
7
:有全部权限,即
rwx
所以
751
表示:
rwx(7) r-x(5) --x(1)
小练习:
-
将
hello.txt
的权限修改为:
r-x--xr-x
-
-
将
hello.txt
的权限修改为:
-wx-w-rw-
-
将hello.txt的权限修改为:
123
三、chown命令
使用
chown
命令,可以修改文件、文件夹的所属用户和用户组
普通用户无法修改所属为其它用户或组,所以此命令只适用于
root
用户执行
-
语法:
chown [-R] [用户][:][用户组] 文件或文件夹
选项,
-R
,同
chmod
,对文件夹内全部内容应用相同规则
选项,用户,修改所属用户
选项,用户组,修改所属用户组
:
用于分隔用户和用户组
案例演示:
-
chown alice hello.txt
,将
hello.txt
所属用户修改为
alice
-
chown :alice hello.txt
,将
hello.txt
所属用户组修改为
alice
-
chown root:smith hello.txt
,将
hello.txt
所属用户修改为
root
,用户组修改为
smith
-
chown -R alice test
,将文件夹
test
的所属用户修改为
root
并对文件夹内全部内容应用同样规则