目录
准备工作
打开终端窗口,依次输入以下命令:
cd ~$ cd base
$ mkdir privilege
在当前目录下新建文件夹privilege,作为本实验的工作目录。
将文件file.txt和longfile.txt复制到本实验工作目录中:$ cp file.txt longfile.txt privilege
$ cd privilege
Linux用户分类
在Linux系统中,对于文件和目录而言,用户可以分为以下三类:
-
文件或目录的属主
-
与属主同组的用户
-
其他用户(超级管理员除外)
root用户(超级管理员)
root用户是Linux系统中的超级管理员,拥有最大的权限,拥有对文件和目录的全部权限。
权限分类
在Linux系统中,对于文件和目录而言,用户权限分为了以下三类:
-
读权(read) ls、cat、more、head、tail等命令
-
写权(write) cp、mv、rm、touch、mkdir、>>等命令
-
执行权(execute) cd等命令
权限查看
ls -l 可查看当前目录下文件和目录的权限。
示例:$ ls -l
total 24
-rw-r--r-- 1 jovyan users 21 Oct 4 04:14 file.txt
-rw-r--r-- 1 jovyan users 20435 Oct 4 04:16 longfile.txt
文件的属性由最左边的10个连续字符确定,具体划分如下图所示:
其中的第一个字符代表的是文件类型,有以下几种:
-
d代表目录
-
-代表普通文件
-
l代表软链接
-
b表示块设备
-
c表示字符设备
2~4位字符依次代表文件属主的读权、写权、执行权,分别用rwx表示,若没有该权限则用-填充。
5~7位字符依次代表文件属组的读权、写权、执行权。
8~10位字符一次代表其他用户的读权、写权、执行权。
权限更改
字母形式
语法:
chmod [-R] 权限修改 文件或目录
选项与参数:
-
-R 表示递归地修改权限,作用于该目录及其包含的所有文件和目录
命令的施加对象:
-
u 表示文件或目录的属主
-
g 表示同组其他成员
-
o 表示其他用户
-
a 表示所有用户
权限的改变:
-
+
表示增加该权限 -
-
表示取消该权限 -
=
表示把权限更改成后续的值
示例:$ chmod u+x,g=rw,o-r file.txt
数字形式
权限的分数对照:
-
r:4
-
w:2
-
x:1
在设置某种用户的权限时,直接将其权限的分数相加即可。
语法:
chmod [-R] xyz 文件或目录
选项与参数:
-
-R 表示递归地修改权限,作用于该目录及其包含的所有文件和目录
-
x,y,z分别为三种不同用户权限的计算值
示例:$ chmod 777 longfile.txt
属主和属组更改
该命令仅由root用户使用!
语法:
chown [–R] 属主名 文件或目录 chown [-R] 属主名:属组名 文件或目录
选项与参数:
-
-R 需在更改目录的属主或属组时添加,文件则不需要
示例:$ chown root:root longfile.txt
实验任务
任务一:
对于文件longfile.txt,采用字母形式赋予属主和属组全部权限,取消其他用户全部权限(40分)。
chown u=rwx,g=rwx,o=--- longfile.txt
任务二:
对于文件file.txt,采用数字形式赋予属主和属组全部权限,取消其他用户全部权限(40分)。
chown 770 file.txt