Ⅰ 了解Linux下的文件权限
如上图所示,ll命令详细展示当前目录下的文件或者子目录信息
红框标注的即为此文件或者目录的权限
【第一行文件10.c的权限以-开头,用来说明这是一个文件;第四行code目录的权限以字母d开头,用来标注code是目录】
关于文件权限,我们要先了解有那些用户可以操作文件。可以操作文件或目录的,可以理解为3类:文件或目录的所属者、所属组、以及不同于前两者的其他用户
根据上述,文件或目录的权限也相应的分为3部分
如上图标注中的第一行:-rw-r--r--
首先来解释rwx3个字母所代表的意义:r 代表可读、可访问;w 代表可写、可修改;x 代表可执行
①第一部分rw-属于文件的所属者,代表所属者可以访问并修改,但不能执行
②第二部分r--属于文件的所属组,代表这个用户组可以访问,但不能修改和执行
③第三部分r--属于其他用户,代表其他用户仅可以访问此文件或目录,但不能进行修改和执行操作
④没有权限的用-来表示
Ⅱ 修改文件或目录的权限
经过以上描述,应该对Linux的文件权限有个基本的认识或了解。接下来就来了解根据不同场景需求来更改文件或目录的权限
一个文件的权限可以用-rw-r--r--来表示,也可以用数字644来表示。它们之间的转化可以这么表示:r用数字4表示,w用2表示,x用1表示
那么-rw-r--r--的rw-就可以表示为6,r--就是4,连起来就是644
修改文件的权限我们可以使用命令chmod,如我们想让文件的所有者对文件有执行权限,可以用两种方式来实现
①chmod u+x 10.c 执行命令之后得到的权限为rwxr--r--
此时,10.c的所有者已经有了执行权限
②chmod 744 10.c 用数字的方式来表示
上述两种方式都达到了同样的效果。
同理:chmod u-x 10.c 表示去除文件所有者的执行权限
chmod g+x 10.c 赋予文件所属组的执行权限
chmod o+x 10.c 赋予其他用户对文件的执行权限
当然,上述需求也都可以用 chmod [数字] [文件名]的方式来实现