一、文件和目录权限分类
文件基本权限 分为:
只读权限 r
读写权限 w
可执行权限 x
文件归属 分为:
本用户(user)
同组用户(group)
其他用户(other)
文件类型 分为
普通文件 -
目录文件 d
连接文件 l
块设备文件 b
字符设备文件 c
管道文件 p
位置含义:
第一列: 文件类型
第一个三元组:文件拥有者的权限(u)
第二个三元组:文件拥有者组的权限(g)
第三个三元组:所有其他用户的权限(o)
二、修改权限
用 chmod 命令,只有 文件的拥有者 或 root 才有权修改文件或目录的访问权限。
命令格式:
chmod [-选项] <权限值组合> <文件或目录名>
选项:
-R 递归,包含其下所有目录、子目录及文件
-v 修改权限时显示详细信息
权限值组合:
可以使用数字,也可以使用字符方法
1 用字符方式修改权限:
u 代表拥有者 = user
g 代表用户组 = group
o 代表其他用户 = others
a 代表所有人 = all
赋权限的符号 +/-/=
举例:
# chmod u+w file2
给 file2 文件的拥有者可写的权限
2 rwx也可以用数字来代替
数字 4 表示可读权限(r),数字 2 表示可写权限(w),数字 1 表示可执行权限(x)
r ————4
w ———–2
x ————1
- ————0
rwx 属性则 4+2+1=7
rw- 属性则 4+2=6
r-x 属性则 4+1=5
举例:
#chmod 400 file1
指定只有 file1 文件的拥有者对 file1 有读的权限,file1 文件的拥有者组和其他用户对 file1 没有任何权限
#chmod -R 644 dir/
将 dir 目录下的所有文件权限设置为 644
三、linux中的文件、目录权限区别:
文件 目录
r:可读权限 读取文件内容 读包含在目录中的文件名称
w:可写权限 对文件内容进行编辑 可以写信息到目录中,即可以创建、删除文件、移动文件等操作
x:可执行权限 作为执行文件执行 可以进入目录;可以搜索(能用该目录名称作为路径名去访问它所包含的文件和子目录)
举例:
- 对文件有 w 权限不能删除文件,需要对文件所在的目录有 w 权限;
- 对目录有 w 权限不能 cd 进入目录,需要对目录有 x 权限;
- 对目录有 x 权限,只有在知道文件名并且有r权限的时候才能访问目录下的文件;
- 对目录必须有 x 权限才能 cd 进入到目录,必须有 rx 权限才能使用 ls 列出目录清单;
- 对目录有 w 权限,可以对目录中的任何文件或子目录进行创建、删除或修改操作,即使该文件或目录的所有者是其它用户也是如此;
四、总结:
对于普通目录,最小权限为755,普通用户不给写权限
对于普通文件,最小权限为644,普通用户不给执行权限
总而言之,言而总之就是:
目录不要给写权限,文件不要给执行权限(除非特殊情况,如目录要上传)