文件权限
执行ll
命令可以看到相对应文件和文件夹的描述:
-rw-r--r--
表示这个文件的权限,数字
1
表示对应的硬链数量,
root
表示所属用户,第二个root
表示所属组,
0/4096
表示对应的文件大小,
8月 4 xx:xx
表示文件最后修改事件。1.txt
表示文件名。
-rw-r--r--
符号 | 描述 |
---|---|
-/d/l | 开头的-表示这是一个文件,开头的d表示这个是一个目录,l表示这是一个软件链接 |
rw- | 表示所有者对于这个文件的权限 |
r-- | 表示所属组对于这个文件的权限 |
r-- | 表示其他人对于这个文件的权限 |
r
表示该文件有读权限read
w
表示该文件有写权限write
x
表示该文件有可执行权限execute
基本权限的修改
chmod [选项] 模式 文件名
比如
-
chmod 000 1.txt
表示修改1.txt
的权限为不可读不可写不可执行。0
表示无权限。7
代表权限。 -
chmod u w 1.txt
表示修改1.txt
的权限,u
表示所属用户,w
表示可写权限。u w
表示为当前文件的所属用户增加可写权限。 -
chmod g r 1.txt
表示修改1.txt
的权限,g
表示所属用户组,r
表示可读权限,g r
表示为当前文件的所属组增加可读权限。 -
chmod o x 1.txt
表示修改1.txt
的权限,o
表示其他用户,x
表示存在可执行权限,o x
表示为当前文件的其他用户增加可以执行的权限。 - 选项
-R
表示递归。
- 模式
[ugoa][ -=][rwx]
使用数字可以批量指定所有者/所属组/其他用户的权限。
- 权限数字
- 4表示
r
可读 - 2表示
w
可写 - 1表示
x
可执行 - 0表示无任何权限
数字可以相加代表含义,比如
chmod 750 1.txt
表示修改了1.txt
这个文件,所属当前用户权限为4 2 1
存在所有权限,为当前组所属增加1 4
可读可执行的权限,设置1.txt
其他用户权限为0
(无任何权限)
权限的作用
- 对文件来说最高权限是
x
,可执行。 - 对目录来讲最高权限是
w
,只有读权限没有意义,对目录有了写权限,里边可以做任何事情。
文件权限
权限 | 含义 | 示例(可进行的命令) |
---|---|---|
r | 读取文件内容 | cat more head tail |
w | 编辑、新增、修改文件内容,不能删除文件,除非对目录有写权限 | vi echo |
x | 表示文件可执行 |
linux
下用./[文件]
可以将文件进行执行。或者使用sh [文件名]
,表示将文件当作执行脚本进行执行(和./
是相同的作用)。只要存在权限都可以执行该文件。需要注意的是
./hello
是需要文件的x
权限的,而sh hello
是不需要可执行权限的。
目录权限
权限 | 含义 | 示例 |
---|---|---|
r | 可以查看目录下的文件名 | ls |
w | 具有修改目录结构的权限,比如新建,删除和重命名此目录下的文件和目录 | touch rm mv cp |
x | 表示可以进入目录 | cd |
其他权限命令
chown
修改文件拥有者,从而让该用户拥有该文件的所有权限,
7
权限。
chown [用户名] [文件名]
表示修改文件为该用户所属。- 如果想让一个用户拥有
7
权限,可以把这个文件所有者改成这个用户名。
chown 755 folder
chown wang.haoyu folder 修改folder为用户wang.haoyu所属。
复制代码
chgrp [组名] [文件名]
修改文件为该组下所属,
修改文件所属组权限。
默认权限
umask
-
umask
命令表示查看默认权限。 -
0022
-- 默认权限为0022
- 第一位
0
文件特殊权限 022
文件默认权限
- 第一位
文件权限
- 默认权限就是文件一创建后就具有的权限。
- 文件默认不能建立可执行文件,必须手动赋予可执行文件。
- 文件默认权限最大为
666
- 默认权限需要换算成字母在相减
- 简历文件以后的默认权限,为
666
减去umask
的值。
比如上图的
umask
是0022
,表示当我创建文件的时候默认权限为666-002
也就是664
,文件所属者具有读写权限,文件所属组具有读写权限,其他用户仅有读权限。
目录权限
- 目录默认权限为大为
777
- 简历目录之后的默认权限,为
777
减去umask
值