注:修改文件权限等操作需要一定系统权限,本文的命令默认是在root用户下进行的,如有必要,请在命令前加入sudo 来提升权限。
对于一个文件或者文件夹来说,与其相关的用户组分为三类:
文件权限等级有三种,分别为读、写、执行。有两种表示方法:
这个很好理解,表示形式就是对应英文单词的首字母。假设有文件test.txt,user有这个文件的读、写、执行权限,group有读、写权限,other有执行权限,那么它的文件权限就可以用这种方式表示为:rwxrw- - -x。这串字符分为三部分,分别表示了user、group、other这三类用户的权限情况:
那么问题来了,表示每个权限的数字为什么是”4“、 ”2“、 ”1“,而不是其他数字呢?其实用二进制来解释就很好理解了。在二进制中只有“0”和“1”两种取值,相对应到文件权限上,有权限是“1”,无权限是“0”。假设用户同时具备读、写、执行三种权限,那么按照读、写、执行的顺序排列,可得到一个二进制数“111”,将这个二进制数转换成十进制数就变成了“421”,所以就可以得到每种文件权限对应的十进制数字了,即:读(4)、写(2)、执行(1)。 以上是数字表示单个权限的情况,当数字来表示组合权限时稍显麻烦,但也并不算复杂。举个栗子说明权限表示的规则:还是文件test.txt,三类用户的权限不同,user有这个文件的读(4)、写(2)、执行(1)权限,group有读(4)、执行(1)权限,other只有这个文件的执行(1)权限,用数字来表示就是:“751”。即每位数字是该用户所拥有权限的和,看下图:
综上所述,这两种方法用一个表格总结下来就是这样:
读(read) | 写(write) | 执行(execute) | |
---|---|---|---|
字母 | r | w | x |
十进制数字 | 4 | 2 | 1 |
# 查看文件权限,
ls -l [文件名]
# 查看文件夹权限
ls -ld [文件夹名]
比如查看当前目录下的test.txt这个文本文件的权限信息:
ls -l test.txt
结果如下,图中红框部分就是文件权限信息:
查看当前目录下的test文件夹的权限信息:
ls -ld test
执行结果:
最前面的“d”表示文档类型,即文件夹,其他的还有:
后面对应的每一位上,有权限就用权限对应字母表示,若没有权限则用”-“来占位。
查看文件权限时,若省略后面的文件名参数,命令结果就会显示当前目录下的所有文件及文件夹的权限等信息。 查看文件夹权限时,省略文件名参数,命令的执行结果会变成显示当前所在的文件夹的权限信息。
基本介绍完了,接下来就是如何修改文件权限。
修改文件的权限用chmod命令,对于一个文件来说,文件权限的表示方法有字母和数字两种,所以修改权限时就可以有两种方法。
举几个例子来说明,假设有一个文件“test”:
# 增加group用户的可执行权限
chmod g+x test
“+”表示在原来的基础上增加权限
# 删除other用户的可写权限
chmod o-w test
“-”表示在原来的基础上删除权限
# 给user用户给test文件的可写、可读、可执行权限
chmod u=rwx test
“=”可以给用户直接赋予多个权限
# 假设有文件test,给全部用户增加这个文件的可写权限
chmod a+w test
a在这里表示全部用户(user+group+other)
综上来说,这种方式下命令可以简单概括为:
chmod [用户]+/-/=[权限] [文件/文件名]
[用户]有u(user)、g(group)、o(other)和a(user+group+other)
[权限]有r(read)、w(write)、x(execute)
继续举例子说明:
# 修改文件“test1”的权限为user读、写、执行,group可读,other可执行
chmod 741 test1
# 修改文件夹“test2”的权限为user、group、other均可读写可执行
chmod -R 777 test2
“-R”参数表示对该文件夹下所有的文件及文件夹都执行修改权限操作,即递归执行,一般适用于文件夹操作。
所以这个方式简单概括就是这样的命令形式:
chmod [参数选项] [权限] [文件/文件夹]
这里要强调的是,在正式使用的服务器上,请不要给任何一个文件赋予777权限,即任何用户均可读写可执行的权限,会存在较大的安全隐患。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有