首先看看Linux下的几种文件类型:
d
:目录directory
l
:符号链接link
s
:套接字socket
c
:字符设备char
p
:命名管道pipe
然后文件有三种访问方式:
读(r
ead):显示内容
写(w
rite):编辑内容,删除文件
执行(ex
ecute):执行文件
针对用户,文件有三类权限:
创建人(u
ser)权限:创建文件的人
组(g
roup)用户权限:和拥有者处于同一用户组的其他人
其他(o
ther)用户权限
现在来看看-rwxrwxr-x
是什么意思:
共有十个字符,分为四个部分:
第1个字符表示文件的类型:[-]表示普通文件
第234字符表示创建人的权限:[wxr]表示可读,可写,可执行
第567字符表示组用户权限:[wxr]表示可读,可写,可执行
第890字符表示其他用户权限:[r-x]表示可读,可执行
如何改变文件的权限呢?
chmod命令用于改变文件的权限,它有两种使用方法。
- 第一种:chomod [who] [operator] [permission] filename
[who]u
:创建人g
:组用户o
:其他用户a
:所有用户(all)
[operator]+
:增加权限-
:取消权限=
:设定权限
[permission]r
:读w
:写x
:执行
如何给一个文本文件xxx.sh增加可执行权限?chmod u+x xxx.sh
如何不让其他用户修改xxx.sh?chmod go-w xxx.sh
- 第二种方法:chmod [mode] filename
[mode]是一个3位八进制数:
第一位表示创建者权限
第二位表示组用户权限
第三位表示其他用户权限
更具体的:
400:创建者可读
200:创建者可写
100:创建者可执行
040:组用户可读
020:组用户可写
010:组用户可执行
004:其他用户可读
002:其他用户可写
001:其他用户可执行
3位对应位的对应数字加起来
,最终就是三类用户的最终权限。
如何回收非创建者用户对xxx.sh的所有权限?chmod 700 xxx.sh
第一位7:4+2+1,创建者,可读可写可执行
第二位0:组用户,无权限
第三位0:其他用户,无权限
xxx.sh只允许创建者修改,允许其他用户读取和执行,怎么设置?chmod 755 xxx.sh
第一位7:4+2+1,创建者,可读可写可执行
第二位5:4+1,组用户,可读可执行
第三位5:4+1,其他用户,可读可执行