🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁
🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥
🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁
感谢点赞和关注 ,每天进步一点点!加油!
目录
🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁
一、权限的基本介绍
1.1 Linux文件属性
1.2 Linux组介绍
1.3 rwx权限
1.3.1 rwx作用到文件
1.3.2 rwx作用到目录
1.4 文件及目录权限实际案例
二、修改权限-chmod[change ...]
2.1 第一种方式:+ 、-、= 变更权限
2.2 第二种方式:通过数字变更权限
三、修改文件所有者-chown
四、修改文件所在组-chgrp
一、权限的基本介绍
1.1 Linux文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。
执行"ll"命令显示的内容如下:
[root@devops test]# ll
total 4
-rw-r--r-- 1 root root 7 Apr 25 19:12 file.txt
[root@devops test]#
说明
(1)第0位确定文件类型 ,说明:
- -: 普通文件
- d: 目录
- l: 连接文件
- c: 字符设备文件[键盘,鼠标]
- b: 块设备文件[硬盘] ) 。
(2) 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。 R: 读 , w : 写权限 ,x: 执行权限 (-表示没有)。
(3) 第4-6位确定所属组(同用户组的)拥有该文件的权限 。
(4) 第7-9位确定其他用户拥有该文件的权限 。
(5) 1: 如果是文件,表示硬链接的数目, 如果是目录,则表示有多少个子目录 。
(6) root : 文件或者目录所有者。
(7) root : 文件或者目录所在的组。
(8) 7 : 表示文件大小,如果是目录,则统一为 4096 。
(9) Feb 25 09:39 文件最后修改的时间。
1.2 Linux组介绍
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件 有所有者、所在组、其它组的概念。
1.3 rwx权限
1.3.1 rwx作用到文件
- [ r ]代表可读(read):可以读取,查看
- [ w ]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
- [ x ]代表可执行(execute):可以被执行
1.3.2 rwx作用到目录
- [ r ]代表可读(read): 可以读取,ls查看目录内容
- [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
- [ x ]代表可执行(execute): 可以进入该目录
1.4 文件及目录权限实际案例
执行"ls -l "中显示的内容如下:
-rw-r--r-- 1 root root 29 Sep 29 13:02 abc.txt
说明:
- 第一个字符代表文件类型: 文件 (-),目录(d),链接(l) ,如上是文件
- 第一组rw- : 文件拥有者的权限是读、写,但不能执行
- 第二组r-- : 与文件所在组的用户的权限是读, 但不能写和执行
- 第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行
可用数字表示为: r=4,w=2,x=1 因此rw =4+2=6
- 1 文件:硬连接数或 目录:子目录数(有两个隐藏目录 .(代表当前目录) ..(代码上级目录),所以你数的个数会少两个 )
- root : 用户
- root : 组
- 29: 文件大小(字节 多一个结束符),如果是文件夹,显示 4096字节 (并不是代表目录下面所有文件的大小,它代表的是目录本身所占空间的大小(目录是一种特殊的文件))
- Sep 29 13:02 最后修改日期
- abc.txt : 文件名
二、修改权限-chmod[change ...]
文件类型 | 属主权限 | 属组权限 | 其他用户权限 |
0 | 1 2 3 | 4 5 6 | 7 8 9 |
d | R w x | R - x | R - x |
目录文件 | 读 写 执行 | 读 写 执行 | 读 写 执行 |
基本说明:
通过chmod指令,可以修改文件或者目录的权限。
2.1 第一种方式:+ 、-、= 变更权限
u:所有者(user) g:所有组(group) o:其他人(other) a:所有人(u、g、o的总和)(all) 1) chmod u=rwx,g=rx,o=x 文件、目录 【表示:给所有者rwx, 给所在组的用户 rx, 给其他人 x】
2) chmod o+w 文件、目录 【表示:给其它用户增加w 的权限】
3) chmod a-x 文件、目录 【表示:给所有用户 去掉 x权限】
案例演示一
说明:给abc.txt文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
[root@hdp105 test]# ll
total 4
-rw-r--r-- 1 root root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]# chmod u=rwx,g=rx,o=rx abc.txt
[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt
案例演示二
说明:给abc..txt文件的所有者除去执行的权限,增加组写的权限
[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]# chmod u-x,g+w abc.txt
[root@hdp105 test]# ll
total 4
-rw-rwxr-x 1 root root 29 Sep 29 13:21 abc.txt
2.2 第二种方式:通过数字变更权限
文件类型 | 属主权限 | 属组权限 | 其他用户权限 |
0 | 1 2 3 | 4 5 6 | 7 8 9 |
d | R w x | R - x | R - x |
目录文件 | 读 写 执行 | 读 写 执行 | 读 写 执行 |
- r=4 w=2 x=1
- rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件、目录
相当于 chmod 751 文件、目录 ( 7(rwx)5(rx)1(x) )
案例演示
要求:将 abc.txt 文件的权限修改成 rwxr-xr-x。
rwx = 4+2+1 = 7
r+x = 4+1 = 5
r+x = 4+1 = 5
使用给数字的方式实现:
chmod 755 abc.txt
三、修改文件所有者-chown
基本介绍
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组 -R 如果是目录 则使其下所有子文件或目录递归生效
案例演示一
说明:请将 abc.txt 文件的所有者修改成 kangll
[root@hdp105 test]# useradd kangll
[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]# chown kangll abc.txt
[root@hdp105 test]# ll
total 4
-rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
[root@hdp105 test]#
案例演示二
要求: 将 /hadoop/kangll/test 目录下所有的文件和目录的所有者都修改成kangll
[root@hdp105 test]# ll /hadoop/kangll/test
total 8
-rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
-rw-r--r-- 1 root root 29 Sep 29 15:10 bbb.txt
[root@hdp105 test]#
[root@hdp105 test]# chown -R kangll /hadoop/kangll/test
[root@hdp105 test]#
[root@hdp105 test]#
[root@hdp105 test]# ll
total 8
-rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
-rw-r--r-- 1 kangll root 29 Sep 29 15:10 bbb.txt
案例演示三
要求: 将test下的所有文件和目录的所有者都改成 kangll,将所在组改成hadoop
四、修改文件所在组-chgrp
基本介绍
chgrp newgroup file 改变文件的所有组
案例演示:
要求:将 abc .txt 文件的所在组修改成 hdfs
[root@hdp105 test]#
[root@hdp105 test]# chown -R kangll:hdfs /hadoop/kangll/test
[root@hdp105 test]#
[root@hdp105 test]# ll
total 8
-rwxr-xr-x 1 kangll hdfs 29 Sep 29 13:21 abc.txt
-rw-r--r-- 1 kangll hdfs 29 Sep 29 15:10 bbb.txt