九.文件的权限
9.1 文件的属性
- rw-r--r--. 1 alex gp001 60 3月 17 10:59 abc
文件的类型 9个权限位 属主用户名 属组的名字 文件大小 文件的创建/编辑时间 文件名
文件类型:
-:表示是文本文件
d:表示是目录
文件大小:
默认显示的文件大小单位是 字节
如果想显示单位,可以用 ls -lh 查看
9个权限位
9个权限位,是分为了三组
- 前三位:是属主用户具有的权限
- 中间三位:是属组用户具有的权限
- 最后三位:是其他用户具有的权限
表示权限的时候,顺序是
- 读 写 执行
- 如果有权限就显示字母,如果没有权限就显示 -
案例:
假设jerry属于gp002组,tom不属于gp002这个组
文件的属性如下
drwxr-x-wx jack gp002 dir1
问题:看到的信息
- 文件类型是:目录
- 属主:jack
- 属组:gp002
- jack具有的权限:读 写 执行
- jerry具有的权限:读 执行
- tom具有的权限:写 执行
9.2 权限的类别
- 读权限
- 写权限
- 执行权限
- 无权限
字母表示权限
- r 表示读权限
- w 表示写权限
- x 表示执行权限
- - 表示无权限
控制权限的方法:
+ 在原有权限的基础上进行添加,添加权限。
- 在原有权限的基础上进行删减,去除权限。
= 直接设置最终权限
权限的对象的
u:文件的属主用户:文件的主人、文件属于谁g:文件的属组用户:文件属于那个组的用户o:文件的其他用户:隔壁老王a:表示以上三种所有用户
示例:
u-x 给属主用户去除掉执行权限
a+r 给所有用户添加上读权限
o=rw 将其他用户的权限设置为读和写
g+rx 给属组用户设置上读和执行权限
u-wx 给属主用户去除掉写和执行权限
g=rwx 将属组用户的权限设置为可读可写可执行
a= 将所有用户的权限都去去掉
修改权限的命令:
chmod 权限内容 文件名
案例:修改a.txt的权限,将属主的权限设置为可读可写可执行,属组的权限设置为可读可执行,其他用户的权限设置为可读
方法1:
chmod u=rwx a.txt
chmod g=rx a.txt
chmod o=r a.txt
方法2:
chmod u=rwx,g=rx,o=r a.txt
方法3:
chmod 754 a.txt
权限的二进制表示方式
r w x
2^2 2^1 2^0
4 2 1
r 数值表示 4w 数值表示 2x 数值表示 1
各种权限的表示
rwx 数值是表示是 7
rw- 数值是表示是 6
r-x 数值是表示是 5
r-- 数值是表示是 4
-wx 数值是表示是 3
-w- 数值是表示是 2
--x 数值是表示是 1
--- 数值是表示是 0
案例:
777 权限表示 rwxrwxrwx
751 权限表示 rwxr-x--x
000 权限表示 ---------
111 权限表示 --x--x--x
222 权限表示 -w--w--w-
9.3 两个命令
chmod命令
作用:修改文件的权限
格式:chmod 【选项】 权限 文件名
选项:-R 作用是用于设置目录及其目录下子文件的权限
案例:将目录dir1及其里面包含的文件的权限都修改为760
chmod -R 760 dir1
chown命令
作用:修改文件的属主和文件的属主和属组
格式:
chown [选项] 属主 文件名 仅仅修改文件的属主 chown [选项] 属主:属组 文件名 修改文件的属主和属组 chown [选项] 属组 文件名 仅仅修改文件的属组
选项:
-R 用于修改目录及其目录中的子文件的属主和属组
案例:将1.txt的属主修改为jack,属组修改为gp007
chown jack:gp007 1.txt