权限
初步认识
当我们使用ls -l
命令的时候,终端的输出如下
-rw-r--r--. 1 root root 30 2月 28 20:58 accountadd.txt
其中-rw-r--r--
就代表了文件的权限信息
-rw-r--r--
开头的-
代表文件类型为普通文件
往后每三个为一组:
- 第一组代表文件拥有者对该文件的权限,
- 第二组代表文件所属用户组对该文件的权限,
- 第三组代表其他非拥有者与用户组者对该文件的权限。
所以说文件权限是主要面向以上三类人的
重要性
-
系统保护的功能
保证一些关键文件只有root用户有修改权限,防止普通用户胡乱修改
-
团队开发软件或数据共享的功能
就是多人协作的时候,希望每个人都可以使用某一些目录下的文件,而其他人不开放。 比如 testgroup 团队有三个人 t1、t2、t3 ,那么就可以将团队所需的文件权限设置为
-rwxrws---
该组内的都可读写与执行 -
未将权限设置妥当的危害
很简单,比如只有 root 才能做的开关机,新增、或删除用户等等的指令,那么随意人都可以用的话, 就乱套了
如何改变文件属性与权限
主要有三个命令
- chgrp:改变文件所属群组
- chown:改变文件拥有者
- chmod:改变文件的权限、SUID、SGID、SBIT 等等的特性
chgrp改变所属群组
[root@localhost demo3]# ll
总用量 8
-rw-r--r--. 1 root root 30 2月 28 20:58 accountadd.txt
-rw-r--r--. 1 root root 89 2月 28 21:03 creat_user.sh
[root@localhost demo3]# chgrp test accountadd.txt
[root@localhost demo3]# ll
总用量 8
#这里已经修改完成
-rw-r--r--. 1 root test 30 2月 28 20:58 accountadd.txt
-rw-r--r--. 1 root root 89 2月 28 21:03 creat_user.sh
chown改变文件拥有者
chown [-R] 账户名称 文件或目录
chown [-R] 账户名称:组名 文件或目录
[root@localhost demo3]# chown wh accountadd.txt
[root@localhost demo3]# ll
总用量 8
-rw-r--r--. 1 wh test 30 2月 28 20:58 accountadd.txt
-rw-r--r--. 1 root root 89 2月 28 21:03 creat_user.sh
#同时修改用户和组
[root@localhost demo3]# chown wh:root accountadd.txt
[root@localhost demo3]# ll
总用量 8
-rw-r--r--. 1 wh root 30 2月 28 20:58 accountadd.txt
-rw-r--r--. 1 root root 89 2月 28 21:03 creat_user.sh
改变权限chmod
chmod指令改变权限有两种形式,一种是用数字,一种使用符号
chmod [-R] xyz 文件或目录
xyz:就是刚刚的数值类型的权限范围,为 rwz 属性数值的相加
-R:递归
数字和权限的对应关系为
- r = 4
- w = 2
- x = 1
常用的权限数值为
-rw-rw-r--
664 :一般文件,可读可写无执行-rwxr-x-r-x
755:shell 脚本文件,拥有者可读写执行,其他的都只能可读可执行,不可编辑-rwxr------
740:不希望该文件被其他人看到(能看到文件,但是不能读取里面的内容)
修改示例就是 chmod 740 text.txt