用户与用户组
我们可以用ls -al
来查看当前目录文件的权限,-al表示列出所有权限。
drwxr-xr-x 11 yupen staff 352 6 6 23:24 fsp-114507
-rw-r--r--@ 1 yupen staff 76769 8 28 15:47 future使用流程图.png
第一列表示这个文件的类型和权限。第一个字符代表这个文件是目录、文件或者链接文件等,如果是则是目录,如果是-则是文件。
接下来的字符中,以三个为一组,且均为rwx的三个参数的组合,r代表可读,w代表可写,x代表可执行(execute)。第一组为文件所有者的权限,第二组为同用户组的权限,第三组为其他非本用户组的权限。
对于上面的第一个文件,拆解权限为
d rwx r-x r-x
1 234 567 890
第二列表示有多少文件名链接到此节点(i-node)
第三列表示这个文件(或目录)的所有者账号
第四列表示这个文件的所属用户组,因为是公司电脑为staff。
第五列为这个文件的容量大小,默认单位为B
第六列为文件的创建日期或者修改日期
第七列为文件名
第一列是整个linux文件权限的重点之一。
改变文件属性和权限
有这几个常用的命令
chgrp
改变文件所属用户组chown
改变文件所有者chmod
改变文件的权限
chgrp这个命令是change group的简称,不过要被改变的组名必须要在/etc/group
文件夹存在才可以。
chgrp -R users fsp-114507
-R
表示进行递归(recursive)的持续更改,连同子目录下的所有文件、目录。
chown
修改的用户必须是/etc/passwd
这个文件中有记录的用户名称才能更改。
那么什么场景会使用这几个命令呢?比如当我们使用cp命令的时候
cp 源文件 目标文件
由于cp会复制执行者的属性与权限,被复制之后可能还是不能操作,这时候就需要修改文件的所有者与用户组。
当使用chmod命令时,linux会使用数字来表示每种身份[owner, group, others]的权限,采用的是(r, w, x)的数字累加,其中
- r: 4
- w: 2
- x: 1
如果要把 future使用流程图.png 这个文件的所有权限都启用,那么就执行
chmod 777 future使用流程图.png
linux文件种类与扩展名
基本上linux的文件没有所谓的扩展名,一个linux文件能不能被执行,与它的第一列的10个属性有关,与文件名没有关系。