1. 权限对象
权限对象 | 含义 |
---|---|
u | 属主,所有者 |
g | 属组 |
o | 其他人 |
2. 权限类型
权限类型 | 含义 | 值 |
---|---|---|
r | 读权限 | 4 |
w | 写权限 | 2 |
x | 执行权限 | 1 |
3. 修改文件属主及属组
命令:chown(change own)
更改文件或目录属主与属组名
3.1 修改文件属主与属组
-
只修改属主:
chown $user $filename
-
只修改属组:
chown .$group $filename
-
既修改属主又修改属组:
chown $user.$group $filename
ps:此处
.
和:
都可以
3.2 修改目录属主与属组
-
只修改属主:
chown -R $user $dirname
去掉-R
即为只修改目录自身的属组名,下同。 -
只修改属组:
chown -R .$group $dirname
-
既修改属主又修改属组:
chown -R $user.$group $dirname
ps:
-R
为递归参数,使用该参数可以修改目录本身并且修改目录下所有文件的属主与属组名ps:此处
.
和:
都可以
4. 修改文件权限
命令:chmod
更改文件或目录的访问权限
4.1 修改文件权限
-
读权限------能否查看文件内容
-
写权限------能否编辑文件
-
执行权限—针对脚本,比如脚本文件叫做date.sh,能否使用./date.sh 方式去执行,或者是能否使用绝对路径的方式执行
4.2 修改目录权限
-
读权限------限制用户能否查看目录下的文件
-
写权限------能否创建文件或目录、能否删除文件和目录
-
执行权限—能否进入这个目录,如果没有执行权限,即使有读权限也无法查看目录下文件的详细信息,只能看到文件名字
4.3. 使用符号更改权限:
语法:chmod $权限对象$赋值符号$权限类型 $文件或目录
权限对象 | 赋值符号 | 权限类型 |
---|---|---|
u | + | r |
g | - | w |
o | = | x |
a |
ps:a
代表把文件的权限给所有人
将file3.txt
文件的所有用户权限设为只读
chmod
修改``file1.txt`文件的权限为属组减去写权限,属组加上写权限,其他人加上运行权限
4.4. 使用数字更改权限
语法:chmod $属主属组其他人权限类型值 $文件或目录
权限对象 | 权限类型 | 权限类型值 |
---|---|---|
u | r | 4 |
g | w | 2 |
o | x | 1 |
将file3.txt
文件的权限更改为:属主:7
(读写执行)属组:6
(读写)其他人:1
(执行)
将dir1
目录的权限更改为:属主:7
(读写执行)属组:6
(读写)其他人:1
(执行)
5 . 权限案例ugo
5.1. r、w、x权限对文件和目录的意义
权限 | 对文件的影响 | 对目录的影响 |
---|---|---|
r | 可以读取文件内容 | 可以列出目录的内容(文件名) |
w | 可以更改文件内容 | 可以创建或删除目录中的任一文件 |
x | 可以作为命令执行文件 | 可以访问目录的内容(取决于目录中文件的权限) |
5.2. rwx对文件的影响
实战案例1:rwx对文件的影响
[root@linux-server ~]# vim /home/file1
date
[root@linux-server ~]# ll /home/file1
-rw-r--r--. 1 root root 5 Nov 3 15:19 /home/file1
[root@linux-server ~]# su - alice #切换普通用户
[alice@linux-server ~]$ cat /home/file1
date
[alice@linux-server ~]$ /home/file1 #执行文件
-bash: /home/file1: Permission denied #alice没有运行权限
[alice@linux-server ~]$ exit
logout
[root@linux-server ~]# chmod o+x /home/file1 #给file1其他用户开通运行权限
[alice@linux-server ~]$ /home/file1 #alice可以运行文件
Sun Nov 3 15:26:21 CST 2019
[root@linux-server ~]# chmod o+w /home/file1 #给其他用户开通写权限
[alice@linux-server ~]$ vim /home/file1 #alice可以编辑文件
date
123
ls
#小结: rwx对文件的影响是:
#有r,没wx:只可以查看,不可编辑或者运行;
#有rw,没x:可以查看或者编辑,不可以运行
5.3.rwx对目录的影响
实战案例2:对目录没有w,对文件有rwx
[root@linux-server ~]# mkdir /dir10
[root@linux-server ~]# touch /dir10/file1
[root@linux-server ~]# chmod 777 /dir10/file1 #更改文件权限为:所有人都可读写执行
[root@linux-server ~]# ll -d /dir10/
drwxr-xr-x. 2 root root 19 Nov 3 15:37 /dir10/ #其他用户对目录dir10没有w权限
[root@linux-server ~]# ll /dir10/file1
-rwxrwxrwx. 1 root root 0 Nov 3 15:37 /dir10/file1
[root@linux-server ~]# vim /dir10/file1 #用户root编辑文件file1
jack
[root@linux-server ~]# su - alice #切换到alice用户下
Last login: Sun Nov 3 15:28:06 CST 2019 on pts/0
[alice@linux-server ~]$ cat /dir10/file1 #其他用户alice可以查看file文件内容
jack
[alice@linux-server ~]$ rm -rf /dir10/file1 #权限不够,其他用户alice不能删除div10下的file1文件
rm: cannot remove ‘/dir10/file1’: Permission denied
[alice@linux-server ~]$ touch /dir10/file2 #权限不够,其他用户alice不能在div10目录下新建file2文件
touch: cannot touch ‘/dir10/file2’: Permission denied
#小结:若一个目录对用户有r(读)权限,x(运行)权限,但没有w(写)权限,
#并且该目录下只有一个文件file1(对任何用户有rwx权限),那么该用户不能在该目录下创建和删除文件,
#只能查看,修改,运行文件file1文件
实战案例3:对目录有w,对文件没有任何权限
[root@linux-server ~]# chmod 777 /dir10/ #更改目录dir10对所有人的权限为rwx
[root@linux-server ~]# chmod 000 /dir10/file1 #更改file1文件对所有人的权限为---
[root@linux-server ~]# ll -d /dir10/ #查看目录dir10的信息
drwxrwxrwx. 2 root root 19 Nov 3 15:38 /dir10/
[root@linux-server ~]# ll /dir10/file1
----------. 1 root root 5 Nov 3 15:38 /dir10/file1
[root@linux-server ~]# su - alice #切换普通用户
Last login: Sun Nov 3 15:38:53 CST 2019 on pts/0
[alice@linux-server ~]$ cat /dir10/file1 #alice查看file1文件
cat: /dir10/file1: Permission denied #alice查看没有权限
[alice@linux-server ~]$ rm -rf /dir10/file1 #alice可以删除文件
[alice@linux-server ~]$ touch /dir10/file2 #alice可以创建新的文件
#小结
#用户对目录有w(编辑)权限,而对目录下的file1文件没有任何权限,则用户可以在目录中创建新文件,
#可以删除目录中除file1之外的文件
总结:用户对目录的权限是针对目录的,对文件的权限是针对文件的,不能将两者混淆。
注意事项
文件: x 权限小心给予
目录: w 权限小心给予