In the learning process ofLinux
, file permissions are very important concept, after all, various operations inLinux
are inseparable from the support of permissions.
This blog is a simple summary ofLinux
file permissions learning.
Linux
’s file permissions are the same asUsers and User GroupsA closely related concept, for a file, users can be divided into three categories:
owner of the file-user
Other members ofuser groupwhere the owner of the file belongs -group
exceptOwnerandUser groupOther users other than members -others
File permissions are relative to these three types of users In other words, users with different identities can have different permissions.
Use the commandls -l
to get detailed information about the file, such as:
drwxr-xr-x 5 root root 4096 Sep 7 19:52 dotemacs drwxr-xr-x 6 root root 4096 Sep 3 22:34 dotfiles drwxr-xr-x 9 root root 4096 Sep 11 10:19 emacs-kit
We can divide each piece of information into8
parts. For example, the first piece of information above can be divided into:
Permission information | Number of links | Owner | User group | File capacity | Modification date | File name | |
---|---|---|---|---|---|---|---|
d
|
rwxr-xr-x
| ##5
| root
| root
##4096 |
##Sep 7 19:52 |
dotemacs |
| Here we mainly understand the
. If you are interested in other parts, you can do it by yourselfGoogle.
types,ls -l
The first characterin each message output by
ls -lis used to indicate the file type.
Each file type and its characters are represented as:
通过用户与用户组概念可以了解到权限是相对于三类用户而言的,因此ls -l
显示的权限信息也分为三组。
每个文件的权限信息由9
个字符组成,分为三组,分别对应拥有者,用户组,其他人拥有的权限。
对于权限信息rwxr-xr-x
来说,拥有者的权限为rwx
,用户组和其他人的权限为r-x
.
每组权限分为:读权限,写权限和执行权限, 分别由字符r
,w
,x
表示。如果不具有相应的权限,就使用字符-
表示。
因此,权限信息rwxr-xr-x
可以理解为:拥有者具有读,写和执行权限,而用户组和其他人就只有读和执行的权限。
命令chown
和chgrp
可以用于修改文件拥有者和所属用户组,使用方式也很简单:
# 修改文件拥有者 $ chown [-R] 账号名称 文件或目录 $ chown [-R] 账号名称:组名 文件或目录 # 修改文件所属用户组 $ chgrp [-R] 用户组名称 文件或目录
参数-R
进行递归的持续变更,即连同次目录下的所有文件都变更。
命令chmod
用于修改文件的权限,并提供了两种修改文件权限的方式。
我们可以用数字来代表各个权限,各个权限对应的数字为:
r:4 w:2 x:1
每种身份各自的三个权限分数是需要累加的,例如当权限为rwxrwx---
时,对应的分数为:
user = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others = --- = 0+0+0 = 0
得到的文件权限数字也就为770
, 修改权限时就可以使用这个数字完成:
$ chmod [-R] 770 文件或目录
很明显,这样修改文件权限是很麻烦的,因此chmod
提供了另一种更好用的方式来修改文件权限。
符号类型改变文件权限需要遵循一定的语法规则,分别需要了解的有身份表示符,操作表示符和权限表示符.
身份表示符:
|
- |
|
l |
|
b |
|
#c |
|
表示符 | 代表的身份 |
---|---|
u |
文件的拥有者 |
g |
文件的拥有者所在用户组 |
o |
其他人 |
a |
所有用户 |
操作表示符:
表示符 | 代表的操作 |
---|---|
+ |
添加权限 |
- |
去除权限 |
= |
设定权限 |
权限表示符就是r
,w
和x
.
从表示符的组成大概也可以猜到怎样修改文件权限了,比如说下面的这条指令让拥有者具有所有权限,而为用户组和其他人添加执行权限:
chmod u=rwx,go+x .vimrc
需要注意的是:u=rwx,go+x
之间没有空格。
同一个权限对于文件和目录来说,含义是不一样的,这里来了解一下。
权限 | 文件 | 目录 |
---|---|---|
r |
可以读取文件内容 | 可以读取目录结构列表 |
w |
可以编辑修改文件内容 | 可以改动目录结构列表 |
x |
可以被系统执行 | 用户可以进入目录 (cd ) |
这里需要注意的一个权限是:可以改动目录结构列表, 这意味着可以:
建立新的文件与目录
删除已经存在的文件与目录
将已存在的文件或目录进行更名
搬移该目录内的文件、目录位置
所以w
这个权限还是慎重使用好了。
更多Linux文章,请访问Linux教程栏目进行学习!
The above is the detailed content of Linux file permissions. For more information, please follow other related articles on the PHP Chinese website!