文件权限管理
# 权限基本介绍
不同的用户有不同的权限,Linux系统对不同的用户访问同一个文件的权限有不同的规定
执行命令 ls -l 显示内容如下
-rw-r--r-- 1 root root 0 Mar 4 21:52 a.txt
1
0-9位说明
- 第 0 位确定文件类型(d,-,l,c,b)
- d 表示目录文件
-
代表文件- l 链接文档 link file
- 第 1-3 位确定所有者User(该文件的所有者)拥有该文件的权限
- 第 4-6 位确定所属组Group(同用户组)拥有该文件的权限
- 第 7-9 位确定其他用户 Other 拥有该文件的权限
# rwx 权限详解
# rwx 作用到文件
- r ,read 读权限
- w,write 写权限,可以修改但是不代表可以删除文件,删除一个文件的前提是对该文件所在目录有写权限
- x,execute 代表可以执行:可以被系统执行
-
表示没有权限
# rwx 作用到目录
- r ,read 读权限,ls查看目录内容
- w,write 写权限,可以修改,目录内创建,删除,重命名目录
- x,execute 代表可以执行:可以进入该目录
-
表示没有权限
# 权限示例
使用ls -l命令得到如下
-rwxrw-r-- 1 root root 0 Mar 4 21:52 a.txt
1
- 第一组 rwx:文件拥有者的权限是读,写,执行
- 第二组 rw-:与文件拥有者同一组的用户的权限是读,写但不能执行
- 第三组 r--:不与文件拥有者同组的其他用户的权限是读,但是不能写和执行
- 1:文件:硬链接数,或 目录:子目录数
- 创建硬链接方法
ln[源文件][目标文件]
- 创建硬链接方法
- root:用户
- root:组
- 0:文件大小(字节),如果是文件夹显示4096字节
- Mar 4 21:52:最后修改的日期
- a.txt:文件名
# 用数字表示
- r=4,w=2,x=1
- rwx=4+2+1=7
# chmod 改变权限
# 方式1:+
-
=
变更权限
- u 所拥有者
- g 所拥有的组
- o 其他人
- a 所拥有的人(u,g,o的总和)
基本指令
- chmod [{ugoa}{+-=}{rwx}] [文件或目录]
+
表示增加一个权限-
表示删除一个权限=
表示等于一个权限
应用实例
- 给abc文件的
所有者读写执行的权限
,给所在组读执行权限
,给其他组读执行权限
- chmod u=rwx,g=rx,o=rx abc
- 给abc文件的
所有者去除执行权限
,增加组的写权限
- chmod u-x,g+w abc
- 给abc文件的
所有用户添加读的权限
- chmod a+r abc
# 方式2:通过数字变更权限
规则
- r=4,w=2,x=1
- rwx=4+2+1=7
应用实例
- chmod u=rwx,g=rx,o=x [文件或者目录名],等价于 chmod 751 [文件名或者目录名]
- 将abc文件的权限修改为
rwxr-xr-x
- chmod 755 abc
注意:如果要对文件夹里面的所有文件的属性与当前目录权限保持一致,可以使用-R
- chmod -R 777 test02/
# chown 修改文件所有者
改变文件或者目录的所有者
指令
chown [选项] [用户名] [目录或者文件]
chown newowner file
- 改变文件的所有者
chown newowner:newgroup file
- 改变用户的所有者和所有组
选项
- -R :如果是目录,则使得其下所有子文件或者目录递归生效
- chown -R tom text/
应用实例
- 使用root创建一个文件apple.txt,修改所有者为tom
- chown tom apple.txt
[root@hadoop100 test03]# ll
总用量 4
drwxr-xr-x. 3 root root 4096 3月 11 22:21 test02
[root@hadoop100 test03]# chown ttshe test02/
[root@hadoop100 test03]# ll
总用量 4
drwxr-xr-x. 3 ttshe root 4096 3月 11 22:21 test02
[root@hadoop100 test03]# chown root:ttshe test02/
[root@hadoop100 test03]# ll
总用量 4
drwxr-xr-x. 3 root ttshe 4096 3月 11 22:21 test02
# 使用分号用于区分最终用户和最终组
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# chgrp 修改文件所在组
指令
- chgrp [选项] 组名 文件名
- chgrp newgroup file
选项
- -R :如果是目录,则使得其下所有子文件或者目录递归生效
- chgrp -R tom text/
应用实例
- 使用root用户创建文件 test1.txt,查看该文件属于哪个组,修改为police组
- chgrp police test1.txt
Last Updated: 2022/03/20, 10:04:55