文件权限类命令
文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全线,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定,在Linux中我们可以使用ll或者ls -l 命令来显示一个文件的属性以及文件所属的用户和组。
1)ll命令查看文件属性以及文件属性说明
- ①:10个字符:文件类型与权限
- ②:如果是文件,这个数字表示硬链接的个数,如果是目录,这个数字表示目录中文件夹的个数
- ③:文件属主(文件拥有者)
- ④:文件所属组
- ⑤:文件大小
- ⑥:文件创建或者最后修改时间
- ⑦:文件名称
2)从左到右的10个字符表示文件类型与权限
- 0位:表示文件类型,在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
- -:代表文件
- d:代表目录
- l:表示连接文件
- 第1-3位:文件所有者拥有的权限(User)
- 第4-6位:该文件所属组拥有的权限(Group)
- 第7-9位:其他用户对该文件拥有的权限(Other)
2)rwx作用文件和目录的不同解释
(1)作用到文件
- r:代表可读(read):可以读取、查看文件的内容
- w:代表可写(write):可以修改文件,但是不带表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
- x:带包可执行(execute):可以被系统执行
(2)作用到目录
- r:代表可读(read):可以读取,即可以通过ls查看目录内容
- w:代表可写(write):可以修改,即可以在目录内创建+删除+重命名目录内的文件
- x:代表可执行(execute):可以进入该目录,即可以通过cd进去
chmod:改变文件或目录权限
1)第一种方式变更权限
chmod [选项] 模式[,模式] 文件或目录
-
选项
- R:递归处理
-
模式:
{ugoa}{+-=}{rwx}
- u:所属者
- g:所属组
- o:其他人
- a:所有人(u、g、o的总和)
2)第二种方式变更权限
chmod [选项] [八进制模式] 文件或目录
- 选项
- R:递归处理
- 八进制模式
- r=4
- w=2
- x=1
- wx=2+1=3
- rx=4+1=5
- rw=4+2=6
- rwx=4+2+1=7
3)案例实操
(1)为1.sh文件的所属者添加执行权限
[root@Demo-Server ~]# mkdir 1.sh
[root@Demo-Server ~]# chmod u+x 1.sh
(2)为1.sh文件的所属组添加读取和执行权限
[root@Demo-Server ~]# chmod g+rx 1.sh
(3)修改1.sh文件权限:拥有者去掉执行权限,其他用户添加执行权限
[root@Demo-Server ~]# chmod u-x,o+x 1.sh
(4)设置1.sh用户权限,所有者有rwx权限,所属组以及其他用户有wx曲线
[root@Demo-Server ~]# chmod u=rwx,g=wx,o=wx 1.sh
[root@Demo-Server ~]# ll
总用量 8
drwx-wx-wx. 2 root root 6 10月 8 21:49 1.sh
(5)通过数字的方式设置权限,所有者、所属组、其他用户都具有可读可写可执行权限
[root@Demo-Server ~]# chmod 777 1.sh
[root@Demo-Server ~]# ll
总用量 8
drwxrwxrwx. 2 root root 6 10月 8 21:49 1.sh
(6)修改test文件夹及其内部所有文件的所有者、 所属组、 其他用户都具有可读可写可执行权限,需要用到-R参数,递归进行设置
[root@Demo-Server ~]# mkdir test
[root@Demo-Server ~]# ll
总用量 8
drwxrwxrwx. 2 root root 6 10月 8 21:49 1.sh
drwxr-xr-x. 2 root root 6 10月 8 21:55 test
[root@Demo-Server ~]# chmod -R 777 test/
[root@Demo-Server ~]# ll
总用量 8
drwxrwxrwx. 2 root root 6 10月 8 21:49 1.sh
drwxrwxrwx. 2 root root 6 10月 8 21:55 test
chown:改变所有者
1)基本语法
改变文件或者目录的所有者
chown [选项] [所有者][:组] [文件或目录]
2)选项说明
选项 | 说明 |
---|---|
-R | 递归操作 |
3)案例
案例 | 说明 |
---|---|
chown test 1.sh | 将1.sh的所有者改为test用户 |
chown :g1 1.sh | 将1.sh的所属组改为g1 |
chrown -R tom:g1 test | 递归将test目录及其所有子文件,所属者改为test用户,所属组改为g1 |
chgrp:改变文件或目录所属组
1)基本语法
改变文件或者目录的所属组
chgrp [选项] [最终用户组] [文件或目录]
2)选项说明
选项 | 说明 |
---|---|
-R | 递归操作 |
3)案例
案例 | 说明 |
---|---|
chgrp g1 1.sh | 将1.sh的所属组改为g1 |
chgrp -R g1 test | 递归将test目录及其所有子文件,所属组改为g1 |